如何维护Git提取到另一个文件的文件内容的更改历史记录?

时间:2013-11-11 06:25:17

标签: git version-control

目前我在变更集1中有1个文件:

A.java

statements_0
statements_1
statements_2

在重构期间,我将statements_1移动到B.java中。那样:

A.java:

statements_0
statements_2

B.java

statements_1

有没有办法维护statements_1的更改历史记录?

这意味着,在将来的提交中,我总是可以追溯(并做差异)在statement_1上直到变更集1。

1 个答案:

答案 0 :(得分:1)

你可以试试

git log --follow -L1,1:B.java

git log-L选项来自git1.8.4illustrated here}

您还可以使用git blame作为suggested in this answer,除非您需要添加-C10选项来检测文件之间的移动。

('10'因为Git必须检测到的字母数字字符数的默认界限是为了将这些行与父提交相关联而在文件之间移动/复制是40。如果'{{1} }'实际上是'statements_1',它太小而无法检测到。)

statements_1