git diff用于任何存储库之外的自定义2文件?

时间:2018-06-16 15:18:50

标签: git comparison diff git-diff

对于我在任何存储库之外的2个文件,我需要git diff个功能。有办法吗?像git diff --file1 /path/file1.txt --file2 /path/file2.txt这样的东西如果没有,那可能是另一种解决方案?

2 个答案:

答案 0 :(得分:2)

答案恰好在the git diff documentation(虽然我承认很容易错过):

  

git diff [< options>] - no-index [ - ]< path> <路径>

     
    此表单用于比较文件系统上给定的两个路径。在由Git控制的工作树中运行命令时,可以省略--no-index选项,并且至少有一个路径指向工作树之外,或者在Git控制的工作树外运行命令。

您的案例可能属于“--no-index可选”类别,但即使它是可选的,您仍然可以使用它,所以:

git diff --no-index /path/file1.txt /path/file2.txt

将使用Git的差异。

答案 1 :(得分:0)

如果这两个文件确实在任何Git存储库之外,那么Git实际上并不“知道”有关这些文件的任何内容,因此git diff将无效。但是,常规Linux diff命令应该可以正常工作。所以不要这样做:

git diff /path/to/file1.txt /path/to/file2.txt

这样做:

diff /path/to/file1.txt /path/to/file2.txt