Table of Contents
✅What is Git?
✅What is Github?
✅What is Version Control? How many types of version controls we have?
✅Why we use distributed version control over centralized version control?
✅What is Git?
Git is a tool that helps you keep track of changes you make to files. It lets you go back to previous versions of the files if needed and makes it easy for multiple people to work together on the same files.
✅What is Github?
GitHub is a website where you can store your files that are tracked with Git. It makes it easy to share your work with others and collaborate on projects. GitHub is owned by Microsoft.
✅What is Version Control? How many types of version controls we have?
Version control is a system that records changes to a file or set of files over time so you can recall specific versions later. This is useful for keeping track of who made changes and for undoing mistakes.
There are two main types of version control:
Centralized Version Control Systems (CVCS)
In a CVCS, there is one central place where all the files are stored. Everyone works with these files by checking them out, making changes, and then checking them back in. Examples are Subversion and Perforce.
Distributed Version Control Systems (DVCS)
In a DVCS, everyone has their own copy of the files, including the entire history of changes. People can work on their own copies and then merge their changes with others later. Examples are Git and Mercurial.
Difference between CVCS vs DVCS
Git three stages architecture
✅Why we use distributed version control over centralized version control?
Better collaboration: In a DVCS, every developer has a full copy of the repository, including the entire history of all changes. This makes it easier for developers to work together, as they don't have to constantly communicate with a central server to commit their changes or to see the changes made by others.
Improved speed: Because developers have a local copy of the repository, they can commit their changes and perform other version control actions faster, as they don't have to communicate with a central server.
Greater flexibility: With a DVCS, developers can work offline and commit their changes later when they do have an internet connection. They can also choose to share their changes with only a subset of the team, rather than pushing all of their changes to a central server.
Enhanced security: In a DVCS, the repository history is stored on multiple servers and computers, which makes it more resistant to data loss. If the central server in a CVCS goes down or the repository becomes corrupted, it can be difficult to recover the lost data.
Overall, the decentralized nature of a DVCS allows for greater collaboration, flexibility, and security, making it a popular choice for many teams.
✨Happy Learning 😊