Git 是 Linus Torvalds 最近实现的源代码管理软件。Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。
优点:
1).免费,开源项目android都用它。
2). 分支更快、更容易。
3). 支持离线工作,本地提交可以稍后提交到服务器上。
4). Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的。
5). Git 中的每个工作树都包含一个具有完整项目历史的仓库。
6). 这个工具最大的好处就好像word中关闭文件前的撤销功能。就是它在开发开始的时候首先checkout出代码,然后建立一个分支,开始开发。修改代码后,提交(仅在本地保存版本信息,未提交到服务器)。等一个任务完成后合并到主干,然后提交到代码服务器。也就是上面提到的离线开发。由于分支是在本地建立的,所以不管是提交还是建立分支,合并分支,速度都会很快。
7). git引入一个索引(index)的概念,提交前,需要把要提交的文件加入到git索引(index)中:
git add path/filename1
git add path/filename2
然后提交.
8). ClearCase是集中控制的,而Git是分布式的,也就是不再有统一的配置库,每个人的PC上都可以有一个库,自己基于自己的库进行版本管理。Git两点最重要:
- branch 更方便;
- merge更方便。
缺点:
1). Git 没有对版本库的浏览和修改做任何的权限限制。它只适用于 Linux / Unix 平台。
2). Git 分布式版本管理系统,适用于参与开源项目的开发者。 他们由于水平高,更在乎的是效率而不是易用性。靠开发人员本身自我约束。
由于版本过多,权限管理无限制,人员流动可能造成资产流失的风险,不适合公司项目管理。
3).Clearcase 则不同, 它适合公司开发团队。使用起来更加容易。是集中式版本管理系统。
Clearcase具备完整统一变更管理平台以CC、CQ的实施为整体基础的计划管理、需求管理、缺陷跟踪、任务管理等,提高项目监控和管理水平。
实现对变更和缺陷进度的监控,跟踪、对开发员的工作量和进度的监控跟踪。通过CC -CQ 统一变更管理、需求、变更或缺陷到代码版本和代码行之间关联实现眼更变更管理控制,而且便于实现 review。
总结:
版本计划,任务缺陷跟踪 有效的跟踪和管理,项目源代码和发布软件 一致,完整,准确。使得版本质量得到保证。
流程统一
账号统一
集中管理
适用范围:
Git 适用于通过Internet,有多个开发角色的单个项目开发.
Clearcase适合企业内部由项目经理统一协调的多个并行项目的开发.
权限管理策略:
Git 没有严格的权限管理控制,只要有帐号,就可以导出、导入代码,甚至执行回退操作。
删除分支等,导致细节丢失!过程不完整!权限需要通过脚本工具等来定义实现.
Clearcase则有严格的权限管理,简单方便。