试用了一把Git,感觉Git的优势在于:
- 版本库本地化 ——每个开发者都拥有自己的版本控制库,在自己的版本库上可以任意的执行提交代码、创建分支等行为。例如,开发者认为自己提交的代码有问题?没关系,因为版本库是自己的,回滚历史、反复提交、归并分支并不会影响到其他开发者。
- 因为是私有的本地版本库,因此实现“真正的”脱机工作 成为可能。
- 只有在必要的时候,才会和公共版本库合并,每个开发者会在本地保存一个公共版本库的镜像,在提交时可与公共版本库同步以更新这个镜像,可以基于这个镜像和自己的私有版本库创建公共版本库的更新补丁 ,这个补丁可以以邮件、HTTP等多种传送方式去升级公共版本库。
- Git的“比较”功能很强大,归并文件速度比SVN要快 。
- Git的无污染性 ,git对于每个工程只会产生一个.git目录,这个工程所有的版本控制信息都在这个目录中,不会像SVN那样在每个目录下都产生.svn目录。
目前,Git的不足之处在于:
- Git缺乏细致的权限管理功能,这个与Git的产生背景及文化有关,Git秉承Linux自由开放的精神,本身没有权限管理的概念,而且估计很难在短时间内改变,只能期待第三方工具能弥补这个缺陷。例如在Linux下,Git版本库的权限管理一般是通过Linux系统共本身的用户权限管理来做的。SVN则有很多第三方管理工具供选择。
- Git虽然能归并文件,但不提供图形化的归并(merge)工具。例如,如果需要