使用IDE for Java的一个好处就是自动重构.我遇到的问题是,在使用Refactor> Move将类移动到另一个包(在文件系统中移动文件本身)之后,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
Run Code Online (Sandbox Code Playgroud)
有没有办法(当使用Eclipse的Git插件时)让重构做一个git mv而不是一个天真的文件系统移动?
dun*_*nni 13
这就是Git如何使用重命名/移动(删除旧文件并添加新文件)的方式.然后它检测文件的内容,并根据算法识别重命名.因此,即使它显示您删除并添加,如果您提交然后执行"git log --follow movedfilename",它应该显示整个历史记录,甚至是重命名之前的历史记录.