Eclipse 的 Refactor > Move 可以与 Git 集成吗?

2022-09-03 02:31:55

使用 IDE for Java 的一大好处是可以获得自动重构。我遇到的问题是,在使用重构>移动将类移动到其他包中(这会在文件系统中移动文件本身)后,显示旧位置中的文件已被删除,并且已添加新位置中的文件。git status

我发现的解决方法是笨拙的:

mv src/com/example/newpackage/Foo.java src/com/example/oldpackage/Foo.java
git mv src/com/example/oldpackage/Foo.java src/com/example/newpackage/Foo.java

有没有办法(在Eclipse中使用Git插件时)让重构而不是天真的文件系统移动?git mv


答案 1

这就是 Git 处理重命名/移动(删除旧文件并添加新文件)的方式。然后,它检测文件的内容,并根据算法识别重命名。因此,即使它显示您删除并添加,如果您提交然后执行“git log --follow movedfilename”,它应该向您显示整个历史记录,甚至是重命名之前的历史记录。


答案 2

推荐