Git 修复Bug或者开发新需求(Bug/Feature分支)

【场景一】

程序猿正在分支dev上开发新需求,而产品汪发现线上版本(master)有一个bug(代号1001)。程序猿收到这个代号为1001的bug的任务时,很自然地,想创建一个分支issue-1001来修复它。但是,等等,当前正在dev上进行的工作还没有提交。并非不想提交,而是工作只进行到一半,还没法提交。但是,必须在两个小时内修复该bug,怎么办?

 

修复指定版本bug的四个步骤:

1、储藏当前分支现场

Git 提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:

 

2、切换到主分支、创建并切换到问题分支,修复bug,提交

 

3、切换到主分支,合并问题分支到主分支

当然,bug修复后,问题分支可以使用命令(git branch -d 分支名字)进行删除。

 

4、再次切换到之前的分支,恢复现场,继续干活

切换到dev分之后,用 git status 命令查看,工作区是干净的,刚才的工作现场存到哪去了?这时可以用git stash list 命令查看,工作现场还在,只是需要用命令恢复即可!两种方式:

一是用 git stash apply 恢复,但是恢复后,stash内容并不删除,你需要用 git stash drop 来删除;

另一种方式是用 git stash pop,恢复的同时把stash内容也删了:

再用 git stash list 查看,就看不到任何stash内容了

 

小结一下:

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

当手头工作没有完成时,先把工作现场 git stash 一下,然后去修复bug,修复后,再用 git stash pop,回到工作现场。

 

【场景二】

程序猿正在dev分支上进行开发,这时候接到新需求(很可能是实验性的需求)。当然程序猿不希望把现有分支的代码打乱,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。

这时候,切回dev版本,准备合并feature007分支。而此时,产品汪又撤销的这个需求,开发完的内容必须销毁。

所以,程序猿必须删除feature007分支的所有内容,于是使用命令 git branch -d feature007 进行删除,销毁失败。

Git友情提醒:feature007 分支还没有被合并,如果删除,将丢失掉修改,如果要强行删除,需要使用大写的 -D 参数。

那么,使用 git branch -D feature007,强行删除feature007分支。

 

小结一下:

开发一个新feature,最好新建一个分支;

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

 

 

ps:以上内容,根据网上资料并结合自身实践整理。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hellokandy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值