撤销刚刚推送的 Git 合并并重新执行合并操作。

3

我有一些本地提交,而主分支上也有更改。所以我执行了以下操作:

 git pull // it automatically merged and had a conflict with one file only.
 subl <file> // Made the wrong fix and saved it
 git commit // It opened nano and I Typed "fixed merge" saved it 
 git push master origin

我要如何回到合并之前,重新进行合并和推送操作?尤其是回到合并之前的状态。


这里有关于撤销合并的更详细说明:撤销合并 - 108
2个回答

6

您可以使用以下命令撤销该合并:

git revert -m 1 (Commit id of the merge commit)

更多信息可以在官方指南中找到。

您还可以通过使用git reflog <branch>来查找合并之前的分支位置,然后使用git reset --hard <commit_id>来恢复旧版本(您将回到此提交)。然后只需push即可将其推回。

Reflog将显示分支的旧状态,因此您可以将其返回到任何您喜欢的更改集。

确保您处于正确的分支中


那么,我这样做并进行拉取后,我会得到之前遇到的相同冲突吗?我发现我用错误合并进行的推送仍然在主分支上? - IskandarG
3
这导致 Git 错误地认为已合并的提交仍然在目标分支上。 - Karol Gasienica

0

你可以回退到上一个提交:

git revert HEAD

它将把您的提交还原为一个新的提交


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接