???紵 发表于 2018-1-13 23:44:22

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。
https://images2015.cnblogs.com/blog/743207/201705/743207-20170505115743570-472021088.png

具体回滚操作


[*]  第一步: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的状态了。
  具体的分支与主线变化如图:
https://images2015.cnblogs.com/blog/743207/201705/743207-20170505155607961-1515763092.png
页: [1]
查看完整版本: Git配合Tag的代码回滚