[阅读: 560] 2009-04-13 06:45:58
1. 一是git采用分布式的代码仓库, 每个人自已一套,理论上会增加代码不一致的可能性,虽然可以通过人为的process规章来减弱和消除这种影响,但是会增加人工成本. 具体的来讲,比如张三提交了一个branch,李四需要在张三的基础上做自已的修改,李四需要手动在自已的repository里打上张三的patch或是pull张三的branch,这两种方式都不好,前面有个手工的过程,不符合process的哲学.后面一个需要每个工程师的开发用机都24小时在线,同时也会带来安全性问题,因为每个开发用机都要开启git server
2.git版本管理的单位是repoistory,当一个project很大时可以用repo来管理多个repoistory,我的感觉是 repoistory粒度太大,具体来说就是git的分枝,提交这些个概念是针对一整个repository(可以理解为一个目录及下面所有的文件), 如果是针对每个文件和目录有自已的分枝,提交,自已的verison tree会灵活很多,最大的好处就是多个人改同一个文件,各改各的,互不影响, 当然,整个概念上和操作上可能也会复杂一些.