git 版本回退

本地版本回退

直接修改commit指针

用git reflog命令查看当前历史commit 指针位置

然后用git reset --hard HEAD@{N} 来修改当前指针位置

修改后用git log便无法看到HEAD@{N}版本之后的提交了


reset 参数说明:

git reset �Cmixed:

此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息


git reset �Csoft:

回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可 

 

git reset �Chard:

彻底回退到某个版本,本地的源码也会变为上一个版本的内容 


git reset �Chard 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


你可能感兴趣的:(版本回退,git)