Git, The Stupid Content Tracker
Have you ever imagined if there is no version control for your source code? How would your live as a software developer be look like? Horrible? I guess so.
You won’t be able to track your changes within your source code, won’t be able to revert back to your working source code when you are failed adding new features or fixing bug, and would be very hard for you and your team to collaborate to build your project.
Actually, there are a lot of version control system that has been developed and maintained. However, to me, git really gets my attention since its ability to let developers work with their source code in isolation with their branching and merging mechanism.
History of Git
Git was first developed by Linus Torvalds in 2005. He was a Linux Kernel developer who was disappointed that the other version control that he used was becoming a proprietary source control management. BitKeeper and Mercurial were the two version control system that met his requirement but since its service was not free and the other free version control system didn’t meet his needs, he created Git as a free open source version control who has a workflow like BitKeeper. Linus Torvalds did reverse engineering of BitKeeper in order to create Git.
Reasons Why Git is More Popular
Git nowadays is used widely by developers. Even if Git has steep learning curve, it really speeds up software development once you master it.
Decentralised
Git is also a distributed version control system which provides flexibility for developers to commit their source code locally or into the server.
Branching
Git allows the developer to edit their source code in isolation. So that, they can keep maintain both branches which are on development and production. Once a developer successfully adding new features or fixing bugs on their development branch, they then can merge the branch into production branch to make their change available on production.
Staging
With this staging feature, each commit won’t be checked in if the changes a developer made doesn’t pass through the index/stage. Stage really helps developers to keep tracks of their change and to make sure that everything committed is a finely changes.
Despite its name that is not really meaningful, Git has helped lots of developer create their meaningful project by its ability to do version control.