如何在同一分支中的两个文件之间执行git diff
&同样的提交?
即。 git diff fileA.php fileB.php
(理想情况下,git
提供的易于阅读的颜色编码......或与BeyondCompare程序类似的颜色编码!)
答案 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