概述
文档目的
基于CodeArts实践所编写,用于帮助已经掌握或想要掌握Git的开发者,更好的应用Git,以及更好的将Git与CodeArts结合应用。
Git概述
从狭义上来说,版本控制系统是软件项目开发过程中管理代码所有修订版本的软件,能够存储、追踪文件的修改历史,记录多个版本的开发和维护,事实上我们可以将任何对项目有帮助的文档交付版本控制系统进行管理。版本控制系统(Version Control Systems)主要分为两类,集中式和分布式。
集中式版本控制系统
集中式版本控制系统的特点是只有一台中央服务器,存放着所有研发数据,而其它客户端机器上保存的是中央服务器最新版本的文件快照,不包括项目文件的变更历史。所以,每个相关人员工作开始前,都需要从这台中央服务器同步最新版本,才能开始工作,如下图所示。
常见的集中式版本控制系统为CVS、VSS、SVN、ClearCase。
集中式版本控制系统的优点与缺点如下表所示。
优点 |
缺点 |
---|---|
|
|
分布式版本控制系统
分布式版本控制系统的特点是每个客户端都是代码仓库的完整镜像,包括项目文件的变更历史。所有数据分布的存储在每个客户端,不存在中央服务器。可能有人会问,我们公司使用Git分布式存储工具,也有“中央服务器”啊?其实,这个所谓的“中央服务器”仅仅是用来方便管理多人协作,任何一台客户端都可以胜任它的工作,它和所有客户端没有本质区别,如下图所示。
常见的分布式版本控制系统为Git、Mercurial、Bazaar、Bitkeeper。
分布式版本控制系统的优点与缺点如下表所示。
优点 |
缺点 |
---|---|
|
|