【发布时间】:2017-08-19 21:26:46
【问题描述】:
我有一个存储库,其中许多文件已从 .html 重命名为 .php 并在我上次拉取后的许多提交中进一步编辑。使用git diff 显示所有已删除的html 内容和所有已添加的php 内容。有没有一种巧妙的方法让 git diff 检测重命名(类似于 git log --follow 那样),或者直接比较不同提交中的不同文件名(类似于 Git: How to diff two different files in different branches? 中的解决方案,但对于提交)?
【问题讨论】:
-
原来改文件的时候用
git mv了吗? -
git diff commit1:file1_path commit2:file2_path
-
这可以解决问题,谢谢,请转换为答案,以便我接受。 (不幸的是,它在单个文件级别,但我现在可以做需要做的事情。)
-
@dave:实际上不确定 - 其他人移动了文件。
-
@dave:这实际上并不重要。 Git 通常通过进行树比较来检测 重命名(而不是记录它们)。但是,这需要您区分两个完整的树,而不是树中的两个特定文件。