Git bug分支與多人協作

追逐。發表於2019-02-01

    所謂bug分支,就是我們在開發的過程中,可能突然遇到一個需要解決的bug,但是我們手頭的開發工作還沒有完成,這個時候我們需要建立新的bug分支進行修復,修復完bug後,我們將bug分支進行合併,然後刪除。當手頭的工作沒有完成時,我們需要先把工作現場git stash一下,然後去修復bug,修復完成後,再通過git stash pop,回到工作現場。     比如我們在test1分支下新增了一行``,但是我的開發工作尚未完成,這個時候出現了一個bug需要去修復,所以我先git stash儲存一下工作現場

git stash.jpg
    然後我們切換回主分支,建立一個issue1分支用於解決bug。
建立bug分支.jpg
    解決完bug後,再切換回主分支,將issue1分支合併到主分支。注意,我們合併程式碼的時候加了一個引數--no-ff。合併分支的時候,加上--no-ff引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併,而fast forward合併就看不出來曾經做過合併。使用--no-ff合併時會自動建立一個新的commit,所以要加上-m並寫上描述。
合併issue1.jpg
    合併完成後,我們刪除issue1分支,再切換回test1分支,發現我們在test1分支上做的開發內容並沒有還原。
切換回test1分支.jpg
test.txt.jpg
    我們想要恢復之前的工作環境,可以使用git stash apply進行恢復,但是這樣恢復,不能把之前打上stash的工作環境刪除,所以要使用git stash drop將打上stash的工作環境刪除。也可以合併兩步操作使用git stash pop恢復環境以後刪除這個環境。當然也可以使用git stash list檢視分支上儲存的環境。
git stash pop.jpg
    然後我們可以看到工作環境已經恢復,可以繼續愉快的開發了。開發完成後就可以提交合併到主分支了。
工作環境恢復.jpg
    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,如果有衝突,要先處理衝突。     這些命令都比較見名知意,這裡就不再演示了。

相關文章