Open In App
Related Articles

Git – SubGit

Improve Article
Save Article
Like Article

Git is a distributed version control system. A version control system is a system that tracks the history of changes as people and teams collaborate on projects together. As the project progresses, new features get added to it. So, a version control system maintains all the different versions of your project for you, and you can roll back to any version you want, without causing any trouble to you for maintaining different versions by giving names to it like ProjectV1, ProjectV2, etc. Developers can review project history to find out:

  • Which changes were made?
  • Who made the changes?
  • When were the changes made?
  • Why were changes needed?

Types of Version Control System

1. Centralized Version Control System: Centralized Version Control is a version control system using the server/client model and the server contains all the history of the source code.

Centralized Version Control System

2. Distributed Version Control System: Distributed Version Control is a version control where each client can have the same copy of source code as the server ensuring both server and client maintain the history of source code.

Centralized Version Control System

Distributed Version Control System

SubGit is a tool for migrating Subversion(SVN) to Git. Below is a Difference table between Subversion and Git to understand Subversion in detail.

Difference Point

Subversion (SVN)


Interpretation Subversion is a system of revision control and centralized versioning Git is a system of distributed version control used for the management of source code
Learning SVN is much easier to learn as compared to git Git is more difficult to learn
Network Access Must require Not Mandatory
Copy of Code In SVN there is a central repository that has a working copy that also makes changes and is committed in the central repository. In git, every user has their own copy of code on their local like their own branch.
Used By 10% of professional developers 90% of professional developers

How Does SubGit Work?

SubGit is written in Java and works on the server side. It requires direct access to both Subversion and Git repositories over the local file system. SubGit creates a writable Git mirror of a Subversion repository. A git mirror is a repository that acts like source code. Git mirror is a functionally identical copy of source code that is interchangeable with the original. SubGit creates a bi-directional mirror that can be used for pushing to git as well as committing to subversion. 

Conclusion: In conclusion, SubGit is a tool that allows one to build bidirectional read/write meters of subversion in git repositories. SubGit also takes care of synchronization between Git and Subversion.

Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 27 Jul, 2022
Like Article
Save Article
Similar Reads
Complete Tutorials