07 分支管理 —— Feature分支

07 分支管理 —— Feature分支

軟件開發中,總有無窮無盡的新的功能要不斷添加進來。添加一個新功能時,你確定不但願由於一些實驗性質的代碼,把主分支搞亂了,因此,每添加一個新功能,最好新建一個feature分支,在上面開發,完成後,合併,最後,刪除該feature分支。git

如今,你接到了一個新任務:開發openfire直播的新功能。學習

查看當前分支:.net

lwenhaodeMacBook-Pro:TestGit lwenhao$ git branch
* dev
  master
lwenhaodeMacBook-Pro:TestGit lwenhao$

準備開發:code

lwenhaodeMacBook-Pro:TestGit lwenhao$ git checkout -b feature-openfire
M	README.md
Switched to a new branch 'feature-openfire'
lwenhaodeMacBook-Pro:TestGit lwenhao$

修改README.md內容:blog

lwenhaodeMacBook-Pro:TestGit lwenhao$ cat README.md 
# TestGit

建立一個"dev"分支,我來操做。

學習分支管理策略。

編輯了dev分支上的內容,如今準備學習bug分支

openfire直播功能

lwenhaodeMacBook-Pro:TestGit lwenhao$

開發完畢後,提交。開發

lwenhaodeMacBook-Pro:TestGit lwenhao$ git add README.md 
lwenhaodeMacBook-Pro:TestGit lwenhao$ git commit -m "add openfire直播功能"
[feature-openfire 7690e70] add openfire直播功能
 1 file changed, 4 insertions(+)
lwenhaodeMacBook-Pro:TestGit lwenhao$

切回dev,準備合併:get

lwenhaodeMacBook-Pro:TestGit lwenhao$ git checkout dev
Switched to branch 'dev'
lwenhaodeMacBook-Pro:TestGit lwenhao$

一切順利的話,feature分支和bug分支是相似的,合併,而後刪除。直播

就在此時,接到上級命令,因經費不足,新功能必須取消!it

雖然白乾了,可是這個包含機密資料的分支仍是必須就地銷燬:io

lwenhaodeMacBook-Pro:TestGit lwenhao$ git branch -d feature-openfire
error: The branch 'feature-openfire' is not fully merged.
If you are sure you want to delete it, run 'git branch -D feature-openfire'.
lwenhaodeMacBook-Pro:TestGit lwenhao$

銷燬失敗。Git提醒,feature-openfire分支尚未被合併,若是刪除,將丟失掉修改,若是要強行刪除,須要使用大寫的-D參數。

如今咱們強行刪除:

lwenhaodeMacBook-Pro:TestGit lwenhao$ git branch -D feature-openfire
Deleted branch feature-openfire (was 7690e70).
lwenhaodeMacBook-Pro:TestGit lwenhao$

刪除成功!

開發一個新feature,最好新建一個分支;

若是要丟棄一個沒有被合併過的分支,能夠經過git branch -D <name>強行刪除。

繼續閱讀:08 分支管理 —— 多人協做

相關文章
相關標籤/搜索