我的项目中有两个分支。每个分支都包含Main.java。
我在Main.java的第一个分支中进行了一些更改(添加一些方法或其他方法)。
在第二个分支中,我将Main.java移到另一个文件夹并执行一些操作
类内部的另一个更改(例如,添加一些不同的方法)。
之后,我尝试合并第一个分支和第二个分支。但是git无法理解它是同一个文件,因此,我有两个文件Main.java,但是它们位于不同的文件夹中。一个Main.java包含来自第一个分支的更改,另一个Main.java包含来自第二个分支的更改。
当我在第二个分支上提交更改(将文件移动到另一个文件夹)时,git告诉我带有旧路径的Main.java文件将被删除,而带有新路径的Main.java将被添加。据我了解,它不得不说一些类似“修改”,“移动”的内容。
我只需要,该文件将位于第二个分支的文件夹中,并且包含两个分支的更改。或者,至少,git理解它是同一文件,并向我显示Conflict(content),而不是Conflict(modify / delete)。
有什么想法吗?
最佳答案
因此,实际上,我强制使用一些git文档并找到下一个字符串:
“如果文件的90%以上没有更改,Git应该将删除/添加对视为重命名。”
由于该项目是测试项目,所以Main.java只有一种方法。在第二个分支中,我将此方法更改为另一种方法,这意味着超过90%的更改。所以git做“删除/添加”而不是“修改”。