首页 > 其他分享 >Git版本回退

Git版本回退

时间:2022-08-20 22:46:30浏览次数:55  
标签:reset HEAD Git git master 版本 回退 commit txt

转自:https://www.liaoxuefeng.com/wiki/896043488029600/897013573512192

1.reset命令 --hard参数

首先查看commit记录,

myproj % git log
commit 7ce989d2294aeede765a4792d40a3df9d0844355 (HEAD -> master)
Author: bg <>
Date:   Sat Aug 20 17:52:51 2022 +0800

    修改a.txt,+0820 bg修改一下

commit c3a96ee4f0c6439ffda1b8b3bfbfd2e7f9a730fa
Author: bg 
Date:   Sat Aug 20 16:34:29 2022 +0800

    m a.txt, add b.txt

commit 594e046e8966ff38ad404791edb66f5a6f1e9e4d (origin/master, feature/1)
Author: 
Date:   Wed Aug 10 00:20:40 2022 +0800

    initial commit

 

使用命令

git reset --hard HEAD^
//或者
git reset --hard HEAD~1

 

表示回退到上1个版本,HEAD~n表示回退到上n个版本, 回退的本质是移动HEAD指针,git reset 命令是在更改git指针HEAD的指向,具体是更改指向不同的版本号。然后顺便把工作区的文件更新了。

 类似的:

 

 那么回退到上一次的版本:

myproj % git reset --hard head~1
HEAD 现在位于 c3a96ee m a.txt, add b.txt

yproj % git log
commit c3a96ee4f0c6439ffda1b8b3bfbfd2e7f9a730fa (HEAD -> master)
Author: bg <MacBook-Pro-2.local>
Date:   Sat Aug 20 16:34:29 2022 +0800

    m a.txt, add b.txt

commit 594e046e8966ff38ad404791edb66f5a6f1e9e4d (origin/master, feature/1)
Author: 
Date:   Wed Aug 10 00:20:40 2022 +0800

    initial commit

 

可以发现log里只有前两次的提交了,如果想恢复了,直接再reset之前的commitID前几位即可,

myproj % git reset --hard 7ce989d2294
HEAD 现在位于 7ce989d 修改a.txt,+0820 bg修改一下

 

logs/有记录所有的命令情况,可以找回:

myproj % git reflog
7ce989d (HEAD -> master) HEAD@{0}: reset: moving to 7ce989d2294
c3a96ee HEAD@{1}: reset: moving to head~1
7ce989d (HEAD -> master) HEAD@{2}: checkout: moving from feature/1 to master
594e046 (origin/master, feature/1) HEAD@{3}: checkout: moving from master to feature/1
7ce989d (HEAD -> master) HEAD@{4}: commit: 修改a.txt,+0820 bg修改一下

 

2.--soft参数

 

标签:reset,HEAD,Git,git,master,版本,回退,commit,txt
From: https://www.cnblogs.com/BlueBlueSea/p/16608959.html

相关文章

  • IDEA-2021.1.2版本的相关设置
    1.自动导包:File|Settings|Editor|General|AutoImport        2.忽略大小写设置:(去掉MathCase)          ......
  • Typora+picgo+github图片及文件上传
    一、本地文件上传github右上角newrepository复制https连接在本地下载:git然后找到你要上传的文件夹项目,右键点击文件夹(注意:不能选单个文件或者压缩包......
  • 1.css?v=2015 网站的css版本号怎样实现
    https://zhidao.baidu.com/question/1895997040023890700.html实际上CSS后面追加参数是没有作用的可以随便写你也可以写成1.css?zhegeshishuxing=zhegeshicanshu但是那......
  • Git代码拉取与推送
    转自:https://www.cnblogs.com/techflow/p/13895261.html1.拉取实gitpull并不是严格意义上的代码拉取命令,至少它还不是最细粒度,更细粒度的是gitfetch。gitfetch:将远程......
  • Hexo+GitHub搭建个人博客
    操作环境:Windows10、Node、Git、ssh前置准备:<username>github.io仓库已建立,预计托管博客网址为<username>github.io/blog先对hexo有个清晰的认识,不至于稀里糊涂的跟......
  • Git
    命令查看历史命令gitreflog查看提交历史gitlog查看当前分支状态gitstatus查看节点区别gitdiff创建分支gitbranch/gitcheckout-b切换分支gitcheckout......
  • git慎用命令
    git中慎用命令如下:1、  rebase,其会改变本地的基线,造成和服务器上基线对不上而导致一些乱七八糟的错误,常见的错误就是本地版本落后于服务器版本,千万不要轻信网上说的什......
  • Git三大分区学习
    转自:https://juejin.cn/post/68449036543115100301.工作区、暂存区、版本库工作区(WorkingDirectory)是直接编辑的地方,直接操作。暂存区(Stage或Index)数据暂时存......
  • github_findpath_v1.0-Github开源项目目录爆破程序
    Github开源项目目录爆破程序​ 写了个小工具,欢迎师傅们提建议​ 某一天回我的母校溜达了一圈,然后用GoogleHack找到了一个后台,用Wappalyzer没识别到CMS,但是看着这东西......
  • worktree的路径的文件夹自己重命名后发现没有git
    whyworktree?假如你当前有个正在开发的feature,而现在反馈有个hoxfix需要紧急处理,但是我当前的feature也没有写完,并且也不想提交,那么你可以:gitstatsh:将当前工作区的......