2018年的文章移至github上,点我去!2018年的文章移至github上,点我去!2018年的文章移至github上,点我去!

Fork me on GitHub

Git配合Tag的代码回滚

现有的远程仓库版本的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的状态了。

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

posted on 2017-06-21 10:57  qize  阅读(5066)  评论(0编辑  收藏  举报

导航