场景:如果我们某次修改了某些内容,并且已经commit到本地仓库,而且已经push到远程仓库了。这种情况下,我们想把本地和远程仓库都回退到某个版本,该怎么做呢?

git reset只是在本地仓库中回退版本,而远程仓库的版本不会变化

这样,即时本地reset了,但如果再git pull,那么,远程仓库的内容又会和本地之前版本的内容进行merge

这并不是我们想要的东西,这时可以有2种办法来解决这个问题:

直接在远程server的仓库目录下,执行git reset –soft 10efa来回退。注意:在远程不能使用mixedhard参数

在本地直接把远程的master分支给删除,然后再把reset后的分支内容给push上去,如下:

#新建old_master分支做备份

git branch old_master

#push到远程

git push origin old_master:old_master

#本地仓库回退到某个版本

git reset –-hard bae168

#删除远程的master分支

git push origin :master

#重新创建master分支

git push origin master