1. 程式人生 > >git推送新的獨立分支(branch)

git推送新的獨立分支(branch)

問題

在專案已經上線後,有時候為了修改專案bug,我們可以建立新的分支來搞定,新的分支繼承master主分支,在bug修復之後合併到主分支即可。但是遇到專案升級版本,現有框架已不支援升級,如果在現有分支上進行修改會有很多衝突,亦或新版本使用新的框架來實現,這個時候有些人可能會想到新開一個倉庫,其實大可不必,我們完全可以建立一個獨立的分支沒有繼承,沒有父節點.

解決

建立分支

使用 git checkout的--orphan引數:

git checkout --orphan doc

該命令會建立一個名為doc的分支,並且該分支下有前一個分支下的所有檔案。檢視--orphan的幫助:

Create a new orphan branch, named <new_branch>, started from <start point> and switch to it. The first commit made on the new branch will have no parents and it will be the root of a new history totally disconnected from all the other branchs and commits.

這裡的start point指的是你執行git checkout命令時的那個分支,當然新的分支不會指向任何以前的提交,就是它沒有歷史,如果你提交當前內容,那麼這次提交就是這個分支的首次提交。

刪除所有內容

我們不想提交任何內容,所以我們需要把當前內容全部刪除,用git命令:

git rm -rf .

提交分支

使用commit命令來提交分支

git commit -am "new branch for documentation"

如果沒有任何檔案提交的話,分支是看不到的,可以建立一個新檔案後再次提交則新建立的branch就會顯示出來。使用branch來檢視分支是否建立成功

 

git branch -a

推送遠端
如果直接在新的分支上提交,會報遠端沒有分支;

 

 

在提交的時候首先將本地分支推送到遠端,在遠端上建立一個分支

git push --set-upstream origin doc

然後直接提交

git push

 

開發之路,羊腸九曲,荊棘密佈,幸得高人指點,前輩填坑,一路謹小慎微,終得工程圓滿;其間填坑之經驗,開路之歷程,皆為精華,不可棄之;記錄於此,以便事後回顧,亦想於有相關開發疑惑之同學做參考之用,文中如若有錯,懇請雅正,不勝感激。