使用 Git 管理源代码

发表于:2010-1-13 10:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
Linux
分享:

  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

41/41234>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • Chenny
    2010-1-13 20:08:22

    保存

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号