0% found this document useful (0 votes)
234 views6 pages

Review On Version Control With Git

Uploaded by

Sandra
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)
234 views6 pages

Review On Version Control With Git

Uploaded by

Sandra
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/ 6

© 2018 IJSRSET | Volume 4 | Issue 8 | Print ISSN: 2395-1990 | Online ISSN : 2394-4099

Themed Section : Engineering and Technology

Review on Version Control with Git


Pranjal Govekar 1, Dr. Shivani Budhkar 2
Student, MCA, P.E.S’s Modern College of Engineering Pune, Maharashtra, India
1

2Associate Professor, MCA, P.E.S’s Modern College of Engineering Pune, Maharashtra, India

ABSTRACT

Git is a way more popular than any other VCS (Version Control System). Git comes to existence in 2005 and
since then it is getting acquired by more and more people and organization day by day. This paper take look in
Git specification comparing with others VCS tools, also taking focus on Git popularity and reasons behind
becoming popular VCS tool in market. Here, we present review on Version Control with Git that will help to
know about success of Git.

Keywords: Git, VCS (Version Control System)

I. INTRODUCTION
A. Evolution of version control system

An easy way of VCS is by storing files in time-


Version Control also known as Source Control or
stamped directory but this method is error prone as it
Revision Control is a category of software that helps
is easy to forget a working directory and accidentally
in managing the changes made in the collection of
write to wrong file. Therefore, developer developed
information, such information can be of any type like
local version control system where changes made to
documents, computer program, where such tools help
the files are stored into the simple database. But then
in tracking the changes by maintaining it into a
the problem was, what if somebody wants to
special kind of database. It becomes more difficult and
collaborate with other people working on same
important when era of computing began. [14]
system. To overcome this problem CVCSs (Central
Version Control systems) were developed. These
Nowadays need of VCS (Version Control System) is, systems basically have single server as central server
to collaborate on large where many people are which is responsible to hold all version files, from
involved in keeping track of changes made by same or where number of clients can check the files. For
different in the same or different file. It is essential for many years this was standard for version control.
every organization having multiple developers These tools allow multiple developers for
working on same project. [14] simultaneous modification. But again, there is the
downside of this system. If central server goes down
As team, it is common to design, develop and deploy for an hour nobody can collaborate for that period,
multiple versions of same software with different and if hard disk becomes corrupted then might have
functionalities, where developer simultaneously work chance to lose everything if proper backup has not
on updates and bug fixation hence, to maintain almost done. This is where DVCSs (Distributed Version
same copies of the software is possible with version Control Systems) comes in, where client copies full
control system. repository with entire history of the project, so no
worries if any server dies and developers

IJSRSET1848134 | Received : 05 June 2018 | Accepted : 15 June 2018 | May-June-2018 [ 4 (8) : 458-463]
458
Pranjal Govekar et al. Int J S Res Sci. Engg. Tech. 2018 May-June; 4(8) : 458-463

collaborating with each other through that server Proprietary, but git earned way more popularity than
then it can be restored by simply copying any of the any other tools.
client repository to the server, because every clone is
exact full backup of the data. [10] You can compare interest in Git by time with other
B. Git Overview VCS tools since git has been launched. The graph
below is generated with Google Trends.
In April 2005, git comes to existence which is free and
open source distributed version control system made
by Linux creator Linus Torvalds to handle everything
from small to very large projects with speed and
efficiency.

As all known “Necessity is the mother of inventions”


Similarly git invention is done to fulfil Linux Kernel Figure 1: Google trends for VCS
project maintenance. From 1991, developers from
different places have started simultaneously to
collaborate on linux kernel project. Hence changes A. Comparison of version control software
made to software where exchange through Patches a. General Information [13]
and Archived files till 2002. In 2002, linux kernel
project began to use proprietary DVCS software called Softwar Reposi Platform Lice Cost
BitKeeper for version controlling. Most of Linux e tory Supporte nse
Kernel community members were not happy with (Maintai Model d
ner)
this move but project leader and core developer
adopted BitKeeper. That time license for “community” CVS Client Unix- GN Free
version of BitKeeper to use by a developer at no cost (The – like, U
for open source and free project. CVS server Window GPL
Team) s, OS X
Due to some disputes between community of Linux
Kernel and BitMover, In April 2005, BitMover Git Distrib POSIX, GN Free
(Original author of BitKeeper) announced that it (Junio uted Window U
would stop providing free of charge version of Hamano s, OS X GPL
)
BitKeeper to Linux Community user. That was time
where Linux Kernel project need to be maintained by Mercuri Distrib Unix- GN Free
other VCS present in the market but Linus Torvald al uted like, U
was not wanted any of them. This made Linux (Matt Window GPL
Development community and Linus Torvald to build Mackall s, OS X
)
their own tool based on the lesson they learned using
BitKeeper. [2] Subversi Client Unix- Apa Free
on – like, che
(Apache server Window
II. LITERATURE SURVEY Softwar s, OS X
e
There are many Version Control software in market Foundat
based on Client server model and Distributed model ion)
where some are Open Source and some are

