跳至内容
GitTree

视频:合并与变基:通过图表进行选择

该视频在 YouTube 播放器中以隐私增强模式播放。

从相同分歧的两个相同副本运行合并和变基,比较两个图、父级和文件树,并了解在它们之间做出决定的一条规则:还有谁已经拥有您的提交。

阅读完整课程

本文包含视频、练习和问题中的每个步骤和命令。

去上课

视频文字记录

视频的旁白,逐条提示。

  1. 合并还是变基?同样的工作可以离开 两个不同的历史。
  2. 我们将从同一个起点运行两者 点并比较。
  3. 您的分支有一项提交。更新后的 分行还有另一个。
  4. 两者都来自同一个提交,所以两者都不是 包含另一个。
  5. 首先,准备分歧并制作两个 相同的副本。
  6. 公平的测试需要相同的参考和文件 在两份副本中。
  7. 这是第一个副本。我们将并入 这个。
  8. 这是第二份。我们保留它 变基未受影响。
  9. 右键单击 update-main 并选择其 合并命令。
  10. 在记录为下,选择始终合并 提交。
  11. 选择合并一次,等待真正的合并 结果。
  12. 新的提交有两个父母:你的 提交,然后更新主的。
  13. 现在是第二个副本。还是有这两个 原始提交。
  14. 再次右键单击updated-main,然后选择 这次重新设定基准。
  15. 该对话框命名分支和 目标。将这两个选项都关闭。
  16. 变基一次。 Git 重放您的提交 更新主的顶部。
  17. 重放的提交有一个新的父提交,所以 它得到一个新的ID。
  18. 旧的提交没有丢失:救援 分支仍然指向它。
  19. 现在比较文件。该页面是 两份副本相同。
  20. 集成说明也是如此。相同的文件, 不同的历史。
  21. 看这两个图:一个菱形,一个 合并提交和一条直线。
  22. 那么您应该使用哪一个呢?问还有谁 有你的承诺。
  23. 如果其他人有,则合并。变基会 改写他们的历史。
  24. 如果提交是私有的,则 rebase 是 安全,并给出一条直线。
  25. 两者都不会让你的代码变得更好。规则 是关于所有权。
  26. 现在在终端中证明这一点。首先, 每个小费的父母。
  27. 合并副本的三个 ID:提交、 和它的两个父母。
  28. 变基副本的两个 ID:提交、 和它的一个父母。
  29. 然后是文件树:一个 ID,打印出来 两次。相同的文件。
  30. 但两个提交 ID 不同。平等 树木,不同的历史。
  31. 更改输入:假设您的分支有 没有自己的提交。
  32. 默认合并将快进, 没有合并提交。
  33. 永远不要对别人的分支进行变基 已经有了。
  34. 如果树不同,则比较起始树 首先参考。
  35. 不要删除一个结果来强制两个结果 比赛。
  36. 练习:报告父母、身份证和 树木来自您自己的副本。
  37. 接下来,重新排序、压缩和重新措辞 本地提交。

所有教程