从单个家长查看git差异

从单个家长查看git差异,git,git-merge-conflict,Git,Git Merge Conflict,比如说,我遇到了一个合并冲突,我设法修复了它,但还没有标记为已解决(即,我还没有完成git添加冲突文件)。此时,我可以执行git diff,并将以组合的diff格式向我展示结果文件与每个父文件的不同之处 到目前为止一切都很好。现在,我想分别检查结果文件与单个父文件的区别。当然,对于涉及两个父级(cherry pick、rebase等)的合并冲突,我可以使用git diff--ours或git diff--theres,但如何将其扩展到更多的父级 换句话说,如果我从3个家长那里得到了冲突,是否可以

比如说,我遇到了一个合并冲突,我设法修复了它,但还没有标记为已解决(即,我还没有完成
git添加
冲突文件)。此时,我可以执行
git diff
,并将以组合的diff格式向我展示结果文件与每个父文件的不同之处

到目前为止一切都很好。现在,我想分别检查结果文件与单个父文件的区别。当然,对于涉及两个父级(cherry pick、rebase等)的合并冲突,我可以使用
git diff--ours
git diff--theres
,但如何将其扩展到更多的父级

换句话说,如果我从3个家长那里得到了冲突,是否可以查看每个家长的个人差异

而且,我对<代码>--我们的<代码>和<代码>--他们的<代码>的发现是相当偶然的;我找不到在不同的上下文中记录它们的用法。

如果

git diff :1:foo.txt :3:foo.txt
不做你想做的,我想你必须做

git ls-files -u
使用git show$sha1>$sha1.txt创建一些临时文件并进行比较


另请参见:

您可以
diff
在repo中使用任何特定提交的工作树。这对您来说够了吗?如果文件仍然标记为“C(冲突)”,您可能需要手动
git重置它,然后您可以
git diff
使用您想要的任何版本。可能只是一个通知的副本。尽可能尝试使用“重基”而不是合并。这会让你的生活更轻松。。。