Every time I start to explain about git to my friends I give them this problem statement and ask them to give me the solution :
You are in a project team which consist of 5 people and each of them stay in 5 different countries. Your project is to build some application where all 5 of you have to do some code contribution to it. Now, how this work can do done collaboratively ?
(I know that people usually share the code via storage devices like USB drives. 😀 That’s the reason I said your team mates are in different countries.)
Do you think you can share the code snippets over email ?
Or by using any cloud platforms like dropbox, google drive, etc ?
Well, these approaches are possible too but they are not very much efficient. Management of the code becomes hectic.
This is where the git comes for the rescue.
Git is a popular version control system (VCS) used for software development. As I have seen, most of the open source projects development are done with this VCS. Git has been beautifully designed with graph theory tree model.
Git provides lots of features like code tracking, reverting, keeping the development of new features separately from the main code base using branches.
$ man git
Documentation of git on man page is not much helpful. One has to look for stack overflow for most problems he usually faces. For instance, three of the top five highest voted questions on Stack Overflow are questions about how to carry out relatively simple tasks on git.
Steve Bennett explains about 10 things he about git.
Some of his points are true.
It may be complex, lengthy process, new technology to learn, but it will keep developers life simpler. 🙂
In my next post, I’ll write about how to work collaboratively using git. 🙂