如何对已移动/重命名的文件执行gitdiff?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

我用git mv。现在,我想对新文件做一个区分,以便将它与旧文件(与旧的、现在不存在的名称)进行比较。

我该怎么做?

提问于
用户回答回答于

需要使用-m让git在扩散时自动检测移动的文件。只使用git diff就像Knittl提到的那样,对我不起作用。

所以简单地说:git diff -M应该这么做。

此开关的文档如下:

-M[<n>], --find-renames[=<n>]
       Detect renames. If n is specified, it is a threshold on the similarity index 
       (i.e. amount of addition/deletions compared to the file’s size). For example, 
       -M90% means git should consider a delete/add pair to be a rename if more than
       90% of the file hasn’t changed.
用户回答回答于

你可以随时使用:

git diff HEAD:./oldfilename newfilename

何地HEAD:./oldfilename在最后一次提交(在头)中,表示相对于当前目录的oldfilename。

如果没有足够的新git,则必须使用:

git diff HEAD:path/to/oldfilename newfilename

扫码关注云+社区