Git - git 合并如何工作

问题描述 投票:0回答:1

我正在尝试了解 git merge,但面临合并冲突。

这是我的分支结构:

我只修改和跟踪一个文件 file.txt。

在提交C时,这是文件的内容是

text in first main
text in second main

提交Main时文件的内容是:

text in first main
text in second main

text in fourth main

在提交Dev时,文件的内容是:



text in first dev

当我将 main 合并到 dev 时,我遇到了合并冲突

<<<<<<< HEAD
text in first main
text in second main

text in fourth main
=======


text in first dev
>>>>>>> dev

我不明白为什么会出现合并冲突。文件中的 main 文件中的第 1,2 行和第 4 行存在数据。在 dev 中,该文件包含第 3 行的文本。合并是否应该创建一个包含第 1、2、3 和 4 行数据的单个文件?看起来像:

text in first main
text in second main
text in first dev
text in fourth main

我试图了解 git 中的合并是如何工作的,但我无法很好地理解它,无法知道为什么我的 git 存储库中存在合并冲突,如上所示。有人可以解释一下为什么会这样吗?

git merge merge-conflict-resolution merge-conflict
1个回答
0
投票

合并时,git 不太看重行号。它会查看您所做的更改。

在 Dev 上,更改(来自 C,共享根目录)是您删除了文件内容并添加了三行新行。在主线上时,这些行将被保留和修改。

合并 git 时不能同时进行这两项更改。要么替换这些行(Dev),要么修改它们(Main)。这就是你遇到合并冲突的原因。

© www.soinside.com 2019 - 2024. All rights reserved.