コード レビュー ツールとして Gerrit と共に git を使用し、関連付けられたインターフェイス (MyModel) を持つモデル クラス (MyModelImpl) を使用します。このセットアップはやり過ぎであることがわかったので、インターフェイスを削除したいと考えています。また、MyModel クラス名をコードに保持したいと考えています。そこで、"MyModel.java" を削除して "MyModelImpl.java" を "MyModel.java" に名前を変更し、すべてがコンパイルされるように内容を変更します。また、以前は「MyModelImpl.java」として知られていたファイルの履歴をそのまま保持したいと考えています。
単一のコミットでこれを行うことは可能ですか?
もちろん試してみましたが、Gerrit で「MyModelImpl.java」が削除され、「MyModel.java」が完全に変更されていることがわかります。そして、「MyModelImpl.java」の履歴が失われます。
「MyModel.java」を削除するだけではコミットがコンパイルされず、MyModel のすべての使用を MyModelImpl に変換してコミットし、その後に MyModelImpl を MyModel に名前変更して 2 回目のコミットを行うため、1 回のコミットで実行したいと考えています。大規模なコミットが発生し (ほとんどの場合、相互にキャンセルされます)、コード レビューが困難になります。