Why should I use Git?
Git
is a Version Control System developed by Linus Torvalds, sound familiar? Yes, you got that right, the Father of the Linux Operating System. The Linux kernel is still maintained by him.
Consider the Linux Kernel Project.
- It has over 15 million lines of code.
- About 3,500 new lines added every day.
- Whenever a new kernel is released, about 1,000 developers are involved in the process.
Git
was originally designed to help manage the Linux Kernel and make collaboration easy from the beginning. If Git can effectively manage a project as large as the Linux Kernel, it can manage your projects easily and effectively.
Furthermore, the architecture of Git is distributed Version Control as opposed to a centralized, network access VCS. A centralized VCS requires a network connection to work with and a central failure may result in all your work being destroyed. A distributed VCS such as Git, does not require a network connection to interact with the repository. Each developer has their own repository which makes it fast and easy to collaborate with.
Finally, on to GitHub
. GitHub is easily the most popular website for sharing your projects with collaborators or with the whole world. It's like a social network for your projects. Repositories
can be made public so that anyone can submit a commit and help make your project better.
Git uses checksums to secure your data. This makes it impossible to make changes to the data without Git getting a whiff of it. This functionality is built into Git at the lowest levels and is integral to its philosophy. The basic idea is that you can't lose information in transit or have files corrupted without Git being able to detect it. Git> uses the SHA-1 hash system which as you may probably know, is a 40- character string composed of hex characters and is calculated based on the content. Git extensively uses these values and stores files in database by this hash and not by the name.
GitHub
has been gaining popularity in the software development world and it is likely that you would require to know Git if you are to be a collaborator on a project which is a reason on its own to learn more about Git.