标签:git
本地版本回退
直接修改commit指针
用git reflog命令查看当前历史commit 指针位置
然后用git reset --hard HEAD@{N} 来修改当前指针位置
修改后用git log便无法看到HEAD@{N}版本之后的提交了
reset 参数说明:
git reset –mixed:
此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset –soft:
回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset –hard:
彻底回退到某个版本,本地的源码也会变为上一个版本的内容
git reset –hard origin/master
将本地的状态回退到和远程的一样
例如:
1、回退到上一个版本
git reset --hard e158e14960bdf9d71d374a7e1951f96c3e0b3643 (或 git reset HEAD^ --hard)
2、push到master分支
git push -f
3、查看本地日志和远端server的git lot的版本号是否一致。
远程版本回退:
git无法在远程仓库上直接回退,需要把本地版本改成正确的版本过后,再提交到远程仓库。
http://christoph.ruegg.name/blog/git-howto-revert-a-commit-already-pushed-to-a-remote-reposit.html
本文出自 “zhanguo1110” 博客,请务必保留此出处http://zhanguo1110.blog.51cto.com/5750817/1604000
标签:git
原文地址:http://zhanguo1110.blog.51cto.com/5750817/1604000