如何使用分布式版本控制工具Git?

发表于:2012-03-28来源:C++爱好者博客™作者:eliteYang点击数: 标签:Git
Git是一个由林纳斯·托瓦兹为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。需要注意的是和GNU Interactive Tools,一个类似Norton Commander界面的文件管理器相区分。

  Git是一个由林纳斯·托瓦兹为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。需要注意的是和GNU Interactive Tools,一个类似Norton Commander界面的文件管理器相区分。

  Git最初的开发动力来自于BitKeeper和Monotone[2][3]。Git最初只是作为一个可以被其他前端比如Cogito或StGIT[4]包装的后端而开发的。不过,后来Git内核已经成熟到可以独立地用作版本控制[5]。很多有名的软件都使用Git来进行版本控制[6],其中有Linux内核、X.Org服务器和OLPC内核开发。

  Git — The stupid content tracker,傻瓜内容跟踪器。Linux是这样给我们介绍Git的。

  Git是用于Linux内核开发的版本控制工具。与常用的版本控制工具CVS、Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linux kernel这样的大项目来说自然很重要。Git最为出色的是它的合并跟踪(merge tracing)能力。

  实际上内核开发团队决定开始开发和使用Git来作为内核开发的版本控制系统的时候,世界开源社群的反对声音不少,最大的理由是Git太艰涩难懂,从Git的内部工作机制来说,的确是这样。但是随着开发的深入,Git的正常使用都由一些友好的脚本命令来执行,使Git变得非常好用,即使是用来管理我们自己的开发项目,Git都是一个友好,有力的工具。现在,越来越多的著名项目采用Git来管理项目开发,例如:wine、U-boot等。

  作为开源自由原教旨主义项目,Git没有对版本库的浏览和修改做任何的权限限制,通过其他工具也可以达到有限的权限控制,比如:gitosis, CodeBeamer MR。原本Git的使用范围只适用于Linux / Unix平台,但逐步并成熟了在Windows平台下的使用,主要归功于Cygwin与msysgit环境与TortoiseGit这样易用的GUI工具。其实Git的源代码中已经加入了对Cygwin与MinGW编译环境的支持并被逐步完善,对于Windows使用者是个福音。

  以上介绍摘自维基百科Git。

  现在sf上的代码用git的越来越多了,以前安装的TortoiseSVN就歇菜了,所以安装了git,我的电脑用的是win7,自然第一步是要找到git for windows,好在两款git软件适合在windows下使用。

  1.TortoiseGit

  TortoiseGit和TortoiseSVN类似,是一款有GUI的软件,操作方法和TortoiseSVN类似,只不过将SVN改成了Git,就不多介绍了,它的项目主页介绍的很清楚,有很多截图,相信你看了一定会明白的。

  TortoiseGit项目主页:http://code.google.com/p/tortoisegit/

  2.msysgit

  msysgit这个工具是一款类似于控制台的应用程序,它是与MinGW并存的,你要使用它,必须先安装Cygwin,由于我之前编译代码,已经安装过了,所以就不再安装了。msysgit安装后,会生成一个快捷方式在桌面,打开之后是一个shell程序,里面可以输入需要的命令。

  如果你不清楚命令,可以去项目主页查看命令,也可以在shell界面上输入git help git,会带你到msysgit的帮助页面(需要联网)。

  不过我们一般最常用到的命令就是clone了,因为要获取代码。

  比如说获取OpenVPN的代码,OpenVPN的地址是 git://openvpn.git.sourceforge.net/gitroot/openvpn/openvpn,我们可以输入如下命令获取代码。

  <1>.创建一个文件夹:mkdir /d/Project/openvpn

  <2>.进入该路径 cd /d/Project/openvpn

  <3>.获取代码 git clone git://openvpn.git.sourceforge.net/gitroot/openvpn/openvpn

  这样就可以获取到openvpn的代码到d:/Project/openvpn路径下了

  msysgit项目地址:http://code.google.com/p/msysgit/

  小结:TortoiseGit使用比较方便,而且不用安装别的环境,建议用惯了TortoiseSVN的朋友使用;msysgit比较接近linux的使用,建议经常用linux或者window上有cygwin环境的朋友使用。不过msysgit是shell界面,在console上打命令不是显得更酷吗?

原文转自:http://www.ltesting.net