视频:合并与变基:通过图表进行选择
该视频在 YouTube 播放器中以隐私增强模式播放。
- 6 分钟的视频
- 英文旁白 · English and Arabic 字幕
- 在 YouTube 上观看
从相同分歧的两个相同副本运行合并和变基,比较两个图、父级和文件树,并了解在它们之间做出决定的一条规则:还有谁已经拥有您的提交。
阅读完整课程
本文包含视频、练习和问题中的每个步骤和命令。
视频文字记录
视频的旁白,逐条提示。
- 合并还是变基?同样的工作可以离开 两个不同的历史。
- 我们将从同一个起点运行两者 点并比较。
- 您的分支有一项提交。更新后的 分行还有另一个。
- 两者都来自同一个提交,所以两者都不是 包含另一个。
- 首先,准备分歧并制作两个 相同的副本。
- 公平的测试需要相同的参考和文件 在两份副本中。
- 这是第一个副本。我们将并入 这个。
- 这是第二份。我们保留它 变基未受影响。
- 右键单击 update-main 并选择其 合并命令。
- 在记录为下,选择始终合并 提交。
- 选择合并一次,等待真正的合并 结果。
- 新的提交有两个父母:你的 提交,然后更新主的。
- 现在是第二个副本。还是有这两个 原始提交。
- 再次右键单击updated-main,然后选择 这次重新设定基准。
- 该对话框命名分支和 目标。将这两个选项都关闭。
- 变基一次。 Git 重放您的提交 更新主的顶部。
- 重放的提交有一个新的父提交,所以 它得到一个新的ID。
- 旧的提交没有丢失:救援 分支仍然指向它。
- 现在比较文件。该页面是 两份副本相同。
- 集成说明也是如此。相同的文件, 不同的历史。
- 看这两个图:一个菱形,一个 合并提交和一条直线。
- 那么您应该使用哪一个呢?问还有谁 有你的承诺。
- 如果其他人有,则合并。变基会 改写他们的历史。
- 如果提交是私有的,则 rebase 是 安全,并给出一条直线。
- 两者都不会让你的代码变得更好。规则 是关于所有权。
- 现在在终端中证明这一点。首先, 每个小费的父母。
- 合并副本的三个 ID:提交、 和它的两个父母。
- 变基副本的两个 ID:提交、 和它的一个父母。
- 然后是文件树:一个 ID,打印出来 两次。相同的文件。
- 但两个提交 ID 不同。平等 树木,不同的历史。
- 更改输入:假设您的分支有 没有自己的提交。
- 默认合并将快进, 没有合并提交。
- 永远不要对别人的分支进行变基 已经有了。
- 如果树不同,则比较起始树 首先参考。
- 不要删除一个结果来强制两个结果 比赛。
- 练习:报告父母、身份证和 树木来自您自己的副本。
- 接下来,重新排序、压缩和重新措辞 本地提交。