1.找到要回退的版本修改的 commitId
2.使用命令使本地代码回退到指定 commitId

git reset --hard commitId

3.强制提交本地代码到远程(在推送的时候应该把本地也弄成最新的,fetch+merge下或者pull下就是最新的版本了,多数情况要相信远程库的正确性)

git push -u origin 分支名 --force

 

问题场景:
我们经常在网上看有的教程说 提交 git 的时候要带上 -u这个参数 git push -u origin master,
但我们一般都是这样 git push origin master

两者区别?
加了参数-u后,以后即可直接用git push代替git push origin master
意思就是我们不用在后面加 origin + 要提交的分支名 ,直接 git push 即可

但是前提是,第一次提交需要加 -u参数后,后面的提交就直接可以 git push



git push 的其他命令

  这几个常见的用法已足以满足我们日常开发的使用了,还有几个扩展的用法,如下:

git push -u origin master

      不带任何参数的git push,默认只推送当前分支,这叫做simple方式,还有一种matching方式,会推送所有有对应的远程分支的本地分支, Git 2.0之前默认使用matching,现在改为simple方式

      如果想更改设置,可以使用git config命令。git config --global push.default matching OR git config --global push.default simple;可以使用git config -l 查看配置

git push --all origin 当遇到这种情况就是不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机,这时需要 -all 选项

git push --force origin git push的时候需要本地先git pull更新到跟服务器版本一致,如果本地版本库比远程服务器上的低,那么一般会提示你git pull更新,如果一定要提交,那么可以使用这个命令。

git push origin --tags //git push