Git是一个由林纳斯·托瓦兹为了更好地管理linux内核开发而创立的分布式版本控制,软件配置管理软件。需要注意的是和GNU Interactive Tools,一个类似Norton Commander界面的文件管理器相区分。Git最初的开发动力来自于BitKeeper和Monotone。Git最初只是作为一个可以被其他前端比如Cogito或StGIT包装的后端而开发的。不过,后来Git内核已经成熟到可以独立地用作版本控制。
很多有名的软件都使用Git来进行版本控制,其中有Linux内核、X.Org服务器和OLPC内核开发。Git是用于Linux内核开发的版本控制工具。与常用的版本控制工具CVS、Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linux kernel这样的大项目来说自然很重要。
Git最为出色的是它的合并跟踪能力。实际上内核开发团队决定开始开发和使用Git来作为内核开发的版本控制系统的时候,世界开源社群的反对声音不少,最大的理由是Git太艰涩难懂,从Git的内部工作机制来说,的确是这样。但是随着开发的深入,Git的正常使用都由一些友好的脚本命令来执行,使Git变得非常好用。即使是用来管理我们自己的开发项目,Git都是一个友好,有力的工具。
现在,越来越多的著名项目采用Git来管理项目开发,例如:wine、U-boot等。作为开源自由原教旨主义项目,Git没有对版本库的浏览和修改做任何的权限限制,通过其他工具也可以达到有限的权限控制,比如:gitosis,CodeBeamer MR。原本Git的使用范围只适用于Linux / Unix平台,但逐步并成熟了在Windows平台下的使用,主要归功于Cygwin与msysgit环境与TortoiseGit这样易用的GUI工具。