admin管理员组

文章数量:1650772

本篇文章,是基于我自用Linux系统中的自定义文件夹“test_rep”,当做示例演示

具体Git仓库的目录在:/usr/local/git/test_rep

Git的Feature分支

软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,一般情况下最好新建一个 feature 分支,在上面开发,完成后,合并,最后,删除该 feature 分支。

模拟Feature分支

假设来了一个新任务:开发代号为 caption 的新功能,该功能计划用于下一代22世纪的人工智能(咱吹的大点)。

于是准备开发:

$ git switch -c feature-caption
Switched to a new branch 'feature-caption'

由于你是绝对的高能工程师,只要不摸鱼,5分钟就能搞定:

$ touch caption.py
$ git add caption.py
$ git commit -m 'add feature caption, Wow'
[feature-caption 00f18b7] add feature caption, Wow
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 caption.py

呃,如上,请原谅我如此草率的就搞定了22世纪的人工智能。

切回dev分支:

$ git switch dev
Switched to branch 'dev'

Feature分支废弃

此时,接到上级命令,因经费不足,新功能必须取消!得,白瞎自己的22世界的设计理念。

这个包含机密资料的分支还是必须就地销毁:

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

如上,炸!销毁失败。Git 友情提醒,feature-caption分支还没有被合并,如果删除,将丢失掉修改,如果要强行删除,需要使用大写的-D参数。

得来,现在我们强行删除:

$ git branch -D feature-caption
Deleted branch feature-caption (was 00f18b7).

唉,我那22世纪的人工智能还没开始就结束了。

总结一下

开发一个新 feature,最好新建一个分支,当然还是那句话,按照您公司的要求即可。

如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。

本文标签: 进阶分支Gitfeature