假设我有一个文件,它:
- 在主分支中被修改过
- 在一个特性分支中被修改过
- 在一个特性分支中被重命名了
当我尝试从主分支向特性分支合并时,合并失败并出现以下信息:
冲突(修改/删除):X已在HEAD中被删除,并在origin/master中被修改。版本origin/master的X留在树中。
我知道这里存在冲突,但为什么它不试图合并更改并在文件中放置冲突标记呢?以前的答案似乎暗示着它应该这样做。我得到的只是两个不同版本的文件,我必须手动找出差异并逐行将更改从主版本移到我的版本。
复现步骤:
git init
touch a
git add a
git commit -m 'initial import'
git checkout -b feature1
echo feature1 > a
git add a
git commit -m feature1
git mv a b
git commit -m feature1
git checkout master
echo bugfix > a
git add a
git commit -m bugfix
git checkout feature1
git merge master