Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git从过去的合并中获取冲突,而不再次运行合并_Git_Merge - Fatal编程技术网

git从过去的合并中获取冲突,而不再次运行合并

git从过去的合并中获取冲突,而不再次运行合并,git,merge,Git,Merge,我合并了两个分支。有很多冲突。解决了所有问题。现在我不确定,也许我在解决冲突时犯了一个错误。我看不出有其他方法可以检查它是否正确——只需再次运行merge,并逐个检查冲突 这意味着我需要再创建一个分支来存储合并结果,对吗 我可以避免吗?也许不需要再次运行merge,就可以从git中的某个地方获取所有冲突文件,其中包含所有这些。如果您想了解merge做了什么,您可以做什么 git show <hash-of-merge-commit> git reset --hard <has

我合并了两个分支。有很多冲突。解决了所有问题。现在我不确定,也许我在解决冲突时犯了一个错误。我看不出有其他方法可以检查它是否正确——只需再次运行merge,并逐个检查冲突

这意味着我需要再创建一个分支来存储合并结果,对吗


我可以避免吗?也许不需要再次运行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”要在文件中显示合并,也许你应该接受其中一个答案。我认为答案实际上并没有回答这个问题。后续合并不应显示与先前合并相同的冲突。