赞
踩
1.git本地版本回退
Git reset --hard commit_id(可用 git log –oneline 查看)
2.git远程版本回退
git push origin HEAD --force #远程提交回退
下面的命令也可以实现远程版本回退
- git reset --hard HEAD~1
- git push --force
git reset命令后面是需要加2种参数的:”–hard”
和”–soft”
。
这条命令默认情况下是”–soft”。执行上述命令时,这该条commit号之 后(时间作为参考点)的所有commit的修改都会退回到git缓冲区中。
使用git status命令可以在缓冲区中看到这些修改。而如果加上”–hard”参数,则缓冲区中不会存储这些修改,git会直接丢弃这部分内容。
但需要注意的一 个问题是:由于这样的重置是直接在本地的修改,无法提交到远程服务器,如果直接丢弃的内容已经被推到远程服务器上了,则会造成本地和服务器无法同步的问题。
即git reset –hard只能针对本地操作,不能针对远程服务器进行同样操作。如果从本地删掉的内容没有推到服务器上,则不会有副作用;如果被推到服务器,则下次本地和 服务器进行同步时,这部分删掉的内容仍然会回来。
而上面注意中提到的问题则可以很好的被git revert 命令解决。
git revert + commit 号
该命令撤销对某个commit的提交,这一撤销动作会作为一个新的修改存储起来,这样,当你和服务器同步时,就不会产生什么副作用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。