口诀

“公共历史要保护(用 merge),私有历史可整理(用 rebase)。“

何时使用?

使用 merge 的场景:

  • 团队协作中,分支已推送到远程(公共分支)。
  • 希望保留真实的开发历史(包括并行开发过程)。
  • 不想改写提交历史(避免造成他人混乱)。

使用 rebase 的场景:

  • 本地开发,尚未推送分支。
  • 希望保持干净、线性的提交历史(便于代码审查或回溯)。
  • 在 pull request / MR 前整理自己的提交。

⚠️ 重要原则不要对已经推送到共享仓库的分支执行 rebase,除非你确定团队其他成员不会受影响。


总结口诀:

“Public history is sacred, private history is yours.”
公共历史要保护(用 merge),私有历史可整理(用 rebase)。

希望这能帮你清晰理解两者的区别!如需进一步演示命令流程,也可以告诉我。