这是我的情景:
我正在修复本地分支中file1
中的错误。我的同事在他自己的本地分支中,将file1
合并到file2
的重构中。他完成了自己的工作并融入了大师和推动。现在,file1
已不再存在于HEAD中。
当我拉动并尝试将我的file1
更改合并回主人时,会发生什么? git是否足够聪明以解决这个问题,还是我必须手动合并我的更改?
答案 0 :(得分:4)
首先,您不合并文件,合并修订版(或者更确切地说是开发线)。
其次,git使用基于相似性的启发式检测重命名,因此如果file2
与file1
足够相似,那么git会自动将您和他的更改合并到{{ 1}}。如果没有,你会得到'CONFLICT(修改/删除)'(我认为)你必须手动解决。
答案 1 :(得分:1)
这取决于....是否有git mv file1 file2
git认为这是重命名?如果它确实那么它可能会认识到这一点......否则它可能只会尝试创建一个新文件1。您可能需要进行一些手动合并干预或后合并补丁。另外这是git TIAS最糟糕的情况,你在推送之前回滚合并。