合并后,我解决了部分冲突,但我发现,在当前的冲突中,我保留了错误的代码部分。错误地,这里已经完成了一次提交,而且(不是因为这个原因),在解决这个冲突之前,我不能返回撤销。有什么办法能让我回到以前的冲突中吗?
更详细:
发布于 2014-07-10 23:02:18
git rerere有时也是一种选择
有几种方法可以解决这个问题。例如,如果您在开始解决冲突之前打开了git rerere,那么您就可以从头开始重新执行合并,并且用git rerere自动重新应用您的冲突解决方案。
另一种解决办法,只为你
但是,由于您已经提交了更改,所以实际上可以通过使用git checkout <revision> -- <file>重新应用以前的冲突解决方案,其中<revision>是当前合并提交的commit:
# First, let's undo your merge
git reset --hard <previousCommit>
# Next, redo the merge
git merge <branch>
# Next, we'll reapply your previous resolutions
# from the previous merge "PM", for files 1 and 2
git checkout PM -- file1
git checkout PM -- file2
# Next, go ahead and fix the conflicts for file 3...
# When you're done, commit
git commit解释
命令
git checkout <revision> -- <file>将检查来自<revision>的<revision>版本。您可以从正式文件中找到更多有关这方面的文档。
发布于 2014-07-10 19:53:36
这是你能做的。
git reset --hard HEAD~1这将使您的分支的头指向前一次提交。然后签出分支以获得最新的更改:
git checkout <branch>然后再进行合并。
git merge <branch>您可以在下面的链接中找到有关取消合并的详细信息。
http://git-scm.com/blog/2010/03/02/undoing-merges.htmlhttps://stackoverflow.com/questions/24681347
复制相似问题