在我的公司,我们有一个颠覆服务器,每个人都在他们的机器上使用颠覆。但是我想使用 git,在本地提交更改,然后在我准备好时“推送”它们。
但是,我无法理解在以下情况下会发生什么。假设我在本地进行了 3 次 git 提交,现在我准备好“推送”颠覆服务器上的所有内容。如果我理解正确的话,git svn dcommit
基本上应该在服务器上按顺序进行 3 次提交,对吧?但是,如果与此同时(假设在第二次和第三次提交之间)我的另一个同事发布了一个提交,会发生什么?我能想到的场景是:
1)git 类型的“锁定”(这甚至可能吗?)提交期间的颠覆服务器,以便我的提交是原子的,而我的同事的提交是在我的之后完成的
2)服务器上的提交历史变成 mine1-mine2-other-mine3 (即使“其他”应该失败,因为我的同事当时没有更新的工作副本)。
我认为它是#2,但也许提交速度如此之高以至于这很少成为问题。那么哪个是#1 还是#2?