最近有一个问题是,用“保留所有版本”的文件系统或工具来有效地替换本地源代码控制系统。
许多答案本质上说源代码控制系统不仅仅是保留过去的版本,甚至对于个人开发人员也是如此 - 我认为这是正确的。
所以,问题是:有什么原因需要源代码控制?其中哪些是最重要的?
我对源代码控制功能不是很感兴趣,而是对这些功能存在的原因感兴趣。
这是十人的首发,但我想知道我是否错过了一些:
- 保留所有版本,尤其是那些形成已发货产品的版本
- 当两次尝试发生冲突更改时,使团队能够编辑和防止(或至少发出警报)
- 轻松查看文件版本之间的差异(涵盖前两个开发人员借口:“我没有更改任何内容”和“我的更改不应该这样做”)
- 防止开发人员事故(无意中删除/更改代码)
- 防止硬件问题(故障磁盘等)
- 允许开发几个不同的代码库,同时最大限度地减少未更改文件的重复。
- 记录谁改变了某些东西,以及为什么
- 在不破坏主要代码库的情况下启用实验性更改
为什么要使用源代码控制?