在做项目的时候,有的时候会回滚版本。这个容易,我们使用下面的指令就可以:
git reset --hard [版本号]
接下来,我们就要使用push命令把回滚后的版本推送到github上去。但是当你使用push命令推送的时候,会给你提示错误:
提示翻译过来,就是说remote端的版本比我本地版本要高,不允许拿低版本去替换高版本。这种回滚是在“否认历史”,如果有小伙伴也在用这个仓储做这个项目,那么你将至他于何地?这样2人push代码后必然会冲突,这就是为啥系统不允许我们push的原因。
解决办法:
1.如果你已经在本地reset到低版本了,那么你需要先从remote把服务器上的版本pull下来。
git pull [remote] [branch]
2.有的时候,从服务器上pull下来的分支和本地的分支不一致,就需要合并分支
git merge [branch] //一般是master,或者其他的,比如dev
3.不要使用reset回滚版本,这样其他人就没法跟你一起玩了。正确的做法是使用revert命令,放弃某一个版本。放弃并不等于回滚,回滚会丢失某些版本,而放弃不会,它只会在所有的版本上,再添加一条revert记录。
git revert [版本号]
4.再次push,搞定!