Git 是 Linux Torvalds 为了帮助管理 Linux® 内核研发而研发的一个开放源码的版本控制软件。我们能够自己下载这个软件用于对内核的 hack 分析,或用来管理自己的软件研发项目。本文将向您展示如何使用 Git 工具开始分析 Linux 。
在现代软件研发项目中,要成为一个有效的软件研发人员,我们必须能够和其他项目贡献者并行进行研发。源代码管理(SCM)系统不是什么新思想。为了编写一些能够更快速、简单地研发以后软件项目的软件,已进行了很多尝试。最新的源代码解决方案都包含了版本控制系统,他能够对源代码的修改进行回滚,从而将有害的代码剔除出项目之外,或简单地跟踪哪些人修改了代码的哪些行的内容。版本控制系统试图解决研发人员在试图同时对某个文档进行修改时所出现的冲突问题,能够防止用户覆盖其他人所作的修改。源代码管理使用的很多流行解决方案都试图解决以前 SCM 解决方案中的失效问题。
集中化的版本控制系统通常采用两种方式:
- 有些提供了文档锁来防止多个用户的并行访问。这些系统对文档进行加锁,这样在某个时间只有一个研发人员对中央仓库具备写入权限。
- 另外一些工具,例如 CVS,允许多个研发人员同时对相同的文档进行编辑,并提供了一些机制稍后合并这些修改。
流行的版本控制系统包括:
- CVS
- Subversion
- Arch
- Bazaar
- BitKeeper
什么是 Git?
很简单地说,Git 是 Linus Torvalds 最近实现的源代码管理软件。正如所提供的文档中说的相同,“Git 是个快速、可扩展的分布式版本控制系统,他具备极为丰富的命令集,对内部系统提供了高级操作和完全访问。”
Torvalds 开始着手研发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核研发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的研发是为了辅助 Linux 内核研发的过程,但是我们已发现在很多其他免费软件项目中也使用了 Git。例如,X.org 最近就迁移到 Git 上来了,很多 Freedesktop.org 的项目也迁移到了 Git 上。
Git 现在主要由寻找 CVS 或专有代码管理解决方案替代物的软件研发人员所使用。Git 和 CVS 有很多区别:
- 分支更快、更容易。
- 支持离线工作;本地提交能够稍后提交到服务器上。
- Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中相同是对每个文档的。
- Git 中的每个工作树都包含一个具备完整项目历史的仓库。
- 没有哪一个 Git 仓库会天生比其他仓库更重要。
安装
要安装当前版本的 Git,我们能够使用供给商在 Linux 发行版中提供的包,或从最新的稳定快照开始手工进行编译。我建议下载包含最新 Git 源代码稳定快照的 tarball;截止到撰写本文时这个版本是 v1.4.0。我们能够在下面的 参考资料 一节中找到链接。
有了这个 tarball 之后,请确保初始安装所依赖的包都已安装了。系统中必须包含以下包,连同相应的研发头文档:
- zlib
- libcurl
- libcrypto(OpenSSL)
- rsync(2.6.0 或更高版本)
这些条件满足之后,我们就能够开始编译初始的 Git 安装系统了。这个过程对于大部分一直使用 Linux 的研发人员来说应该很熟悉了。首先使用对应下载的包格式的命令将包展开:
$ tar -jxvf git-1.4.0.tar.bz2
|
或
$ tar -zxvf git-1.4.0.tar.gz
|
然后转换到适当的目录中,并执行 make 命令。(注意目录名取决于我们下载的快照的日期。)
$ cd git-1.4.0/
$ make prefix=/usr/local install
$ sudo make prefix=/usr/local install
|
您会被提示输入 sudo 密码才能继续安装。现在就已准备好使用 Git 工具了。
获得最新的内核源代码树
在使用 Git 管理源代码仓库时,我们能够使用两种方法开始我们的工作。我们能够使用现有代码的一个本地目录,然后从中生成一个仓库;也能够映射其他人发布的仓库。
对于本文的目的来说,我们将获得 Torvalds 发布的 Git 仓库的一个映像。下面的命令将创建一个名为 linux-2.6 的 Git 仓库。这个目录包含了一个隐藏目录 .git/ 。
$ git-clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6
|
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




