在 GitHub for Windows 中撤消 Git 合并

Boo*_*d16 0 git merge git-merge github-for-windows

我需要撤消在 GitHub for Windows 中启动的合并。

它已同步到单个存储库,我尝试同步它,但收到冲突错误消息,因此我犯了“将远程跟踪分支“origin/pp-chart”合并到“pp-chart”中的错误。

我想撤销我所做的一切,我该怎么办?

fpi*_*tka 5

如果它被推动,我的建议是从现在开始坚持恢复。

  • Git 恢复

如果您有这样的合并提交:

Merge branch 'pp-chart'
Run Code Online (Sandbox Code Playgroud)

您可以像这样恢复合并(及其所有提交):

git revert -m 1 [hash of the merge commit]
Run Code Online (Sandbox Code Playgroud)

如果没有合并提交(在快进合并的情况下),您可以将它们全部还原,但仅在最后提交,如下所示:

git revert --no-commit [first hash]
git revert --no-commit [second hash]
git revert --no-commit [third hash]
git commit -m "my message"
Run Code Online (Sandbox Code Playgroud)

使用恢复,您不会有丢失任何东西的风险,因为您的提交历史记录保持线性。您始终可以恢复恢复,因为它只是原始提交的恢复差异。

  • Git 变基

另一种方法是进行交互式变基,并删除您不再需要的提交行,但它们将会丢失,因此复制您当前的分支以供以后恢复!

然后使用以下命令:

git rebase --interactive [hash of the commit prior to those you want to remove]
Run Code Online (Sandbox Code Playgroud)

它将打开一个编辑器,您必须在其中删除不需要的提交条目。请小心使用最后一个解决方案,但如果您没有信心,也许一开始就坚持使用恢复。

  • Git 硬重置

如果您的错误提交刚刚发生在您的历史记录中,也可以使用以下命令及时恢复:

git reset --hard [the last good commit you want]
Run Code Online (Sandbox Code Playgroud)

再说一次,请记住您的更改将在您正在进行重置的分支中丢失!