Git将两个分支与移动的文件合并

时间:2017-12-13 09:58:21

标签: java git intellij-idea merge

我的项目中有两个分支。每个分支都包含Main.java。

  • 我在第一个分支的Main.java中做了一些更改(添加一些方法或其他)。
  • 在第二个分支中,我将Main.java移动到另一个文件夹并执行一些操作 类中的另一个更改(例如添加一些不同的方法)。

之后,我尝试合并第一个分支和第二个分支。但是git不明白它是同一个文件,因此我有两个文件Main.java,但在不同的文件夹中。一个Main.java包含来自第一个分支的更改,另一个Main.java包含来自第二个分支的更改。

当我在第二个分支上提交更改(将文件移动到另一个文件夹)时,git会告诉我将删除带有旧路径的Main.java文件,并添加带有新路径的Main.java。据我所知,它必须说“修改”,“感动”......

我只需要,该文件将位于第二个分支的文件夹中,并包含来自两个分支的更改。或者,至少,git理解它是相同的文件并向我显示冲突(内容),而不是冲突(修改/删除)。

对此有任何想法吗?

1 个答案:

答案 0 :(得分:0)

所以,实际上,我强制使用一些git文档并找到下一个字符串:

“如果超过90%的文件没有更改,Git应该将删除/添加对视为重命名。”

由于这个项目是测试项目,Main.java只有一个方法。在第二个分支中,我将此方法更改为另一种方法,这意味着它的变化超过90%。所以git做“删除/添加”而不是“修改”。