Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 在这种情况下,如何避免这么多合并冲突?_Git_Merge Conflict Resolution - Fatal编程技术网

Git 在这种情况下,如何避免这么多合并冲突?

Git 在这种情况下,如何避免这么多合并冲突?,git,merge-conflict-resolution,Git,Merge Conflict Resolution,我理解,当存在“竞争”提交时,会出现合并冲突。在只有一个repo分支,并且有两个参与者(都具有写访问权限)的情况下,我认为当第二个提交尝试推到涉及公共文件行的第一个提交上时,合并冲突就会实现 我们如何避免这种情况?因为我和我的合作者很少编辑同一个文件,我建议他 git pull origin master 在他开始做任何事情之前。但是,他报告了这一错误: error: You have not concluded your merge (MERGE_HEAD exists) 我这样问是因为

我理解,当存在“竞争”提交时,会出现合并冲突。在只有一个repo分支,并且有两个参与者(都具有写访问权限)的情况下,我认为当第二个提交尝试推到涉及公共文件行的第一个提交上时,合并冲突就会实现

我们如何避免这种情况?因为我和我的合作者很少编辑同一个文件,我建议他

git pull origin master 
在他开始做任何事情之前。但是,他报告了这一错误:

error: You have not concluded your merge (MERGE_HEAD exists)
我这样问是因为大多数关于合并冲突的解释都涉及到对分支和拉请求的上诉,可能不必提及这些来获得解释, 合并冲突发生在合并具有竞争提交的分支时,Git需要您的帮助来决定在最终合并中合并哪些更改

Git通常可以解决分支之间的差异并自动合并它们。通常,更改在不同的行上,甚至在不同的文件中,这使得合并对计算机来说很容易理解。然而,有时候有一些相互竞争的变化,没有你的帮助Git无法解决。通常,当人们对同一文件的同一行进行不同更改时,或者当一个人编辑文件而另一个人删除同一文件时,会发生合并冲突

在您的情况下,一个回购分支和两个或多个参与者必须推动其提交。在我们的初创公司中,我们也有同样的快速迭代方法。 这里的方法是这样的-

  • 确保你们都有干净的分支开始
  • 每当一些人必须推送其提交时,首先
    隐藏他们的更改(如果存在)
  • 然后执行git pull--rebase这使用了rebase合并策略。(此步骤将确保不会出现不必要的冲突,只需执行git pull,即可
    pull
    更改,并
    merge
    使用rebase
    pull
    merge
    进行更改
  • 然后用git-push
    git-push
    推送这些更改
  • 当有人在其他人之前推送提交时,不会再有冲突