所謂bug分支,就是咱們在開發的過程當中,可能忽然遇到一個須要解決的bug,可是咱們手頭的開發工做尚未完成,這個時候咱們須要建立新的bug分支進行修復,修復完bug後,咱們將bug分支進行合併,而後刪除。當手頭的工做沒有完成時,咱們須要先把工做現場git stash
一下,而後去修復bug,修復完成後,再經過git stash pop
,回到工做現場。 好比咱們在test1分支下添加了一行``,可是個人開發工做還沒有完成,這個時候出現了一個bug須要去修復,因此我先git stash
保存一下工做現場 git
issue1
分支用於解決bug。
解決完bug後,再切換回主分支,將
issue1
分支合併到主分支。注意,咱們合併代碼的時候加了一個參數
--no-ff
。合併分支的時候,加上
--no-ff
參數就能夠用普通模式合併,合併後的歷史有分支,能看出來曾經作過合併,而
fast forward
合併就看不出來曾經作過合併。使用
--no-ff
合併時會自動建立一個新的commit,因此要加上
-m
並寫上描述。
合併完成後,咱們刪除
issue1
分支,再切換回
test1
分支,發現咱們在
test1
分支上作的開發內容並無還原。
咱們想要恢復以前的工做環境,能夠使用
git stash apply
進行恢復,可是這樣恢復,不能把以前打上
stash
的工做環境刪除,因此要使用
git stash drop
將打上
stash
的工做環境刪除。也能夠合併兩步操做使用
git stash pop
恢復環境之後刪除這個環境。固然也能夠使用
git stash list
查看分支上保存的環境。
而後咱們能夠看到工做環境已經恢復,能夠繼續愉快的開發了。開發完成後就能夠提交合併到主分支了。
Feature分支:當咱們開發一個新功能的時候,最好新建一個分支。若是要丟棄一個沒有合併過的分支,能夠經過
git branch -D <name>
強行刪除。 在多人協做的團隊開發過程當中,咱們還會用到一些其餘的功能,如咱們要查看遠程庫的信息,使用
git remote -v
。本地新建的分支若是不推送到遠程,對其餘人就是不可見的。從本地推送分支,使用
git push origin branch-name
,若是推送失敗,先用
git pull
抓取遠程的新提交。在本地建立和遠程分支對應的分支,使用
git checkout -b branch-name origin/branch-name
,本地和遠程分支的名稱最好一致。創建本地分支和遠程分支的關聯,使用
git branch --set-upstream branch-name origin/branch-name
。從遠程抓取分支,使用
git pull
,若是有衝突,要先處理衝突。 這些命令都比較見名知意,這裏就再也不演示了。