分类: LINUX
2013-03-20 15:14:32
Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion
等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel
这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。
实际上内核开发团队决定开始开发和使用 Git
来作为内核开发的版本控制系统的时候,世界开源社群的反对声音不少,最大的理由是 Git 太艰涩难懂,从 Git
的内部工作机制来说,的确是这样。但是随着开发的深入,Git 的正常使用都由一些友好的脚本命令来执行,使 Git
变得非常好用,即使是用来管理我们自己的开发项目,Git 都是一个友好,有力的工具。现在,越来越多的著名项目采用 Git 来管理项目开发,例如:wine,
U-boot 等,详情看 作为开源自由原教旨主义项目,Git
没有对版本库的浏览和修改做任何的权限限制。它适用于 Linux / Unix 和 Windows 平台。
2、Git
官方文档:
, 和
同步两台机器的文档、有效管理代码、管理代码开发版本、查看代码修改情况和作为项目备份使用。
1)在线安装:
#sudo aptitude install git git-core git-doc
git-gitk
2)下载安装:
下载git-1.7.6.tar压缩包
进入解压后的目录
使用命令:
#.configure
#make
#make install
比较这两种安装方法,第二种方法只可以使用git相关命令,但是没有提供在线帮助查询。需要在线帮助的话,需要使用第一种安装方法。
2、git工作举例:
例如:一个开源项目有项目负责1人A表示,4个分管模块组长g1,g2,g3,g4表示,20个程序员p1,p2,p3...。
单某个程序员p1增加程序功能,而这个代码对应的组长是g1,经过g1功能可以进入项目并请求项目负责人A进入代码。
则流程如下。
1)p1克隆项目代码。git clone
2)p1修改代码,测试,确认ok,然后commit到自己的本地仓库。git commit
3)给分模块组长g1发email,请求添加功能。
4)g1确认这个代码不错,可以进入代码。将代码加入自己的子项目或给p1权限进行push操作到自己的电脑上。 git push
5)g1发email通知项目负责人添加功能。
6)g1将自己的子模块最新代码push到自己的分支 git push
7)项目负责人A进行合并分支操作,p1添加的代码进入项目。git merge
2>对于个人用来维护自己的代码则类似:
例如:
1)建立两个目录
(代码仓库、工作目录)
2)在自己/home目录建立一个目录作为自己的代码仓库,比如说是/home/git,然后执行git
init操作。
3)在自己/home建立一个目录作为自己的工作目录,比如说是/home/workspace,然后进入工作目录执行 git clone -l
/home/git 。
4)然后进入workspace的git目录,把自己的项目存在这里,其中有 git add,git
commit操作。
5)觉得自己的代码可以了,git push origin
master,这个时候你的项目代码进入仓库(origin表示,master表示)。
6)建议你的git仓库建立别的分支,然后和master分支合并