软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,你确定不但愿由于一些实验性质的代码,把主分支搞乱了,因此,每添加一个新功能,最好新建一个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 分支管理 —— 多人协做