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