git 远程仓库回滚
假设做了一个错误的修改,并且不想保留历史记录
- 本地回滚到上一个版本
- git reset --hard HEAD^ (soft是只重置head不回滚,hard是重置并回滚)
- 提交到远程仓库
- git push -f
这样就会回滚并强制覆盖仓库,从效果来看就是文件回滚,连被回滚的提交记录也没了,好像从没发生过一样。但是用git reflog可以取回
如果是多人协作项目并且维护不同分支,要在公共分支做回滚(这本不应该发生),则不建议用reset了,而应该用git revert,好处如下:
- 会保留提交历史,有据可查,大家不会迷惑
- revert虽然做的是回滚,但也是一次提交,会将HEAD前进。大家pull下就完了,当作普通修改
sort of, I have some experience in the domain of database(MySQL/mongo), java, python, front-end, etc. I'll willing to give and accept bits of help from others.
now base in Singapore.