如果开发了一个新功能,已经push到远程分支,待上线,但是产品突然说此功能不需要了,这时候就需要回滚线上分支,恢复到上一次提交的状态。
这里以develop分支为例
1. 先在本地回滚到上次提交的状态
git reset HEAD~1
2. 查看分支状态并撤销修改
git status
git checkout -- xxxx //撤销上次修改的文件,如果想保留的话可以在执行所有回滚操作前git checkout -b backup,否则这样执行完后就没有这次代码记录了
3. 强制推送到远程develop分支
git push -f origin develop //-f是强制覆盖远程分支
此时远程develop分支就已经成功回滚了。