如何用 git 热修复主分支上的 bug?
「如何」系列第一篇,介绍 git 工具热修复主分支的方法。
问题场景
有时候我们需要修复一个线上(位于 master 分支)的bug,但又不希望影响本地分支和其他分支。
解决方案
考虑从 master 复制一个新分支 master_hotfix,在新分支上完成 bug 修复之后 merge 到 master 分支,修复完成后删除 master_hotfix分支
步骤
-
暂存当前工作分支尚未
commit的内容- git stash save “save message”
执行存储时,添加备注,方便查找,只有git stash 也是可以的,但查找时不方便识别
2. git stash show
显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
-
从
master复制新分支master_hotfix- git checkout master
切换到 master 分支
2. git checkout -b master_hotfix
从当前分支(master)复制到新分支开发
3. git branch --set-upstream-to=origin/master_hotfix
与远程分支进行关联
4. git pull
拉取验证
-
在远程仓库将
master_hotfixmerge 到master分支 -
删除
master_hotfix分支- git branch -D master_hotfix
删除本地分支
注:-D是--delete --force的缩写,这样写可以在不检查 merge 状态的情况下删除分支
2. git push origin --delete master_hotfix
删除远程分支
3. git branch -a
查看所有分支(本地分支和远程分支),检验是否删除成功
参考