git建立空分支
Contents
在 Git 中,一般的分支都有完整的提交歷史,且與主分支(main/master)有共同的祖先節點(parent commit)。但有些情境需要一個完全獨立、沒有任何歷史紀錄的分支,這就是 Orphan Branch(孤立分支)。
為什麼需要孤立分支?
常見使用場景:
- GitHub Pages(
gh-pages分支):存放靜態網站的打包結果,與原始碼分開管理,不需要包含開發歷史 - 文件分支:專門存放文件,獨立於程式碼的提交歷史
- 全新的乾淨版本:需要重構整個專案,不想保留舊歷史
建立孤立分支的完整流程
第一步:建立 orphan 分支
|
|
這個指令會:
- 建立名為
gh-pages的新分支 - 切換到該分支
- 保留目前工作目錄的所有檔案(但這些檔案尚未提交,處於 staged 狀態)
第二步:移除所有既有的檔案
因為 orphan 分支剛建立時,工作目錄還有原本分支的檔案,必須清除:
|
|
第三步:建立初始提交
孤立分支至少需要一個提交才能正常使用:
|
|
第四步:推送到遠端
|
|
GitHub Pages 實際應用
許多靜態網站工具(如 Hugo、Jekyll)都有指令可以自動部署到 gh-pages 分支:
|
|
查看孤立分支
|
|
注意事項
git checkout --orphan建立的分支在第一次提交之前,並不會出現在git branch清單中- 孤立分支與其他分支完全獨立,無法進行 merge(除非使用
--allow-unrelated-histories) - 如果要刪除孤立分支的所有歷史,可以先
git rm -rf .再重新提交