我试图从另一个分支做一个 git merge master
,然后我遇到了这个冲突:
<<<<<<< HEAD
=======
t.text "label_en"
t.text "help_text_en"
t.text "options_en"
>>>>>>> master
我知道如何解决冲突,但我很好奇为什么 git 首先将此识别为冲突,因为 HEAD 版本在特定行上没有内容。
<<<<<<< HEAD
=======
git 从 master 添加 3 行并 merge 它不是一个简单的案例吗?
更新:
@Marcin 是正确的。根据答案,我做了一个测试,假设我有一个如下所示的 git 树:
A ---- B (master)
\
C (another branch)
commit A
中 temp.txt
的内容:
t.text "LALALA"
提交 B
中 temp.txt
的内容:
t.text "label_en"
t.text "help_text_en"
t.text "options_en"
commit C
中 temp.txt
的内容为空。
此时,如果我这样做:
git checkout another_branch
git merge master
然后我会得到以下内容:
<<<<<<< HEAD
=======
t.text "label_en"
t.text "help_text_en"
t.text "options_en"
>>>>>>> master
最佳答案
您在 master
和另一个分支上的那一行进行了更改,在后者的那一行删除了一些内容,git 无法自动解决该冲突。
关于git - 为什么当HEAD版本在该行没有内容时git显示 merge 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15805702/