是否可以使用Git找到两个任意文本文件之间的差异?

时间:2012-01-30 09:53:55

标签: windows git

这些文件不一定受版本控制。

仅供参考:我在windows xp上使用git和git gui。

4 个答案:

答案 0 :(得分:10)

除非一个或两个文件位于git存储库之外,否则您需要使用--no-index选项:

git diff --no-index path/to/file.txt path/to/other/file.txt

您也可以使用具有相同参数的git difftool来调用GUI工具。

答案 1 :(得分:6)

是的,git diff适用于两个未版本化的路径,包括文件和目录(递归差异)。我认为你不能从gui做到这一点;你需要使用命令行。

如果您想要GUI,我建议您安装kdiff3。它也可以被git用作合并工具,而不是设置diff.tool = kdiff3diff.guitool = kdiff3difftool.kdiff3.path = 路径到kdiff3.exe

答案 2 :(得分:1)

在git bash中你可以只使用 diff file1 file2
使用tortoisegit - 选择两个文件,右键单击选择tortoisegit并单击diff。

答案 3 :(得分:0)

您不仅可以使用git diff(使用git diff --no-index -- file1 file2来执行此操作,现在也可以使用git difftool来执行此操作(2019年第二季度Git 2.22)!
在过去两年中这是不可能的。

git difftool”现在可以在存储库外部运行。

请参见commit 20de316commit 1a85b49commit 1dcda05Johannes Schindelin (dscho)(2019年3月14日)。
(由Junio C Hamano -- gitster --commit b72e907中合并,2019年4月25日)

  

difftool:允许使用--no-index

在Git工作树之外运行      

据开发人员所知,从Perl脚本转换为   一个内置函数导致difftool不再运行   在Git工作树之外(当然还有--no-index)。

     

退休后花了两年多的时间,这有点令人尴尬   Perl版本可以发现这种回归,但是至少我们现在知道了,并且   可以为此做些事情。

     

它修复了git-for-windows/git issue 2123