前提是在每次上线后,拉取了相应的tag。这样才可以在需要时,回退到相应的tag。
1、首先,查看tag列表。命令:
git tag
git show v1.0
2、git show命令可以看到打tag时提交的id,我们通过这个commit id回退代码:
git reset --hard 7441b8
如果这个时候你立马投入与bug的战斗,修改后发版本,那么你就犯了严重的错误,因为你修改后的代码是无法与正在开发的版本合并哒,也就是说你的修改并不能加入现有的代码。所以:
特别注意:通过标签回退版本后,要马上拉一个分支,然后当前主干分支要立即回到原来的位置,否则正在开发的代码可能白干了,接着在刚拉的分支上修改bug,修改完毕合并到主干上
3、拉取分支
回退版本后,立即拉取分支,这里取名bugfix分支:
git checkout -b bugfix
如图所示,我们已经在bugfix分支上了:
4、主干分支立即回到原来的位置
首先,请先回到主干分支上:
git checkout master
回退版本需要commit id,向前进呢,同样也是的。还记得我在第三次提交完毕后,用git log命令查看提交记录吗,现在我们需要第三次提交的commit id,再用git log
命令:
可以看到只有第一次的提交记录了,因为这个时候版本回退了git log是查不到第三次提交记录的,怎么办呢,怎么才能回去呢?
别急,这个时候,我们用下面这个命令:
git relog
看到了吗,你所有的操作记录都在这儿,这就是git,记录操作。可以看到第三次的commit id是 7358a51。回去喽:
git reset --hard 7358a51
5、切换到bugfix分支,修改bug。就可以按照原先的开发流程继续工作了。