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 分支管理 —— 多人协做

相关文章
相关标签/搜索