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