Git 未检测到同一行代码中的冲突

Git does not detect a conflict in code on same line

我正在学习git我试过下面的例子: 在 master 分支中我创建了一个文件 1.txt 其中有一行 hi 然后我切换到一个新分支“mybranch”并将同一行编辑到 hello 而不是 hi 当我回到主分支和 运行 一个 git 合并命令 git merge mybranch 它没有检测到这是一个我应该解决的冲突而是它用 hello 替换了 hi 这个词 本质上它在不让我知道的情况下替换了 master 分支中的一些代码 我的问题是为什么 git 不认为这是冲突,即使 bitbucket 网站说

A conflict arises when two separate branches have made edits to the same line in a file

合并在 Git 中的工作方式,忽略重命名,是 Git 考虑历史中的三个点:两个分支的头部,以及合并基础,通常是最近的共同祖先。 Git 通过查看合并基础和每个头(通常是一个分支)之间的变化来合并。

如果一侧包含更改,例如 mybranch,而另一侧不包含更改,例如 master,则合并的结果就是更改。这就是为什么首先执行合并的目标。如果双方都有相同的更改或双方都没有更改,则 Git 将采用通用版本。只有双方在同一个区域有不同的变化才会发生冲突,因为Git然后不知道该怎么办。