三方合并
本课属于 Coddy Terminal 学习旅程的“版本控制”单元。第 36 课,共 58 课。
如果两个分支都已独立向前发展,Git 就不能直接快进。它会执行三方合并:查看共同祖先和两个分支的最新提交,然后生成一个将它们合并起来的新提交。
这个新提交是合并提交。它有两个父提交,分别来自两个分支:
git switch main
git merge feature -m "Merge feature"-m 标志会直接提供合并提交信息,因此 Git 不会打开编辑器。
大多数情况下,只要两个分支修改的是文件中的不同部分,Git 就能自动合并它们的更改。只有当两个分支修改了相同的行时,才会发生冲突。这就是下一课的主题。
挑战
中等你从一个新文件夹开始,其中有 top.txt(内容:a)和 bottom.txt(内容:b)。
初始化仓库,创建第一次提交,然后:
- 从当前分支创建
feature分支,并将一行added追加到top.txt;然后提交。 - 切换到
main,并将一行added追加到bottom.txt;然后提交。 - 将
feature合并到main,提交信息为Merge feature。
使用 git rev-list --count HEAD 输出从 HEAD 可到达的提交数量。预期结果为 4(初始提交 + feature 提交 + main 提交 + 合并提交)。
亲手试试
终端
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
版本控制中的所有课
自己练习: Terminal 在线编辑器