远程代码回滚
git checkout master
git reset --hard r-180111-161400-xxx
git reset --soft origin/master
git commit -a -m "revert master to r-180111-161400-xxx, because of先不修了"
git push origin master
- 在本地将分支切到master
- 将本地代码回滚到上一个稳定版本r-180111-161400-xxx
- 将本地master分支的head指向远程master(确保提交代码到远程时,不需要merge)
- 提交回滚的代码
- 将本地回滚的代码push到远程master
仓库代码回滚后,同一分支merge
git checkout 分支名
git reset --soft 回滚的那个编号(master revert)
git stash
git merge origin/master
git stash pop
git mergetool
git commit -m "merge & keep code"
git push
- 保留本地分支代码的改动,将head指向回滚时的那个“提交点”,可以从远程仓库或本地master获取回滚点(确保后续merge的时候,代码不会丢)
- 暂存改动的代码
- merge远程的最新代码到本地
- 将暂存的代码和最新的代码合并
- 提交merge最新后的代码和回滚后修改好的代码
- 将本地分支代码提交到远程
命令区分