一、需求分析:
在 Git 中,我们通常通过 git branch
来新建分支,这些分支默认都会继承当前所在分支的提交记录。但有时候我们希望新建一个“完全干净”的分支 —— 没有任何提交,不继承 master
或任何已有内容,这该怎么做呢?
什么是“空分支”?
空分支(Orphan Branch)是一种特殊的 Git 分支,它没有父提交历史(即没有任何提交记录的继承),就像一个新的仓库一样。
适用于:
-
新模块的独立开发
-
搭建 GitHub Pages 静态站点(通常叫
gh-pages
分支) -
临时存储脚本或测试代码
二、操作步骤:
1.先执行命令查看是不是你的仓库,如果不是需要替换掉,有在别人基础上开发的。
git remote -v
2. 创建一个“空分支”(Orphan Branch)
git checkout --orphan init-erp-module
或者如果你使用的是 Git 2.23+:
git switch --orphan init-erp-module
上面这个命令的意思是:创建一个名为 init-erp-module
的分支,它不会继承任何历史提交。
3. 清除当前目录下的所有文件(不想保留的)
因为这个分支还带着工作区的文件,可以执行:
git rm -rf .
4. 添加并提交你的新代码,以此执行命令就好了
git add .
git commit -m "init: 初始化 ERP 模块代码"git push origin init-erp-module
最后就可以在远程仓库看到了我们提交的代码了:
三、总结
步骤 | 命令 |
---|---|
创建空分支 | git checkout --orphan your-branch-name |
清空工作区 | git rm -rf . |
添加代码 | git add . |
提交代码 | git commit -m "init" |
推送远程 |
|
四、补充技巧:怎么判断当前分支是否是空的?
git log
如果没有任何输出,那就说明是空分支(没有历史提交)。
如果下一次想要,提交可以先查看是不是你想提交到的分支:
-- 查看分支的命令:
git branch
-- 切换分支的命令(方式1):比如切换到
master
分支
git checkout master-- 切换分支的命令(方式2):推荐,Git 2.23+
git switch 分支名