如何还原具有多次提交的git合并

时间:2015-09-02 23:20:55

标签: git git-merge revert

我有两个分支new-uivideo-upload,我正在尝试合并它们。在合并它们之前,我应该创建一个新的分支来保存两者的结果....以确保合并结果是我正在寻找的。我没有,所以我想颠倒整个合并(理想情况下,无需返回日志并手动完成)。

在fork之后的两个分支都已经应用了更改/提交。所以,正如你可以想象的那样,两者的历史都非常混乱。

我想将new-ui恢复到我刚刚合并video-upload之前的状态。然后我可以继续创建一个新分支,然后在那里进行合并。

最好的方法是什么?

1 个答案:

答案 0 :(得分:-2)

Git在这里有两个有用的属性:你的合并提交链接到它的两个父项(合并前的new-uivideo-upload),即使它没有,git也非常保守删除历史记录如果你要做的就是撤消合并,你可以通过几个选项找到你正在寻找的提交:

  • git log new-ui查看new-ui
  • 的合并历史记录
  • git reflog查看您已检出的内容的历史记录,如果没有名称或分支指向它,则会特别方便

然后有两个选项让new-ui再次指向它:

  • git checkout YOUR_COMMIT_HASH -B new-ui使指向YOUR_COMMIT_HASH之前指向的任何内容
  • git reset --hard YOUR_COMMIT_HASH,如果您已经签出new-ui将删除任何本地更改,请查看YOUR_COMMIT_HASH,并将当前分支(new-ui)指向该处< / em>的