1

現在、変更セット 1 に 1 つのファイルがあります。

A.java

statements_0
statements_1
statements_2

リファクタリング中に、statements_1 を B.java に移動します。となることによって:

A.java:

statements_0
statements_2

B.java

statements_1

states_1 の変更履歴を維持する方法はありますか?

つまり、今後のコミットでは、statements_1 からチェンジセット 1 までをいつでもトレース バック (および diff) できるということです。

4

1 に答える 1

1

あなたは試すことができます

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

( の-Lオプションgit loggit1.8.4のもので、ここに示されています)

ファイル間の移動を検出するオプションを 追加する必要がある場合を除いて、この回答で提案されているようにgit blame、を使用することもできます。-C10

(' '10なぜなら、Git がファイル間の移動/コピーとしてそれらの行を親コミットに関連付けるために検出しなければならない英数字の数のデフォルトの境界は 40 であるためです。検出されます)。statements_1statements_1

git rblame -M -n -L1,1 -C B.java
于 2013-11-11T07:54:45.203 に答える