章节摘要:打开
refs目录你会发现,传说中的分支只是一个写着 40 位哈希的文本文件。本章从这个证据出发,讲透 HEAD、detached HEAD、合并与冲突、变基改写历史——所有"分支魔法"还原为指针的移动与对象的新建。
金句:创建分支是纳秒级操作,因为 Git 只是新建了一个 41 字节的文件——没有复制代码,没有通知任何人。
市面上绝大多数 Git 教程把分支讲成"平行宇宙",听起来形象,实则把因果讲反了:不是先有分支再有提交,而是先有提交链、再有人类为了称呼方便给链上的某些位置起了名字。名字(引用)与实体(提交对象)的分立,是 Git 一切分支操作的复杂度之源,也是一切"看似神奇"行为的唯一解释路径。本章请你暂时忘掉"平行宇宙",只记住一条公理:提交不可变,引用可随便挪。后面三节的所有推理,都从这条公理出发。带着它,你会发现 merge 的冲突、rebase 的哈希变化、HEAD 的游离状态,全部是公理的推论而非孤立的知识点。
refs 目录勘查:分支引用、HEAD 文件、detached 状态的真相与风险。
fast-forward 与三方合并的分界线,冲突标记背后的 base/ours/theirs 三方证据。
rebase 如何逐个"复印"提交到新基线,cherry-pick 如何单点搬运,以及黄金法则。
三节从"分支是什么"到"分支怎么汇合"再到"分支怎么被重写",是引用模型由静到动的展开。
2.1 引用与 HEAD 静态结构 │ 分支交汇时 ▼ 2.2 merge 冲突勘查 │ 想要更直的历史 ▼ 2.3 rebase 与 cherry-pick 改写术
