重命名文件的 git diff

问题描述 投票:0回答:3

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

我想在

git diff
中的
foo
和当前工作树中的
HEAD
之间进行
bar

git diff
3个回答
301
投票

我相信使用

--no-index
就是您正在寻找的:

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

正如 git 手册中提到的:

此形式用于比较文件系统上给定的两个路径。你可以 在工作树中运行命令时,省略

--no-index
选项 由 Git 控制并且至少有一个路径指向外部 工作树,或者当在工作树之外运行命令时 由 Git 控制。


266
投票

明确指定路径:

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

查看

--find-renames
docs
中的 git-diff 选项。

信用:twaggs

git diff <path> <path>
将比较两个工作树文件,只要其中至少一个不在 git 存储库中或者该命令是从 git 存储库外部运行的。如果你想确保 git 知道你只比较工作树中的文件(即目录中的文件而不是添加或提交到 git 的文件),请使用
git diff --no-index <path> <path>


4
投票

如果您使用 tortoise git,您可以右键单击文件并通过以下方式进行 git diff: 右键单击第一个文件,然后通过 tortoisegit 子菜单选择“稍后比较” 然后在第二个文件上,您也可以右键单击该文件,转到 tortoisegit 子菜单,然后选择“与 yourfilenamehere.txt 进行比较”

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