我添加了一张描述git提交流程的图像。基本上,两个用户签出一个develop分支。然后,他们创建自己的功能分支,并对一个文件进行更改(文件的不同部分,因此没有冲突)。第一个用户更改文件并尽早合并到develop分支。后来一直在处理文件的较早副本的第二个用户进行了新的更改,并合并以进行开发。来自第二个用户的合并无冲突地合并,但还原第一个用户所做的更改。我们如何防止这种情况?在审查没有任何合并冲突的请求请求时,有时会遗漏一些次要细节。
答案 0 :(得分:1)
请在合并之前请第二个用户从开发中撤消更改。
git pull --rebase
答案 1 :(得分:1)
尝试重新设置基准并解决可能出现的冲突:
git rebase origin/BRANCH
然后,如果有冲突,请尝试首先进行修复。
这将确保在提交/推送之前将它们的更改首先交给您,并且您可以对其进行处理。始终最好重新设置基准,以便您所做的更改仍在提交中。
答案 2 :(得分:1)
以下是以下解决方案: 两个用户和两个功能分支
1。第一个用户合并featureBranch1的更改以进行开发 2.第二个用户在featureBranch2中进行了更改,但是第二个用户必须执行以下步骤以将第一个用户所做的更改合并到开发分支中
git rebase development (这会将整个featureBranch2移到developer分支的尖端,从而有效地将所有新提交纳入了Development)
答案 3 :(得分:0)
抱歉,响应延迟。该解决方案比使用rebase更容易。第二个用户必须在合并拉取请求之前停留在其功能分支中,而只需调用git pull origin development
。如果在拉动过程中存在冲突,则用户必须解决冲突并推送到其分支。然后,审阅者应再次审阅拉取请求并批准。