本身基于合并的系统并不比基于锁的系统好。这完全取决于您的项目。如果您有不可合并的文件,则基于锁的系统可能会更好。
但是,如果我正确理解您的问题,您想知道如何说服您的同事。
你可能会说 linux 是一个很好的例子,linux 开发永远不可能使用基于锁的系统。但是,linux 有一个庞大的开发基础,您的团队可能还没有。所以这真的不是争论。如果对您来说不是问题,那么可扩展性和多用户带来的所有好处都不适用。
但是,您的同事担心代码完整性。这就是为什么你应该改变系统。基于锁的方法是以文件为中心的。(当然有像svn这样的中间解决方案,但是假设你使用像cvs och vss这样的东西)。然而,一个单独的文件很少单独分发。
也就是说,一个文件的更改将影响其他文件,因为它们相互通信。使用基于锁的方法,您永远无法确定您的更改将如何影响其他同事的更改。如果您将文件 A 更新为 rev 2 并使用文件 B rev 1 对其进行测试,然后您的同事将文件 B 更新为 rev 2,您怎么知道它会起作用?为什么你的同事甚至会认为这可能是一个问题?他只碰了文件B,他为什么要测试文件A?
使用 git,您可以采用基于系统的方法来解决问题。每个更改都是对整个存储库的更改,您始终可以拥有一个可以保证工作的版本。关键是,只看一个文件,无论如何你都会破坏代码的完整性。