Git配合Tag的代码回滚

现有的远程仓库版本的tag为v1.0git

前置准备


具体操做:bash

  • 咱们在本地修改一下readme文件,而后进行add,commit操做。
  • 再给咱们的commit打上tag git tag -a v1.1 -m 'my version 1.1

查看下咱们的tag:code

➜  UI git:(master) git tag
v1.0
v1.1

v1.1的commit的内容是有错误的,会影响线上仓库的出问题,如今咱们须要回滚到正常的v1.0的commit。blog

具体回滚操做


  • 第一步: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的状态。it

可是还有个问题,咱们的master分支依旧处于tagv1.1的状态。io

这时候咱们能够粗暴的将commit的版本进行回退,使用ast

git reset --hard 2a94dd

这样就回退到v1.0的commit的状态了。class

具体的分支与主线变化如图:bug

相关文章
相关标签/搜索