http://www.ruanyifeng.com/blog/2012/07/git.html