目前我在变更集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。
答案 0 :(得分:1)
你可以试试
git log --follow -L1,1:B.java
(git log
的-L
选项来自git1.8.4且illustrated here}
您还可以使用git blame
作为suggested in this answer,除非您需要添加-C10
选项来检测文件之间的移动。
('10
'因为Git必须检测到的字母数字字符数的默认界限是为了将这些行与父提交相关联而在文件之间移动/复制是40。如果'{{1} }'实际上是'statements_1
',它太小而无法检测到。)
statements_1