International Journal of Scientific Research in Science, Engineering and Technology (www.ijsrset.com)


459
Pranjal Govekar et al. Int J S Res Sci. Engg. Tech. 2018 May-June; 4(8) : 458-463

Team Client Window Prop Free for up to tion Tree


Foundat – s, cross- rieta 5 users in the Server
ion server, platform ry Visual Studio
Server Distrib via Team
(Micros uted Visual Services or B. Version Control System Review
oft) Studio for open a. Concurrent Version System (CVS)
Team source Very first popular central version control system for
Services projects collaborative work is Concurrent Versions System
through (CVS). It has been in the market since 80s.
codeplex.com CVS uses client server architecture, where server is
; else non- responsible to hold current project and its history.
free, licensed Which allows client connected to server to “Check
through out” complete copy of project, work on this copy and
MSDN later “Check in” their changes.
subscription  Moving or renaming files does not include a
or direct buy. version update
 Security risks from symbolic links to files

b. Technical Information  No atomic operation support, leading to source

Programming language: The coding language in corruption


which the application is being developed  Branch operations are expensive as it is not

Scope of change: Describes whether changes are designed for long-term branching [16]
recorded for individual files or for entire directory
trees. b. Apache Subversion (SVN)
Network protocols: lists the protocols used for SVN is abbreviation of Apache Subversion
synchronization of changes. [13] which is originally developed by CollabNet to
provide alternative for CVS with some
improvements.
Softwar Progra Scope Network protocols
Many developers switch to SVN as it is like
e mming of
improved version of CVS
Languag Chan
 Newer system based on CVS
e ge
 Includes atomic operations
CVS C File pserver, ssh  Insufficient repository management commands
 Slower comparative speed [16]
Git C, shell Tree custom (git), custom
scripts, over ssh, c. Git
Perl HTTP/HTTPS, rsync, Git is completely different from CVS and SVN. The
email, bundles main purpose of git is to make faster distributed
revision control where it was primarily developed for
Mercur Python, Tree custom over ssh,
Linux.
ial C HTTP, email bundles
(with standard
Git also comes with wide variety of tools which helps
plugin)
user to navigate through history of system. As Git
Subvers C Tree custom (svn), custom allows cloning entire repository it is possible to work
ion over ssh, HTTP and without internet connection.
SSL (using WebDAV)  Full history tree available offline
 Distributed, peer-to-peer model
Team C++ and File SOAP over HTTP or  Not optimal for single developers [16]
Founda C# and HTTPS, Ssh

International Journal of Scientific Research in Science, Engineering and Technology (www.ijsrset.com)


460
Pranjal Govekar et al. Int J S Res Sci. Engg. Tech. 2018 May-June; 4(8) : 458-463

d. Mercurial D. Benchmarks
Mercurial is software belong to same time when Git
was released. Mercurial was designed and developed
with same motive as Git was, that is to maintain
Linux kernel project. But git was selected for
maintaining Linux kernel project.
 Easier to learn than Git
 No merging of two parents [16]

C. The top 6 easiest to use Version Control System – Figure 3: Benchmarks [17]
G2 Crowd
III. BLOCK DIAGRAM/ ARCHITECTURE AND
APPLICATION DESCRIPTION

Figure 4: Git Workflow [15]

The above diagram shows how Git tool works to


handle collaborative work between multiple
developers. Each of them having entire copy of
repository as local repository. Also, there is no need of
remote repository if you don't want work
collaboratively. So private repository are full-featured
Git project maintaining all history of versions. [15]
As we can see in above diagram, Git allows us to do
changes in working directory where we can store
those changes in the staged area for now and commit
it to your repo. When you want to share these
changes with other then you can push those changes
to remote repository.

IV. COMPANIES & PROJECTS USING GIT


As per Git website following are the companies and
projects using Git. [18]
1. Google
2. Facebook
3. Microsoft
4. Twitter
Figure 2: Best Version Control System of 2018 [4]
International Journal of Scientific Research in Science, Engineering and Technology (www.ijsrset.com)
461
Pranjal Govekar et al. Int J S Res Sci. Engg. Tech. 2018 May-June; 4(8) : 458-463

5. LinkedIn space needed to store all versions of these files


