我可以 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。
当文件名或路径发生变化时,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。