在 Git 中,分支(Branch)的本质非常简单且令人惊叹:它仅仅是一个指向某次提交(Commit)的、可移动的轻量级指针(Pointer)。 为了彻底理解这句话,我们可以从以下几个层次来剖析: 1. 核心概念:它只是一串 40 位的字符 在传统的版本控制系统(如 SVN)中,创建一个分支意味着把整个项目的目录完整地复制一份,这既耗时又占用大量存储空间。 但在 Git 中,分支绝对不是文件或目录的物理拷贝。当你创建一个分支时,Git 只是在底层创建了一个文本文件,这个文件里只包含了一行内容:一个 40 个字符长度的 SHA-1 哈希值,这个哈希值指向某一次特定的提交(Commit)。 比喻:你可以把 Git 的提交历史想象成一本书,而分支就是夹在这本书某一页上的“书签”。创建新分支,就是多加了一个书签;切换分支,就是翻到另一个书签所在的页;提交代码,就是往书里加了新的一页,并自动把当前的书签移到最新的一页上。 2. 扒开底层看本质(硬核验证) 如果你在一个 Git 仓库中执行以下操作,就能亲眼看到分支的本质: 假设你当前在 分支上,你可以去 目录下看看: 你会得到类似这样的输出...