Difference Between GIT and SVN

GIT: Git is an open-source distributed vice control system developed by Linus Torvalds in 2005. Its emphasis on speed and data integrity in which there is no centralized connectivity is needed. It is powerful and cheap branching with easy merge in which each developer has his repository and have a local copy in which they can change history. It supports non-linear development branches and applications with a large number of codes files.

Here are some .git directory structures used in GIT:

  • HEAD/: A pointer structure used in git.
  • Config/: Contains all configuration preferences.
  • description/: Description of your project.
  • index/: It is used as a staging area between working directory.
  • object/: All the data are stored here.
  • logs/: Keeps record to change that are made.

SVN: Apache Subversion is an open-source software version and revision control system under the Apache license. It managed files and folders that are present in the repository. It can operate across the network, which allows it and used by people on different computer .we can say that a repository is like an ordinary file server which allows it to be used by people on a different computer.

GIT-vs-SVN
Below is a table of differences between GIT and SVN:

GIT SVN
Git is open source distributed vice control system developed by Linus Torvalds in 2005. It emphasis on speed and data integrity Apache Subversion is an open source software version and revision control system under Apache license.
Git has a Distributed Model. SVN has a Centralized Model.
In git every user has their own copy of code on their local like their own branch. In SVN there is central repository has working copy that also make changes and committed in central repository.
In git we do not required any Network to perform git operation.   In SVN we required Network for runs the SVN operation. 
Git is more difficult to learn. It has more concepts and commands.  SVN is much easier to learn as compared to git.
Git deals with large number of files like binary files that change quickly that why it become slow. SVN control the large number of binary files easily.
In git we create only .git directory. In SVN we create .svn directory in each folder.

It does not not have good UI as compared to SVN. SVN has simple and better user interface .
Features of GIT:

  • Distributed System.
  • Branching.
  • Compatibility.
  • Non-linear Development.
  • Lightweight.
  • Open source.
Features of SVN:

  • Directories are versioned
  • Copying, deleting, and renaming.
  • Free-form versioned metadata .
  • Atomic commits.
  • Branching and tagging.
  • Merge tracking.
  • File locking.
My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.