我们使用 git,将 Gerrit 作为代码审查工具,我们有一个模型类 (MyModelImpl) 和关联接口 (MyModel)。我们已经意识到这个设置是多余的,所以我们想删除接口。我们还希望在代码中保留 MyModel 类名。所以我们要删除“MyModel.java”并将“MyModelImpl.java”重命名为“MyModel.java”,并更改内容以使所有内容都能编译。我们希望保持以前称为“MyModelImpl.java”的文件的历史完整。
是否可以在一次提交中执行此操作?
我们当然试过了,我们在 Gerrit 中看到的是“MyModelImpl.java”被删除了,“MyModel.java”被彻底改变了。并且“MyModelImpl.java”的历史丢失了。
我们希望在单个提交中执行此操作,因为仅删除“MyModel.java”会导致提交无法编译,并且在提交时将 MyModel 的所有用法转换为 MyModelImpl,然后将 MyModelImpl 重命名为 MyModel 进行第二次提交会导致大量提交(主要是相互抵消),这对代码审查来说是一件痛苦的事情。