冲突问题:开发者的俩个分支都修改了同一个文件的同一部分时, Git 无法自动决定哪个版本是正确的, 因此会产生冲突。
解决冲突:
我们git在合并的过程中指出冲突文件,通过git status命令查看那个文件存在冲突
解决方法:
1,手动解决:打开冲突文件,git会标记出文件中冲突的地方,冲突部分分为两块,一块是当前分支的内容,一块是要合并进来分支的内容。要决定结合版本的更改,编辑文件,删除git标记,达到解决冲突,
2,添加和提交解决后的文件
然后使用git add . 将解决后的文件标记为已解决的状态,然后使用git commit 提交更改,会默认一个提交信息,这样就解决了合并的冲突
1,手动解决冲突:
打开冲突文件, Git 会在文件中标记出冲突的地方, 通常会用 <<<<<<<, =======, 和 >>>>>>> 来标记。
冲突部分会分为两块, 一块是当前分支的内容(HEAD), 另一块是试图合并进来的分支的内容。
你需要决定保留哪个版本的更改, 或者结合两个版本的更改, 编辑文件, 删除 Git 的标记, 并调整内容到你满意的状态。
2,添加和提交解决后的文件:
解决冲突后, 使用 git add <文件名> 命令将解决冲突后的文件标记为已解决状态。
然后, 你可以使用 git commit 命令提交更改, Git 通常会提供一个默认的提交消息, 说明是合并冲突的解决。
# 假设你在合并时遇到了冲突, Git会显示类似以下的信息
Auto-merging example.txt
CONFLICT (content): Merge conflict in example.txt
Automatic merge failed; fix conflicts and then commit the result.
# 打开example.txt, 你可能会看到
<<<<<<< HEAD
这是当前分支的内容
=======
这是合并分支的内容
>>>>>>> feature-branch
# 你需要决定保留哪部分内容或者结合两者, 编辑文件, 比如决定结合两者
这是当前分支的内容
也包括合并分支的内容
# 然后, 使用 git add 和 git commit 完成冲突解决
git add example.txt
git commit -m "解决了example.txt的合并冲突"