3

到目前为止,我们的开发团队一直在使用基于 Lock 的 SCM(Source Control Management)系统。最近,我们面临着用新的、更好的系统更换系统的必要性。

作为一个新系统,我建议使用 Git。除了包括我在内的少数人,他们从未听说过 Git。所以我对此做了一些解释。

问题是他们认为合并系统而不是锁定系统不能安全地保持源代码的完整性。

尽管我解释了 Git 的系统以及许多已经在使用 Git 系统的知名项目并享有很高的声誉,但他们从未对 Git 感到放心。

我怎样才能让他们对此感到放心?我如何解释合并不是问题?

4

1 回答 1

0

本身基于合并的系统并不比基于锁的系统好。这完全取决于您的项目。如果您有不可合并的文件,则基于锁的系统可能会更好。

但是,如果我正确理解您的问题,您想知道如何说服您的同事。

你可能会说 linux 是一个很好的例子,linux 开发永远不可能使用基于锁的系统。但是,linux 有一个庞大的开发基础,您的团队可能还没有。所以这真的不是争论。如果对您来说不是问题,那么可扩展性和多用户带来的所有好处都不适用。

但是,您的同事担心代码完整性。这就是为什么你应该改变系统。基于锁的方法是以文件为中心的。(当然有像svn这样的中间解决方案,但是假设你使用像cvs och vss这样的东西)。然而,一个单独的文件很少单独分发。

也就是说,一个文件的更改将影响其他文件,因为它们相互通信。使用基于锁的方法,您永远无法确定您的更改将如何影响其他同事的更改。如果您将文件 A 更新为 rev 2 并使用文件 B rev 1 对其进行测试,然后您的同事将文件 B 更新为 rev 2,您怎么知道它会起作用?为什么你的同事甚至会认为这可能是一个问题?他只碰了文件B,他为什么要测试文件A?

使用 git,您可以采用基于系统的方法来解决问题。每个更改都是对整个存储库的更改,您始终可以拥有一个可以保证工作的版本。关键是,只看一个文件,无论如何你都会破坏代码的完整性。

于 2013-06-30T10:25:47.040 回答