git diff两个文件在同一个分支上,同一个提交

时间:2012-12-20 02:19:50

标签: git

抱歉,如果这个问题存在,我出乎意料地找不到它:/

如何在同一分支中的两个文件之间执行git diff&同样的提交?

即。 git diff fileA.php fileB.php

(理想情况下,git提供的易于阅读的颜色编码......或与BeyondCompare程序类似的颜色编码!)

6 个答案:

答案 0 :(得分:223)

如果您想对两个任意文件使用git diff,可以使用git diff --no-index <file_a> <file_b>。无需在git中跟踪这两个文件即可使用。

答案 1 :(得分:67)

你不需要git,只需使用diff fileA.php fileB.php(或vimdiff,如果你想要并排比较)

答案 2 :(得分:13)

如果您要比较的文件在您的工作副本中,您可以使用其他人指定的diff,但是如果文件是某个版本,您可以为每个文件指定修订版

git diff <revision_1>:<file_1> <revision_2>:<file_2>

如上所述:https://stackoverflow.com/a/3343506/1815446

在您的情况下(为两个文件指定相同的修订版):

git diff <revisionX>:fileA.php <revisionX>:fileB.php

答案 3 :(得分:3)

为了使常规gnu diff看起来更像git diff,我建议使用以下参数:

diff -burN file_or_dir1 file_or_dir2

(其中-b忽略空格,-u统一差异,-r递归,-N将丢失的文件视为/dev/null。)

效果很好,但仍然没有颜色,几乎没有git风格的自动分页。如果你想修复这两个(我这样做),请安装colordiff并像这样使用它:

colordiff -burN file_or_dir1 file_or_dir2 | less -R

这使得输出和界面非常接近实际git diff

答案 4 :(得分:0)

如果要在同一目录中区分两个本地文件,只需使用diff。

diff fileA.php fileB.php

答案 5 :(得分:-3)

只需使用常规差异。

diff -Nua fileA.php fileB.php