【发布时间】:2021-01-09 16:04:44
【问题描述】:
我正在学习 git 我尝试了以下示例:
在主分支中,我创建了一个文件 1.txt,其中包含一行 hi
然后我切换到一个新分支“mybranch”并将同一行编辑到这个hello而不是hi
当我回到主分支并运行 git merge 命令git merge mybranch 它没有检测到这是我应该解决的冲突,而是将单词 hi 替换为 hello
本质上它在不让我知道的情况下替换了 master 分支中的一些代码
我的问题是,为什么 git 不认为这是一个冲突,即使 bitbucket 网站说
当两个单独的分支对文件中的同一行进行编辑时会发生冲突
【问题讨论】:
-
因为只有当有不同的更改无法合并时才会发生冲突。例如,如果您在 分支后对 master 进行了额外提交,将“hi”更改为“hey”,那么当您尝试合并时会看到冲突,因为 git 不知道是否结果应该是“嘿”或“你好”。但是,如果每一次更改都算作冲突,那么每次合并都是可怕的。