构建高质量软件:持续集成与持续交付系统实践
上QQ阅读APP看书,第一时间看更新

第3章
Git及Git工作流程

061-01将项目工程的所有变更(代码、配置、文档、手册等与项目有关的变更)全部纳入版本控制(version control),可以很清晰地追踪到项目工程从诞生到结束整个过程中的所有变化。除此之外,版本控制还可以帮助我们退回到某个正确的历史版本。我们将具有版本控制能力的系统称为版本控制系统(Version Control System,VCS),目前业界有很多可提供版本控制能力的软件,大致上可将其分为两大类,具体如下。

  • 集中式版本控制系统:CVS(Concurrent Version Control,并发版本控制)、SVN(subversion)、TFS(Team Foundation Server)和Perforce等都属于集中式的版本控制解决方案。在集中式的版本控制系统中,仅拥有一个控制文件及版本的中央服务器,如果出现网络问题,那么对变更的提交将会失败。
  • 分布式版本控制系统:Bazaar、Mercurial、Git均属于分布式的版本控制解决方案,在分布式的版本控制系统中,即使远程服务器出现问题,也丝毫不会影响变更的提交操作。开发人员可以在脱机(offline)状态下工作,首先,将变更提交至本地仓库并记录在案,然后,在未来的某个时间将本地变更同步至远程仓库,供其他人获取。

Git出自大师Linus Torvalds(Linux操作系统内核的缔造者)之手,经过多年的发展,已经成为分布式版本控制系统领域事实上的标准,目前全球最大的代码仓库GitHub就是基于Git开发的。

本章将重点介绍如下内容。

  • Git的安装和基本操作。
  • Git的常用命令和本地操作。
  • Git与远程仓库的交互和操作。
  • Git常见的配置和别名alias用法。
  • 团队协作Git Work Flow。