本篇文章,是基于我自用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>
强行删除。