业务场景
客户环境需要部署当前分支的之前的一个版本代码,所以需要从当前的commit切换到之前的commit
版本切换步骤
查看版本提交日志
$ git reflog
切换版本
git reset --hard '七位数的版本id'
在切换后的版本上更改代码后
执行完暂存
git commit
把回退后的代码提交到新建分支上暂存
git checkout -b history-stash //新建分支并切换到temp分支
git push origin history-stash:history-stash //将代码push到temp分支
此时远程仓库就多了一个history-stash分支,专门用来存储版本回退后的代码, 客户环境可以暂时部署当前暂存分支的代码
如果已经存在了暂存分支,又要再次回退另一个commit, 可以:
先删除之前的history-stash
git push origin --delete history-stash //删除远端主分支
git branch -d history-stash //删除本地主分支
执行: ’ 在切换后的版本上更改代码后 ‘
最后: 切换回最新的版本,并确认切换后的HEAD指向
git reset --hard '七位数的版本id' // 切换最新的commit版本
git log --pretty=oneline // 查看当前的Head指向