git比较同一分支上的两个文件,相同的提交

对不起,如果这个问题存在,我惊讶地找不到它:/

我怎么能在同一个分支内的两个文件之间执行git diff

git diff fileA.php fileB.php

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

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

如果你想在两个任意文件上使用git diff ,你可以使用git diff --no-index <file_a> <file_b> 。 这两个文件不需要在git进行跟踪,以使其工作。

如果你想比较的文件在你的工作副本中,你可以像别人一样使用简单的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 

为了让gnu diff看起来更像git diff,我会推荐这些参数:

 diff -burN file_or_dir1 file_or_dir2 

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

它工作的很好,但仍然没有颜色和混帐式自动分页几乎不存在。 如果你想解决这两个问题(我这样做),安装colordiff并像这样使用它:

 colordiff -burN file_or_dir1 file_or_dir2 | less -R 

这使得输出和接口非常接近实际的git diff

如果你想在同一个目录下比较两个本地文件,只需使用diff。

 diff fileA.php fileB.php 

只需使用常规差异。

 diff -Nua fileA.php fileB.php