0% found this document useful (0 votes)
20 views

Git and GItHub

Uploaded by

senaaus000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Git and GItHub

Uploaded by

senaaus000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

DEPARTMENT OF ARTIFICIAL

INTELLIGENCE AND MACHINE


LEARNING

Course: DevOps and MLOps Course code: AIL74


Credits: 0:1:2 Term: Oct 2024 - Feb 2025
Semester: VII Section: A

GIT AND GITHUB

Submitted by
Student Name: Sachin R Totad

USN: 1MS21AI051

M S RAMAIAH INSTITUTE OF TECHNOLOGY


(Autonomous Institute, Affiliated To VTU)
Bengaluru – 560054
OCT 2024
Version Control System (Git and Github) Papers
Summary

"Current Concepts in Version Control Systems" by Petr Baudiš


(2009)
In this insightful paper, Baudiš explains the fundamentals of version con-
trol systems (VCS) with a focus on different types like centralized (CVCS) and
distributed systems (DVCS), essential for software development today. The tra-
ditional centralized model, as Baudiš describes, relies heavily on a single central
server, creating issues in collaborative projects, especially with limited offline
capabilities. Distributed VCS, such as Git and Mercurial, have emerged as a so-
lution, where every user has a complete local copy of the repository. This way,
even without an internet connection, developers can work independently, making
this model popular in open-source projects.
Baudiš goes further to discuss technical aspects like snapshot-based and change-
based histories. Snapshot-oriented history records entire states of projects at dif-
ferent times, while change-based history, on the other hand, only logs modifica-
tions, offering a finer level of detail. The importance of effective branch handling
and merging is highlighted, especially as distributed models inherently allow easy
branching for diverse experiments. Here, tools like Git shine by letting developers
handle unique branches and manage merges smoothly, making DVCS suitable for
independent work. The author encourages further research in advanced branch-
ing and merging techniques, emphasizing the need to overcome challenges in
distributed development.

"A Quick Introduction to Version Control with Git and GitHub"


by John D. Blischak, Emily R. Davenport, and Greg Wilson (2016)
This paper introduces the essentials of Git and GitHub for researchers, es-
pecially those new to coding and version control. The authors explain how Git
allows users to record incremental changes in their projects, enabling experimen-
tation without fear of losing previous versions. This feature is particularly useful
for scientists, who often tweak code repeatedly, as Git allows them to restore
older versions easily. GitHub further enhances Git’s capabilities by providing
an online platform for repository hosting, which allows seamless collaboration
between contributors through features like pull requests and issue tracking.
The authors break down Git’s core commands in a simple and approachable
way, making it easy to follow. They emphasize that even basic familiarity with
Git commands like git init, git add, and git commit can greatly help researchers
keep track of their code changes. GitHub’s collaborative tools like pull requests
allow other developers to contribute and submit improvements, which the original
author can review and merge. This way, GitHub not only makes teamwork easier
but also promotes a more reproducible research process.

"Version Control System: A Review" by Nazatul Nurlisa Zolkifli,


Amir Ngah, and Aziz Deraman (2018)
Zolkifli and team present a detailed review of VCS, focusing on both cen-
tralized and distributed systems. Centralized VCS, such as CVS, require a stable
network connection to access a single server repository, which can sometimes
limit collaboration, especially for teams working across different locations. Dis-
tributed VCS tools, like Git, Mercurial, and Bazaar, address this issue by allowing
each user to maintain a complete repository locally. This local repository setup
not only enables offline work but also simplifies collaboration by reducing server
dependency, making DVCS highly suitable for geographically distributed teams
and open-source projects.
The paper further explains the advantages of DVCS, noting how they allow
users to work independently, contributing to multiple project versions without
risking data overwrites. As DVCS tools support efficient branching, merging, and
parallel development, they accommodate multiple contributors effectively. For
teams working remotely across various time zones, DVCS is a preferred choice
since it allows easy integration of each member’s work. The authors also empha-
size the utility of DVCS in open-source projects, making it an ideal choice for
globally dispersed contributors working at their conveniences.

References
[1] Baudiš, P. (2009). Current Concepts in Version Control Systems. arXiv
preprint arXiv:1405.3496v1. Retrieved from https://arxiv.org/abs/1405.3496v1
[2] Blischak, J. D., Davenport, E. R., & Wilson, G. (2016). A Quick Introduction
to Version Control with Git and GitHub. PLOS Computational Biology, 12(1),
e1004668. doi:10.1371/journal.pcbi.1004668
[3] Zolkifli, N. N., Ngah, A., & Deraman, A. (2018). Version Con-
trol System: A Review. Procedia Computer Science, 135, 408–415.
doi:10.1016/j.procs.2018.08.191

You might also like