git - 为什么当HEAD版本在该行没有内容时git显示 merge 冲突

标签 git git-merge merge-conflict-resolution tree-conflict

我试图从另一个分支做一个 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 Atemp.txt 的内容:

    t.text    "LALALA"

提交 Btemp.txt 的内容:

    t.text    "label_en"
    t.text    "help_text_en"
    t.text    "options_en"

commit Ctemp.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/

相关文章:

GitLab 显示已删除的分支

git - 使用 Gitlab 将项目部署到实时服务器

Git:如何不 merge 文件删除

git - 如何将 git 分支声明为 merge 而不采用其中的更改?

git - 通过本地存在的非平凡 merge 提交重新定位到上游更改

android - 运行 react-native run-android : Unexpected Token in build. gradle 时出错

git - 即使没有冲突,Gerrit UI 也会将状态显示为 merge 冲突

ruby-on-rails - 当它为 "hung up"或没有响应时,如何推送到 Heroku 或获取信息/状态?

java - 如何以编程方式将工作区中的文件与 git 上的文件进行比较

gitlab - 生成在两个标签之间合并的所有合并请求的列表,所有信息都在 csv 文件中