两个不同文件之间的git diff

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

HEAD(最新提交)中,我有一个名为foo的文件。在我当前的工作树中,我将其重命名为bar,并对其进行了编辑。

我想在git diff中使用foo HEAD,在我当前的工作树中使用bar

git diff
4个回答
93
投票

查看--find-renamesgit-diff上的https://www.kernel.org/pub/software/scm/git/docs/git-diff.html选项

或者明确指定路径:

git diff HEAD:full/path/to/foo full/path/to/bar

(信用来自Git: How to diff two different files in different branches?的twaggs)


21
投票

我相信使用--no-index是你正在寻找的:

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

如git手册中所述:

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


4
投票

如果您正在使用togise git,您可以右键单击文件并通过以下方式git diff:右键单击第一个文件,然后通过tortoisegit子菜单选择“Diff later”然后在第二个文件上,您也可以右键单击此,转到tortoisegit子菜单,然后选择“Diff with yourfilenamehere.txt”


-6
投票

使用PhpStorm,我只需复制prev commit代码并使用内置的“与剪贴板比较”工具将其与当前版本进行比较。

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