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

相關文章
相關標籤/搜索