次のユースケースを検討してください。
メインブランチでリファクタリングが行われている間、ローカルブランチで作業しています。現在、一部のファイル (クラス) の名前が変更されているか、新しい場所に移動されています。マージすると、欠落しているクラスが原因で大量のインポート エラーが発生します。
--A--B--C--D--E-- (master)
\ \
F--G--H--I--J (topic)
でA
使用した古い名前がありますF--G--H--I
。
のファイルがリファクタリングされ、B--C--D--E
新しいファイル名がE
. これには、次のような連鎖的な名前変更が含まれます
B: path/to/File.java
-> C: path/to/BetterName.java
-> D: better/package/BetterName.java
-> E: final/package/FinalName.java
J
私のブランチにリファクタリングがないため、マージすると多くの(コンパイル)エラーが発生します。(私はまだpath.to.File
代わりに参照しているためfinal.package.FinalName
壊れたビルドを修正するには、古いクラスの新しい名前を知る必要があります。
特定のファイルに適用されたすべての名前変更を取得する git コマンドはありますか?