当多个用户在git上修改相同的源代码时

时间:2016-12-02 10:19:55

标签: git

我对git并不专业,而且这些日子在使用git时遇到了一些问题。

下面显示了三个文件:

a.txt
b.txt
c.txt

当三个用户尝试修改其中的每个文件时(人A a.txt人B b.txt人C c.txt),没有问题。

但是,当这些人同时尝试修改a.txt(这是远程服务器上的最新文件)时,可能会出现一些问题。

让我举个例子。

人员A 将修改后的a.txt推送到远程服务器,而其他人员仍在修改之前(人员A 推送之前) a.txt

在这种情况下,人B,C ' a.txt与远程服务器的新a.txt不一致。

如何解决这种情况?以及人们在修改相同文件时的工作方式(在上面的例子中,a.txt)(我的意思是工作流程)

1 个答案:

答案 0 :(得分:2)

这在理论上很容易。人物A将他的修改版本推送到遥控器。现在,人物B和C具有不一致的a.txt版本。如果他们试图推送他们的版本,git将不允许这样做(提交是可能的,因为提交不会进入远程服务器)。

在推送之前,他们必须从远程服务器提取更改。 Git会尝试将它们与本地更改合并。如果git failes(因为它们改变了相同的行),Persons B / C需要手动解决冲突。然后他们可以再次提交并推送到远程服务器。嗯,只有一个人可以做到这一点。最后一个必须再次执行此操作(因为远程版本与本地版本相比再次更改)。

这就是理论。大部分时间这都很有效。