我对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
)(我的意思是工作流程)
答案 0 :(得分:2)
这在理论上很容易。人物A将他的修改版本推送到遥控器。现在,人物B和C具有不一致的a.txt版本。如果他们试图推送他们的版本,git将不允许这样做(提交是可能的,因为提交不会进入远程服务器)。
在推送之前,他们必须从远程服务器提取更改。 Git会尝试将它们与本地更改合并。如果git failes(因为它们改变了相同的行),Persons B / C需要手动解决冲突。然后他们可以再次提交并推送到远程服务器。嗯,只有一个人可以做到这一点。最后一个必须再次执行此操作(因为远程版本与本地版本相比再次更改)。
这就是理论。大部分时间这都很有效。