开发过程中怎样修复过往已发布版本的bug?

在遇到已发布版本的bug时,开发人员可以利用Git的stash功能保存当前工作现场,转向master分支修复bug。这包括查看状态,stash保存,切换分支,修改代码,提交,合并,推送,然后回到原工作分支恢复现场并继续开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在项目的正常开发过程中,之前发布过的版本可能很会出bug,这时就需要停下来现在的开发任务,先去修改bug,完成后再回来继续开发任务。

git中stash提供了保存现场的功能,可以把当前工作区、暂存区中的内容不需要提交而保存下来,转而去做bug修复,完成后再恢复现场,继续开发工作。

示例如下:停止当前工作,修复master分支下的一个bug,为修改dailyfresh/settings.py文件

语言和时区的原内容为

LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'

将语言和时区改为

LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Shanghai/Asia'

1.查看当前状态

git status



2.保存现场

git stash


再查看当前状态,发现是干净的

git status



3.切换到master分支

git checkout master

4.新建临时分支用于修复bug,用完后会删除此分支

git checkout -b bug001

5.按照上面的设计,修改dailyfresh/settings.py文件的语言和时区如下

LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Shanghai/Asia'

添加:将工作区中的更改添加到暂存区
注意:当前目录为manage.py文件所在目录

(py_django) python@ubuntu:~/Desktop/pytest/django1/dailyfresh$ git add dailyfresh/settings.py

提交:将暂存区的内容提交到仓库区

git commit -m '修复时区语言'

6.切换回master分支

git checkout master

7.将bug001分支合并到master分支
因为临时分支用完后会被删除,无法通过分支查询历史记录,所以使用临时分支时需要使用no-ff的方式,同时写上-m备注信息。

git merge --no-ff -m "修复bug-语言时区" bug001


推送到服务器

git push

8.删除临时分支bug001

git branch -d bug001


9.切换回工作分支zhujiao

git checkout zhujiao

查看现场列表

git stash list



恢复现场

git stash pop



恢复现场后查看工作状态

git status


接下来可以在这个分支继续开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值