Moving to Git is a big shift for a lot of developers. My current project uses CVS which is quite dated and is at End of Life. Most new development now uses some form of distributed repository. Git is by far the most popular.
Software Configuration Management (SCM) is not the most exciting part of software development. Distributed revision control takes a peer to peer view and code repositories. CVS and Subversion fit the older model similar to Client Server software of the past.
Recently at Zirous we had a Lunch and Learn entitled “Git Deep Dive” lead by Jeremiah Evans. Jeremiah made quick work of covering the basics of the git commands we will use everyday and cover a few of the edge case scenarios.
The advantages of Git are it is faster and lightweight. Everyone in a Git environment has their own repository. The Git repository is similar to a project directory and has a tree structure with key and value pairs similar to a HashMap. It stores the contents in BLOBs.
Pull(git pull) is similar to the CVS update, it will pull down the remote. Push(git push) is how you transfer commits from your local repository to a remote repo. Add(git add) command adds a change in the working directory to the staging area. Commit(git commit) command commits the staged snapshot to the project history.
This is a big change but I am looking forward to using Git everyday. Consider sharing this with someone you know.