Git reset --hard commit_id(可用 git log –oneline 查看)
git push origin HEAD --force #远程提交回退
下面的命令也能够实现远程版本回退nginx
git reset --hard HEAD~1 git push --force
git reset命令后面是须要加2种参数的:”–hard”
和”–soft”
。git
这条命令默认状况下是”–soft”。执行上述命令时,这该条commit号之 后(时间做为参考点)的全部commit的修改都会退回到git缓冲区中。sql
使用git status命令能够在缓冲区中看到这些修改。而若是加上”–hard”参数,则缓冲区中不会存储这些修改,git会直接丢弃这部份内容。服务器
但须要注意的一 个问题是:因为这样的重置是直接在本地的修改,没法提交到远程服务器,若是直接丢弃的内容已经被推到远程服务器上了,则会形成本地和服务器没法同步的问题。spa
即git reset –hard只能针对本地操做,不能针对远程服务器进行一样操做。若是从本地删掉的内容没有推到服务器上,则不会有反作用;若是被推到服务器,则下次本地和 服务器进行同步时,这部分删掉的内容仍然会回来。code
而上面注意中提到的问题则能够很好的被git revert 命令解决。同步
git revert + commit 号
该命令撤销对某个commit的提交,这一撤销动做会做为一个新的修改存储起来,这样,当你和服务器同步时,就不会产生什么反作用。it