首页技术文章正文

如何创建一个不影响当前工作的Debug分支?

更新时间:2022-08-30 来源:黑马程序员 浏览量:

IT培训班

在项目的正常开发过程中,之前发布过的版本可能很会出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'
接下来我们开始来创建不影响当前工作的Debug分支。

1.查看当前状态

git status

1661852903068_51.png

2.保存现场

git stash

1661852939219_52.png

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

git status

1661853046306_53.png

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

1661853312559_54.png

推送到服务器

git push

8.删除临时分支bug001

git branch -d bug001

1661853630661_55.png

9.切换回工作分支zhujiao

git checkout zhujiao

查看现场列表

git stash list

1661853706012_56.png

恢复现场

git stash pop

1661853760439_57.png

恢复现场后查看工作状态

git status

1661853801806_58.png

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

分享到:
在线咨询 我要报名
和我们在线交谈!