综上,需要一个功能强大的版本控制系统解决上述的问题。第一,实现对每位代码编写者的提交进行动态跟踪,对每次提交的代码能够保存注释信息,包括本次提交的概况;第二,本次代码的变更情况可以详细列出,随时查看修改情况;第三,可以提取历史上任一一次版本,查看其注释;第四,能够同时保存同一个项目的多个版本,对每个版本都可以进行变更,互补影响;第五,能够检测出多人开发时产生的代码冲突,列出冲突部分,防止直接覆盖导致任何人员的代码丢失。
2.1.2 Git版本仓库简介
最早期普遍使用CVS版本控制系统,但实现功能比较简单,早已淘汰。目前主流使用的版本控制系统是Subversion(SVN)与Git。SVN基本实现以上功能,但仍然存在一些缺点,如下几点:SVN是集中式仓库,开发人员必须在可连接到SVN服务器的网络中
分支管理不完善,灵活性不高
按文件形式存储全部对象,对大量文件操作速度慢
稳定性一般,当版本库因故障损坏时修复难度大
Git版本控制系统相对于SVN讲,功能上更强大更自由,解决了其他版本控制系统的缺陷与问题。在2002年前,Linux操作系统的开发者Linus,采用工具集成的方式处理世界各地开发者贡献的代码,为了更方便的管理源代码,采用了BitKeeper商业化的版本控制系统,2005年Linus开发出了Git版本控制系统,主要用于处理Linux内核的开发。
Git是一套基于分布式的版本控制系统,不需要中央服务器集成,每个开发者本地都可以克隆完整的版本仓库,可以将本地的修改提交至本地仓库,在需要集成时,再将其推送到远程仓库,具备更灵活的特性。Git同样具有强大的分支管理策略,同一个仓库可以具有多个代码分支,在需要时进行创建或合并分支,能够与敏捷开发相结合,形成良好的敏捷策略。