解决:无法push到远程仓储

  在做项目的时候,有的时候会回滚版本。这个容易,我们使用下面的指令就可以:  

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,搞定!

原文地址:https://www.cnblogs.com/ldq678/p/13289314.html