2011-12-13 87 views
12

给定一个冲突的文件foo.txt,如何告诉git diff显示文件和文件的“他们”版本的基础版本之间的变化?Git比较“基本”版本与“他们”版本的冲突文件?

我可以通过git show :1:foo.txtgit show:3:foo.txt看到每个版本 - 有没有简单的方法来比较两个版本?

+1

此链接显示了如何查看失败的补丁:http://stackoverflow.com/questions/2118364/how-to-identify-conflicting-by-hash-during-git-rebase --ie,它解释了如何查看“他们的”补丁。 – Eddified

回答

14

git diff :1:foo.txt :3:foo.txt

+0

混帐一定是什么地方引入了今天,我问这个问题的时间之间的语法,谢谢你的好消息:) –

+0

这句法已经使用了很多年。只是为了确定我从2008年4月的一个相当古老的版本(1.5.5)中试用了它,它确实有效。 :) – jsageryd

+0

我发誓我尝试过,所以要么我犯了一些愚蠢的错字,或者它在特定版本中被破坏。我想我永远不会知道:) –

1

只需输入git diff,这将只显示冲突。

延伸阅读:Advanced Merging

通知的--base--theirs论据diff

+0

我只想看到“他们”的变化。当块很大时,很难从'git diff'的输出中单独推断出来。 –

+0

如果你的意思是很难看出你可能想用'git difftool'然后选择你喜欢的diff ui,比如meld。 –

+0

谢谢,我知道这一点(也是diff3冲突风格选项)。我只是想快速查看文件上的“他们”的变化。 –