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

问题描述 投票:10回答:4

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

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

windows git
4个回答
6
投票

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

如果你想要GUI,我建议安装kdiff3。如果你设置diff.tool = kdiff3diff.guitool = kdiff3difftool.kdiff3.path =path-to-kdiff3.exe,它也可以被git用作合并工具


10
投票

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

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

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


1
投票

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


1
投票

你不仅可以使用git diff(使用git diff --no-index -- file1 file2),而且现在(qit 2.22,Q2 2019)再次使用git difftool! 过去两年是不可能的。

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

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

difftool:允许在qitxswpoi的Git工作场外跑步

就这个开发人员所知,从Perl脚本到内置的转换导致difftool中的回归,它不再在Git工作树之外运行(当然,使用--no-index)。

退出Perl版本花了两年多来发现这种回归有点令人尴尬,但至少我们现在知道并且可以做些什么。

它修复了--no-index

© www.soinside.com 2019 - 2024. All rights reserved.