Menu
CoddyTech

三方合并

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

如果两个分支都已独立向前发展,Git 就不能直接快进。它会执行三方合并:查看共同祖先和两个分支的最新提交,然后生成一个将它们合并起来的新提交。

这个新提交是合并提交。它有两个父提交,分别来自两个分支:

git switch main
git merge feature -m "Merge feature"

-m 标志会直接提供合并提交信息,因此 Git 不会打开编辑器。

大多数情况下,只要两个分支修改的是文件中的不同部分,Git 就能自动合并它们的更改。只有当两个分支修改了相同的行时,才会发生冲突。这就是下一课的主题。

challenge icon

挑战

中等

你从一个新文件夹开始,其中有 top.txt(内容:a)和 bottom.txt(内容:b)。

初始化仓库,创建第一次提交,然后:

  1. 从当前分支创建 feature 分支,并将一行 added 追加到 top.txt;然后提交。
  2. 切换到 main,并将一行 added 追加到 bottom.txt;然后提交。
  3. 将 feature 合并到 main,提交信息为 Merge feature。

使用 git rev-list --count HEAD 输出从 HEAD 可到达的提交数量。预期结果为 4(初始提交 + feature 提交 + main 提交 + 合并提交)。

亲手试试

终端
quiz icon自我测试

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

版本控制中的所有课

自己练习: Terminal 在线编辑器