1

我对 git 很陌生,所以我仍然对这个工具有所了解。

我有一个涉及合并的“小”问题。基本上时间线如下:

  1. 使用 git-svn 桥从 SVN 进行变基
  2. 有我合并但从未提交过的冲突
  3. 做了其他工作...很多并提交了许多其他更改
  4. 试图推动并得到“致命的:你还没有结束你的合并 MERGE_HEAD 存在”
  5. 我按照http://www.btaz.com/scm/git/git-fatal-you-have-not-concluded-your-merge-merge_head-exists/的建议做了一个“git reset --merge ORIG_HEAD”
  6. 修复了合并问题
  7. 愚蠢地提交更改并推送

现在我意识到上次合并中丢失了一堆更改,我想知道如何最好地撤消合并并让 git 允许我将更改推送到原点?

我希望我已经把问题说清楚了......如果不是打败我的话

4

2 回答 2

2

我不清楚如何修复它,但它git reflog是一个非常强大的工具。它将向您展示 repo 发生的一切。然后,例如,您可以从历史记录中挑选提交,即使它们不在工作的主分支中。

于 2012-05-02T00:20:34.553 回答
0

使用前面提到的git reflog命令查找您的“丢失”提交。您可以使用git show来查看每个提交。然后,我建议将这些提交挑选到您当前的分支中,一次完成一个合并。显然,您应该随时进行测试(您确实有单元测试,不是吗?:-)。一旦你选择了所有的提交,你就可以自由地推送你的更改。

于 2015-09-02T13:07:05.837 回答