我可以强制git diff将文件视为副本吗?

时间:2009-04-20 20:40:44

标签: git version-control diff

git中的diff功能具有“复制检测” - 如果它检测到新文件实际上是现有文件的(可能已修改)副本,则diff输出显示源文件和新文件之间的差异而不只是从空白文件到新文件的一堆添加。

据我所知,git diff使用了一些启发式方法来检测这种情况。不幸的是,它没有将特定的新文件检测为另一个文件的副本,因为我猜它已经发生了太大的变化。我仍然希望将差异视为副本。有没有办法通知git diff新文件是另一个文件的副本,以便它能为我做这个?

3 个答案:

答案 0 :(得分:2)

git diff(至少我的1.5.6版本)附带了交换机--find-copies-harder,它比常规-C执行更多的cpu密集型复制检测。

答案 1 :(得分:0)

只是想确保它已添加到git repo。

另外,如果您知道原始文件,为什么不直接使用diff?

答案 2 :(得分:0)

您是否尝试将两个文件放入差异?

类似

git diff --stat -p --find-copies-harder -- src/OldFile.java src/main/NewFile.java

我想你做了,以防万一......