git 远程仓库回滚

假设做了一个错误的修改,并且不想保留历史记录

  1. 本地回滚到上一个版本
    • git reset --hard HEAD^ (soft是只重置head不回滚,hard是重置并回滚)
  2. 提交到远程仓库
    • git push -f  

这样就会回滚并强制覆盖仓库,从效果来看就是文件回滚,连被回滚的提交记录也没了,好像从没发生过一样。但是用git reflog可以取回

如果是多人协作项目并且维护不同分支,要在公共分支做回滚(这本不应该发生),则不建议用reset了,而应该用git revert,好处如下:

  1. 会保留提交历史,有据可查,大家不会迷惑
  2. revert虽然做的是回滚,但也是一次提交,会将HEAD前进。大家pull下就完了,当作普通修改
posted @ 2017-07-28 11:24  Els0n  阅读(175)  评论(0编辑  收藏  举报