git reset
git reset 命令用于回退版本,可以指定退回某一次提交的版本。
注意:是直接回到之前的commit版本,看不到之前提交的commit记录。
git reset [--soft | --mixed | --hard] [HEAD]
git reset --soft xxxxx
$ git reset --soft HEAD~3 # 回退上上上一个版本
--mixed 为默认
git reset --mixed xxxxx
会退回到xxxxx提交版本,同时保留之前提交的内容到本地暂存区
谨慎使用 –-hard 参数,它会删除回退点之前的所有信息。
git reset --hard xxxxx
会退回到xxxxx这个版本,删除之前的提交记录,同时删除本地的提交记录。
$ git reset --hard HEAD~3 # 回退上上上一个版本
$ git reset –hard bae128 # 回退到某个版本回退点之前的所有信息。
$ git reset --hard origin/master # 将本地的状态回退到和远程的一样
HEAD 说明:
HEAD 表示当前版本
HEAD^ 上一个版本
HEAD^^ 上上一个版本
HEAD^^^ 上上上一个版本
以此类推...
可以使用 ~数字表示
HEAD~0 表示当前版本
HEAD~1 上一个版本
HEAD^2 上上一个版本
HEAD^3 上上上一个版本
以此类推..
git reset会退版本后,要强制push
git push -f
git revert xxxxxx
单个commitid回退时,会在git树上产生一个新的commitrevert节点。
git revert 最新的一个提交id
继续回退倒数第二条提交的id
git revert 倒数第二个提交id
网友评论