Git 分支模型被称为“必杀技特性”,其创建新分支的操作几乎能在瞬间完成,而传统版本控制系统常常需要完全创建一个源代码目录的副本,耗时显著增加。
原因分析
Git 分支本质是一个轻量级的可移动指针,指向某个提交对象,分支文件实际存储在 .git/refs/heads/ 目录下。默认情况下 Git 会创建一个名为 master 的主分支,部分版本可能叫 main,HEAD 指针始终指向当前正在工作的分支。当使用 git commit 进行提交操作时,Git 会先计算每一个子目录的校验和,然后在 Git 仓库中这些校验和保存为树对象,随后创建一个提交对象包含指向这个树对象的指针。
解决方案
1. 环境检查与分支创建
操作前需输入 git status 确认环境,确保看到 On branch master 且没有未提交的修改。创建功能分支推荐使用规范命名,例如执行 git checkout -b feature/login,系统会反馈 Switched to a new branch 'feature/login'。此时你已经在你的“平行宇宙”里了,现在做的任何修改,Master 上完全不会有反应。
2. 分支状态查看
使用 git branch -v 可显示每个分支的最新提交哈希和提交信息,例如输出 develop abc123[落后 1] 修复 bug,其中 abc123 为提交哈希的前缀。若需显示每个本地分支关联的远程分支及领先/落后状态,可使用 git branch -vv 命令。
3. 分支删除操作
删除本地分支使用 git branch -d,若分支未合并需强制删除则使用 git branch -D,删除远程分支命令为 git push origin --delete。实例中首次提交示例输出为 [master(root-commit)3b58100] 第一次版本提交,1 file changed, 0 insertions(+), 0 deletions(-)。
注意事项
切换分支前切记不要带着脏东西,如果有未提交的修改必须先 git add . 和 git commit 提交一下,切记不要带着脏东西切换分支。合并过程中出现冲突时,Git 会标记冲突文件,你需要手动解决冲突,解决完成后需执行 git add <conflict-file> 并提交合并结果。若写到一半想看看 Master 上原来的代码还在不在,可以切回去看看,现象是你会发现刚才写的文件全都不见了。
参考来源
来源:CSDN - 别再 Master 上“裸奔”了!Git 分支管理保姆级教程 (2026 年 1 月 12 日)
来源:知乎 - Git 分支管理完全指南 (超级详细版) (2026 年 4 月 23 日)
来源:Git 官方文档镜像 - 3.1 Git 分支 - 分支简介 (2026 年 4 月 27 日)
来源:博客园 - Git 分支管理 (2024 年 7 月 27 日)