git 退回到指定tag版本

可能用到的命令:

  查看当前分支:git branch

    切换分支:git checkout master(分支名)

  查看tag:git tag

  查看当前git状态:git status

  显示所有提交过的版本信息: git log

  查看所有分支的所有操作记录: git reflog

1. 查看某个tag的详情:git show v1.3.5 

  返回:commit  backid(回退命令就用这个id)

2. 通过commit的id回退:git reset --hard backid

  如果这个时候你立马投入与bug的战斗,修改后发版本,那么你就犯了严重的错误,因为你修改后的代码是无法与正在开发的版本合并哒,也就是说你的修改并不能加入现有的代码。所以: 特别注意:通过标签回退版本后,要马上拉一个分支,然后当前主干分支要立即回到原来的位置,否则正在开发的代码可能白干了,接着在刚拉的分支上修改bug,修改完毕合并到主干上 (验证过,是对的)

3. 回退版本后,立即拉取分支,这里取名bugfix分支:git checkout -b bugfix

4. 请先回到主干分支上:git checkout master 

5. 切换到bugfix分支,修改bug。就可以按照原先的开发流程继续工作

 

操作过程中容易出现直接checkout指定的tag,这种是有问题的,

git checkout tag_name 这时候 git 可能会提示你当前处于一个“detached HEAD" 状态。(detached 分离的,这时候head指向了tag,但是idea的version control内能看到一个叹号!)

因为 tag 相当于是一个快照,是不能更改它的代码的。出现这种问题,可以直接pull一次代码,这时候head就会转到操作之前的HEAD

 

参考文章:

gitlab回滚到指定tag版本 https://blog.51cto.com/wangqh/2129095

git使用tag恢复到以前的版本 https://blog.csdn.net/fzk2008/article/details/59575834

 

 

 

 

posted @ 2020-05-23 21:15  normalpers  阅读(9042)  评论(0编辑  收藏  举报