Git合并不同的文件名

时间:2010-08-03 15:46:19

标签: git merge

这是我的情景:

我正在修复本地分支中file1中的错误。我的同事在他自己的本地分支中,将file1合并到file2的重构中。他完成了自己的工作并融入了大师和推动。现在,file1已不再存在于HEAD中。

当我拉动并尝试将我的file1更改合并回主人时,会发生什么? git是否足够聪明以解决这个问题,还是我必须手动合并我的更改?

2 个答案:

答案 0 :(得分:4)

首先,您不合并文件,合并修订版(或者更确切地说是开发线)。

其次,git使用基于相似性的启发式检测重命名,因此如果file2file1足够相似,那么git会自动将您和他的更改合并到{{ 1}}。如果没有,你会得到'CONFLICT(修改/删除)'(我认为)你必须手动解决。

答案 1 :(得分:1)

这取决于....是否有git mv file1 file2 git认为这是重命名?如果它确实那么它可能会认识到这一点......否则它可能只会尝试创建一个新文件1。您可能需要进行一些手动合并干预或后合并补丁。另外这是git TIAS最糟糕的情况,你在推送之前回滚合并。