我可以 git diff 一个名称已更改的文件吗?

Can I git diff a file which name has changed?

当文件名或路径发生变化时,git status不会告诉我有修改的文件,而是告诉我有删除的文件和创建的文件。 git diff 向我展示了文件先前版本的所有内容,但没有向我展示新内容(因为它是一个新文件)。

是否可以查看名称或路径已更改的文件中的更改?

是的,添加已删除和创建的文件,然后 运行 索引上的差异:

git add oldname newname
git diff --cached oldname newname

如果文件差异太大,diff 将单独显示它们,否则将它们显示为更新的单个文件(使用新名称和一些更新的内容)。

此外,正如@YesThatIsMyName 提到的,您可以在 Git 中直接使用 git mv oldname newname 重命名文件,而不必 运行 git add oldname newname 移动文件后。

您可以使用 --follow 切换 git log。它将显示已提交更改的历史记录,即使在重命名之后也是如此。

git log --follow renamedfile.cs

有关详细信息,请参阅 here

此外,请参阅这个有趣的相关问题 here