What were the flaws in the file system due to which Version Control System came?
If we create a file and suppose we delete it then its owner, creator, and date are gone. All of the information in the file will go if we delete it from the system. Here system means our laptop and PC. So this is the working of the file system. This problem was faced by the developers also because when they have written code and for some reason, the code gets deleted, they cannot recover it. So that's why they created Version Control System. Git is the Version Control System that is available in the market.
Difference between the File system and Version Control System(VCS)
When someone creates a file in the file system, it shows three things: author, date, and permission. But in Version Control System it shows things like who created the file, when the file is created, and while making it what message someone has written.
If we delete a file in the file system then we cannot recover it. But if we change a file in the VCS then it gets reflected in the hash and that hash is basically the value that is associated with the file which can be used to reset the older version of the file.
What is the difference between Git and Github?
Git version control is a tool that gives us the capabilities of a Version Control System like the author, hash, restore, logs, etc. whereas GitHub is a platform that is using the technology of git in the background. Git is the actual version control system that manages the codebase, while GitHub is a web-based hosting service that provides a platform for storing, sharing, and collaborating on Git repositories.
What are the types of Version Control Systems?
There are two types of VCS: Centralized Version Control System and Distributed Version Control System.
1. Centralized VCS
If we have a server and commit the changes in it then it is a centralized Version Control System. This means we have a laptop and on that laptop, we are doing the changes and then in that system only we are doing everything. So it is a centralized Version Control System.
2. Distributed VCS
In distributed Version Control System we have a server where we have created a repository. That repository can be accessed by us or the people who are collaborating on the project.
What are the popular Git hosting Services?
Here are some popular Git hosting services:
GitHub: GitHub is one of the most widely used Git hosting platforms. It provides a user-friendly interface, extensive collaboration features, and a large community of developers. GitHub offers both free and paid plans, catering to individual developers, small teams, and large organizations.
GitLab: GitLab is another popular Git hosting service that offers both cloud-based and self-hosted options. It provides a comprehensive set of features, including code repositories, issue tracking, continuous integration, and deployment pipelines. GitLab also offers a free community edition and paid plans for enterprise use.
Bitbucket: Bitbucket is a Git and Mercurial-based hosting service provided by Atlassian. It offers unlimited private repositories, integration with other Atlassian tools like Jira and Confluence, and built-in support for continuous integration and deployment. Bitbucket provides free plans for small teams and offers premium plans for larger organizations.
Azure DevOps: Formerly known as Visual Studio Team Services (VSTS), Azure DevOps is a cloud-based platform by Microsoft. It provides a suite of tools for source control, project management, and continuous integration and delivery (CI/CD). Azure DevOps offers Git repositories as a part of its services and integrates well with other Microsoft products and services.
GitKraken: GitKraken is a popular Git client with built-in support for multiple Git hosting services, including GitHub, GitLab, and Bitbucket. While GitKraken is primarily a desktop client, it also offers a cloud-based service called GitKraken Glo Boards for project management and issue tracking.