Git 从不同的分支合并恢复代码

Git merge from a different branch reverts code

我添加了一张描述我们 git 提交流程的图片。基本上,两个用户签出一个开发分支。然后他们创建自己的功能分支并对一个文件进行更改(文件的不同部分,因此没有冲突)。第一个用户更改文件并提早合并到开发分支。后来一直在处理该文件的早期副本的第二个用户进行了新的更改,也进行了合并以进行开发。来自第二个用户的合并没有冲突,但恢复了第一个用户所做的更改。我们如何防止这种情况?在审查没有任何合并冲突的拉取请求时,有时会遗漏一些小细节。

请让第二个用户在合并之前从 develop 拉取更改。

git pull --rebase

尝试做一个变基并修复可能出现的冲突:

git rebase origin/BRANCH

然后如果有冲突先尝试修复它。

这将确保他们的更改首先到达您手中,并且您可以在提交/推送之前处理它们。变基总是最好的,这样你所做的更改仍在提交中。

解决方法如下: 两个用户和两个功能分支

1.First 用户合并 featureBranch1 的更改进行开发 2.Second 用户在 featureBranch2 中进行更改,但第二个用户必须执行以下步骤以在合并后将第一个用户所做的更改合并到开发分支中

git rebase develop (This moves the entire featureBranch2 to begin on the tip of the develop branch, effectively incorporating all of the new commits in develop)

抱歉延迟回复。该解决方案比使用 rebase 更容易。在合并拉取请求之前,第二个用户必须在他们的功能分支中简单地调用 git pull origin development。如果在拉取时有冲突,用户必须解决冲突并推送到他们的分支。然后审查者应该再次审查拉取请求并批准。