git从过去的合并中获取冲突,而不再次运行合并
我合并了两个分支。有很多冲突。解决了所有问题。现在我不确定,也许我在解决冲突时犯了一个错误。我看不出有其他方法可以检查它是否正确——只需再次运行merge,并逐个检查冲突 这意味着我需要再创建一个分支来存储合并结果,对吗git从过去的合并中获取冲突,而不再次运行合并,git,merge,Git,Merge,我合并了两个分支。有很多冲突。解决了所有问题。现在我不确定,也许我在解决冲突时犯了一个错误。我看不出有其他方法可以检查它是否正确——只需再次运行merge,并逐个检查冲突 这意味着我需要再创建一个分支来存储合并结果,对吗 我可以避免吗?也许不需要再次运行merge,就可以从git中的某个地方获取所有冲突文件,其中包含所有这些。如果您想了解merge做了什么,您可以做什么 git show <hash-of-merge-commit> git reset --hard <has
我可以避免吗?也许不需要再次运行merge,就可以从git中的某个地方获取所有冲突文件,其中包含所有这些
。如果您想了解merge做了什么,您可以做什么
git show <hash-of-merge-commit>
git reset --hard <hash-of-commit-noted-above>
git秀
如果要重做整个合并,请执行以下操作
git checkout <branch-that-you-merged-to>
git reset --hard <hash-of-the-commit-just-before-the-merge>
git merge <branch-that-you-merged-in>
git签出
git重置——硬
git合并
如果您想重做合并,然后将第二次合并与第一次合并进行比较(考虑是否更好),您可以这样做:
git checkout <branch-that-you-merged-to>
git rev-parse HEAD
git签出
git-rev解析头
这将为您提供当前提交的哈希值。记下来。那就做吧
git reset --hard <hash-of-the-commit-just-before-the-merge>
git merge <branch-that-you-merged-in>
git重置——硬
git合并
完成合并,然后执行此操作以比较合并
git difftool <hash-of-commit-noted-above>
git difftool
如果您觉得原始合并更好,您可以这样做
git show <hash-of-merge-commit>
git reset --hard <hash-of-commit-noted-above>
git重置——硬
是的,它是微不足道的。首先,您需要使用git log
找到合并提交的sha1 id。当您执行下一步操作时:
git checkout <sha1>^1
git merge <sha1>^2
查看冲突解决方案中是否存在任何差异
顺便说一句,git中的branch只是commit的sha1的一个人类友好的名称,所以不要害怕创建它们
PS:如果您在Windows中工作,^
命令行中的符号是特殊的,您需要将其加倍或引用命令行参数。在合并过程中,您可以使用“git show:1:file.txt”进入合并基础,“:2:file.txt”显示合并目标文件“:3:file.txt”要在文件中显示合并,也许你应该接受其中一个答案。我认为答案实际上并没有回答这个问题。后续合并不应显示与先前合并相同的冲突。