6. Netflix can accumulate quickly.
7. Perl 2. If your project has a very long history (50,000
8. PostgreSQL changesets or more), downloading the entire
9. Android history can take an impractical amount of
10. Linux time and disk space. [8]
11. Ruby on Rails
12. Qt VII. CONCLUSION
13. Gnome
14. Eclipse In recent years, the Git got way more popularity than
15. KDE any other VCS, though they have that much of
16. X capability, like Mercurial got released in same time
with similar functionality to Git, move over
V. ADVANTAGES Mercurial is considered to be easier to use then also it
is unknown for many people. There are many reasons
1. Location: No central repository. All working behind this but main reason could be the services like
copies is a clone of the repository itself. Not github repository for Git tool. And comparing other
dependent on external server for work. No VCS with Git we can found that they don’t meet the
need to install or maintain a server.[1] business requirement as much of Git does.
2. Development: Branches are easy to make.
Commit work to local repository and push VIII. REFERENCES
changes to others when you feel ready. Every
checkout is a copy of the repository. [1]. Carl Fredrik Malmsten. "Evolution of Version
Possibility to clean up your local commits if a Control Systems". Report No. 2010:017. ISSN
mistake is made. It can work in small steps. 1651-4769. P 7.
No need to commit everything at once. [1] [2]. Scott Chacon and Ben Straub. "A Short History
3. Time Saving: Git, however, is lightning fast. [6] of Git". Pro Git (Second Edition). P 13 . Apress.
4. Work Offline: With Git, we can work offline 2014. ISBN 978-1-4842-0076-6.
as we can have clone of remote repository [3]. Reshma Ahmed. "What Is Git ? Explore A
which means we can do all operation while Distributed Version Control Tool".
disconnected from internet. [6] https://www.edureka.co/blog/what-is-git/ .
5. Undo Mistakes: Git allows restoring last Accessed March 6, 2018.
commit and also allows restoring deleted [4]. "The Top 6 Version Control Systems".
commit. [6] https://www.g2crowd.com/categories/version-
6. Make Useful Commits: With its unique control-systems#highest_rated. Accessed March
“staging area” concept you can determine 9, 2018.
exactly which changes shall be included in [5]. "Using GIT".
your next commits, even down to single lines. https://www.slideshare.net/wocommunity/using-
[6] git-13552975. Accessed April 1, 2018.
[6]. " Reasons for Switching to Git". https://www.git-
VI. DISADVANTAGE tower.com/blog/8-reasons-for-switching-to-git/.
1. If your project contains many large, binary Accessed April 1, 2018.
files that cannot be easily compressed the

International Journal of Scientific Research in Science, Engineering and Technology (www.ijsrset.com)


462
Pranjal Govekar et al. Int J S Res Sci. Engg. Tech. 2018 May-June; 4(8) : 458-463

[7]. "Git". https://en.wikipedia.org/wiki/Git. Accessed


April 1, 2018.
[8]. "What is version control: centralized vs. DVCS".
https://www.atlassian.com/blog/software-
teams/version-control-centralized-dvcs.Accessed
April 1, 2018.
[9]. "Git for Version Control".
https://courses.cs.washington.edu/courses/cse403
/13au/lectures/git.ppt.pdf. Accessed April 1,
2018.
[10]. "A History of Version Control".
http://ericsink.com/vcbe/html/history_of_versio
n_control.html. Accessed April 1, 2018.
[11]. "6 Version Control Systems Reviewed".
https://www.smashingmagazine.com/2008/09/th
e-top-7-open-source-version-control-systems/.
Accessed April 1, 2018.
[12]. "The Top 6 Easiest to Use".
https://www.g2crowd.com/categories/version-
control-systems#easiest_to_use. Accessed April
1, 2018.
[13]. "Comparison of version control software".
https://en.wikipedia.org/wiki/Comparison_of_ve
rsion_control_software#History_and_adoption.A
ccessed April 1, 2018.
[14]. "Version control".
https://en.wikipedia.org/wiki/Version_control.
Accessed April 1, 2018.
[15]. "HISTORY OF GIT".
https://hackaday.com/2017/05/11/history-of-git/.
Accessed April 1, 2018.
[16]. "2018 Version Control Software Comparison:
SVN, Git, Mercurial".
https://biz30.timedoctor.com/git-mecurial-and-
cvs-comparison-of-svn-software/. Accessed April
1, 2018.
[17]. "fast-version-control". https://git-
scm.com/about/small-and-fast. Accessed April 1,
2018.
[18]. "distributed-is-the-new-centralized". https://git-
scm.com/. Accessed April 1, 2018

International Journal of Scientific Research in Science, Engineering and Technology (www.ijsrset.com)


463

You might also like