[TOC] #### 1. 場(chǎng)景描述 --- 有時(shí)候我們需要用到空分支,也就是該分支不需要任何提交記錄,不需要從其他分支繼承內(nèi)容 想要?jiǎng)?chuàng)建一個(gè)全新的空白分支,存放的內(nèi)容和其他分支完全不同 #### 2. 創(chuàng)建空分支 --- **如果遠(yuǎn)程倉(cāng)庫(kù)已拉取到本地,可以進(jìn)入本地庫(kù)執(zhí)行以下命令創(chuàng)建空分支** 通過(guò)以下命令可以切換到一個(gè)空分支(下面兩個(gè)命令都可以,作用相同) ```bash git switch --orphan <branch> git checkout --orphan <branch> ``` 特別注意:此時(shí)空分支并未真正創(chuàng)建,通過(guò)以下命令查看本地分支,可以發(fā)現(xiàn)本地沒(méi)有這個(gè)空分支 ```bash # 查看本地分支 git branch ``` **方案一:** 由于分支沒(méi)有提交記錄無(wú)法推送到遠(yuǎn)程倉(cāng)庫(kù),我們可以創(chuàng)建一個(gè)空提交 ```bash git commit --allow-empty -m "空分支創(chuàng)建初始化" ``` 將該分支推送到遠(yuǎn)程倉(cāng)庫(kù) ```bash git push -u origin <branch> ``` 如果不想要 “空分支創(chuàng)建初始化” 這個(gè)提交記錄,我們可以覆蓋掉它 ```bash # 使用 --amend 參數(shù)可以覆蓋上一次提交記錄 git commit --amend -m "項(xiàng)目初始化" # 強(qiáng)制推送到遠(yuǎn)程倉(cāng)庫(kù) git push -f -u origin <branch> ``` **方案二:** 當(dāng)我們有需要時(shí)才會(huì)創(chuàng)建空分支,這也是推薦的方式 當(dāng)想要將某些內(nèi)容放入一個(gè)全新的分支中時(shí),執(zhí)行以下命令切換到一個(gè)空分支 ```bash git switch --orphan <branch> ``` 在該分支下添加文件,然后正常執(zhí)行流水線操作即可 ```bash git add . git commit -m <message> git push -u origin <branch> ``` #### 3. 推送新分支 --- 將本地代碼推送到遠(yuǎn)程倉(cāng)庫(kù)上的一個(gè)新分支,運(yùn)行以下命令即可 ```bash git init -b <branch> git add . git commit -m "初始提交" git remote add origin <url> git push -u origin <branch> ```