Git修改历史版本代码方案
紧急Bug来袭:如何利用Git在老版本上迅速修复并发布
当项目已经迭代多个版本之后,突然发现旧版本0.0.1出现了紧急bug,需要及时处理; 如果直接用新版本替换上去是存在极大隐患的,且时间来不及; 所以需要直接在0.0.1版本的基础上去修复bug,然后发布一个新版本去更新,这样才会更加稳妥,影响范围也会最小;
此时便可以使用 git checkout -b [branch] [tag]
命令进行操作。
修改历史版本代码方案
修改历史tag版本代码并发布新标签
操作流程
1. 列出所有标签
$ git tag
0.0.1
0.0.2
0.0.3
2. 发现0.0.1标签时的历史版本代码出现了问题,针对0.0.1标签时的代码建一个用于紧急处理bug的分支
# 新建一个分支,指向某个tag
$ git checkout -b [branch] [tag]
$ git checkout -b feature-bugfix-0.0.1 0.0.1
Switched to a new branch 'feature-bugfix-0.0.1'
3. 在feature-bugfix-0.0.1分支上处理完bug,再打一个新标签为0.0.1-bugfix
$ git tag 0.0.1-bugfix
4. 推送0.0.1-bugfix新标签到远程仓库
$ git push --tags
此时可以基于0.0.1-bugfix标签发布新版本
5. 将feature-bugfix-0.0.1分支合并到主分支
# 先切换到master主分支
$ git checkout master
# 合并feature-bugfix-0.0.1分支
$ git merge feature-bugfix-0.0.1
# 推送到远程仓库
$ git push
6. 清理本地分支
$ git branch -D feature-bugfix-0.0.1