Eclipse的Refactor可以>移动与Git集成?

时间:2011-07-26 10:24:24

标签: java eclipse git

使用IDE for Java的一个好处就是你得到的自动重构。我遇到的问题是在使用 Refactor>之后移动将类移动到另一个包(在文件系统中移动文件本身),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 个答案:

答案 0 :(得分:13)

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