Version control system is defined as a software tool to track the modification in the code.
History of version control system:
In early 1960 it was developed as punched cards to store the data
In 1970 the bell labs developed source code control system which was written in C
In 1982 revision control system was developed and that allows only user at the time
In 2005 git was introduced by Linus Torvalds.
Need for version control system:
- Multiple people can work on the same file
- Every change made in the file is recorded
- parallel development
- It makes easy to manage different releases of project
Types of version control system:
- Centralized version control system
- Distributed version control system
Centralized version control system:
Checkout A developer want to on a file. They "check it out" from the central server and make the local copy of it.
ModifyThe developer make changes to the local copy
**Commit **Once the work is done they "commit" their changes back to their central server
Advantage:
- simplicity
- centralized control
Disadvantage:
- single point of failure
- limited offline work
Distributed version control system:
** Decentralized repository** Each developer has a local copy of entire repository
peer-to-peer collaboration Developers can share changes directly
offline work Developers can work without internet connection
Advantage:
- Improved collaboration
- Increase reliability
- Faster operation
Disadvantage
- complexity
- Initial setup
Top comments (0)