分支基础
约 569 字大约 2 分钟
布欧-Lewyon
2026-05-15
首页 › Git › 分支与合并(在新窗口打开) › 分支基础
什么是分支
在 Git 中,分支只是一个指向某个提交的可移动指针。创建分支就是创建一个新指针,非常轻量。
分支操作
# 查看所有本地分支
git branch
# * main
# 创建分支
git branch feature-login
# 切换分支(传统方式)
git checkout feature-login
# 切换分支(推荐方式,Git 2.23+)
git switch feature-login
# 创建并切换
git checkout -b feature-login
git switch -c feature-loginHEAD 指针
HEAD 是一个指向当前分支的指针:
# 查看 HEAD 指向
cat .git/HEAD
# ref: refs/heads/main
# 或者
git symbolic-ref HEAD
# refs/heads/main分支管理
# 列出分支(带最后提交信息)
git branch -v
# 合并过的分支
git branch --merged
# 未合并的分支
git branch --no-merged
# 删除分支
git branch -d feature-login # 安全删除(已合并)
git branch -D feature-login # 强制删除(未合并也删)
# 重命名分支
git branch -m old-name new-name分支的本质
# 分支就是一个 41 字节的文件,内容是某个提交的 hash
cat .git/refs/heads/main
# a1b2c3d4e5f6...创建分支不需要复制任何文件——只是写入一个 41 字节的引用。这就是 Git 分支如此轻量的原因。
分支切换的影响
git switch feature-login切换分支时,Git 会:
- 检查工作区和暂存区是否干净(有未提交修改会被拒绝,除非
--force)。 - 将工作区的文件还原为目标分支的最近一次提交的内容。
- HEAD 指向目标分支。
常见别名
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.sw switch
git config --global alias.cb "switch -c"小结
- 分支是一个指向提交的轻量指针,创建分支 = 写入 41 字节。
git branch创建分支,git switch/git checkout切换分支。git branch -d安全删除,-D强制删除,-m重命名,-v查看详情。HEAD指向当前分支,切换分支即移动 HEAD。- 推荐使用
git switch替代git checkout做分支操作。
上一节:文件操作与 .gitignore 下一节:合并与冲突解决
