事情要从linux说起,git的作者就是linux之父linus。在2002年以前,都是通过手工比较代码的方式来合并社区反馈的代码,进行合并。但随着linux项目越来月庞大。手工合并变得不现实了。当时市面上也有cvs或svn这样的版本控制软件。但linus反对使用这些集中式的版本控制系统,因为它们都必须联网才可以使用,而且速度比较慢。
有一些好用的速度快的系统,不过都是需要付费的,这与linux的开源精神不符。
2002年之前,由于没有合适的版本控制系统,linus都是通过手工diff去比较合并代码的。这时的工作太过繁重。
2002年的时候BitMover公司,将BitKeeper授权linux社区免费使用。人多的地方就有江湖,江湖中从来不乏高手,特别是linux社区。2005年,社区中有一些人将BitKeeper破解了。这可是人家BitMover公司吃饭的家伙啊,你破解了人家当然不愿意了。于是BitMover公司怒了,收回了免费使用权。
linus一看也不乐意啊。你不让我用那我就自己写一个呗。于是linus用了2周的时间,自己写了一个分布式的版本控制系统(牛人的世界就是这么牛X)。也就是git。很快(有多快呢,一个月左右)linux系统就全部由git管理了。
后来的事情大家都知道了。2008年github上线,让git走进了千家万户,是个知道开源的都知道github。知道github还不知道git(就相当于吃了猪肉,没见过猪跑一样),那是不可能的。