现有的远程仓库版本的tag为v1.0
前置准备
具体操作:
- 我们在本地修改一下
readme
文件,然后进行add,commit操作。 - 再给我们的commit打上tag
git tag -a v1.1 -m 'my version 1.1
。
查看下我们的tag:
➜ UI git:(master) git tag
v1.0
v1.1
v1.1
的commit的内容是有错误的,会影响线上仓库的出问题,现在我们需要回滚到正常的v1.0
的commit。
具体回滚操作
- 第一步:checkout 指定的tag
➜ UI git:(master) git checkout v1.0
- 第二步:将checkout出来的commit版本拉出一个
bugfix
的分支
➜ UI git:(2a94dd7) git checkout -b bugfix
- 第三步:将
bugfix
分支中的代码强推(粗暴)至远程仓库master
➜ UI git:(bugfix) git push origin bugback:master -f
这时候远程仓库代码已经恢复至tagv1.0
的状态。
但是还有个问题,我们的master分支依旧处于tagv1.1
的状态。
这时候我们可以粗暴的将commit的版本进行回退,使用
git reset --hard 2a94dd
这样就回退到v1.0的commit的状态了。
具体的分支与主线变化如图: