一、需求分析:
在 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 分支名