在过去的几年中,我已经使用了几种不同的版本控制系统。对我来说,它们之间的根本区别之一是它们是分别对文件进行版本控制(每个文件具有其自己单独的版本编号和历史记录)还是对整个存储库进行版本控制(“提交”或版本代表整个存储库的快照) 。
一些“按文件”版本控制系统:
- CVS
- ClearCase
- 可视SourceSafe
一些“整个存储库”版本控制系统:
- SVN
- 吉特
- 水银
以我的经验,每个文件的版本控制系统仅导致问题,并且需要更多的配置和维护才能正确使用(例如,ClearCase中的“ config specs”)。我有很多实例,其中一位同事正在更改不相关的文件并破坏了理想的隔离开发路线。
这些按文件版本控制系统的优点是什么?每个文件版本控制系统没有的“整个存储库”版本控制系统有什么问题?