Menu
CoddyTech

合并冲突

本课属于 Coddy Terminal 学习旅程的“版本控制”单元。第 37 课,共 58 课。

如果两个分支都修改了同一个文件的相同行,Git 无法猜出该保留哪个版本。它会暂停合并,并让你做出决定。

发生冲突的文件会显示特殊标记,标出两个版本:

<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> feature

你的任务是手动编辑文件:选择一个版本、将它们合并,或编写新内容。然后删除所有冲突标记行(<<<、===、>>>)。

确认文件无误后,将其暂存,并通过另一次提交完成合并:

git add notes.txt
git commit -m "Resolve merge conflict in notes"

如果你中途改变主意,可以中止整个操作并返回合并前的状态:

git merge --abort
challenge icon

挑战

中等

文件夹中有一个 notes.txt,里面有一行 hello。

初始化仓库并提交初始文件。创建分支 alt,将 notes.txt 的内容改为 hi from alt,然后提交。

切换回 main,将 notes.txt 的内容改为 hi from main,然后提交。

尝试将 alt 合并到 main。合并会发生冲突。使用 git merge --abort 中止合并,然后用 cat 打印 notes.txt 的内容,确认文件已恢复为 main 版本。

亲手试试

终端
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

版本控制中的所有课

自己练习: Terminal 在线编辑器