美文网首页
[Git]-002 Git版本回退

[Git]-002 Git版本回退

作者: 一点想法 | 来源:发表于2019-08-21 17:33 被阅读0次

1.问题:一个文件被多次修改后提交,那么如何回退到任意版本呢?

2.实际操作步骤:提交demo.txt文件,又做了2次修改

  • 2.1.使用git log --pretty=oneline查看文件改动的历史记录
qingjiao$ git log --pretty=oneline #此处可以看到demo2.txt有3次记录
cc73c18b5a9625fb1b012b5fd58d7a64761b871f (HEAD -> master) delete some unuseful 
inforamtion
adbb5a4b7f20215aded6f93c9bb4fc21d92a70cd 将demo2添加几行
04242bfa2498f9f252308cbad53d6fb90cda564d add demo2.txt
  • 2.2. git reset --hard 恢复历史版本有两种途径
  • 2.2.1 使用HEAD来指定想要恢复对应的版本

Git中使用HEAD来指向当前最新的版本,想恢复上一个版本用HEAD表示,上上个版本用HEAD^,如果往上版本数较多,可以使用数字表示HEAD~100,这种不推荐使用,推荐使用commit_id来指定

qingjiao$ git reset --hard HEAD^^  #回退到上上的版本
HEAD is now at 04242bf add demo2.txt

qingjiao$ git log --pretty=oneline
04242bfa2498f9f252308cbad53d6fb90cda564d (HEAD -> master) add demo2.txt
c0b0e761a70920a2783ea7ad23c584e7220e3871 保持readme.txt文件内容不被恢复初始版本
38736a9ab5e5597df9c061599127daa4707ef99e add readme.txt and demo.txt

qingjiao$ cat demo2.txt  #恢复到了demo2.txt刚添加时内容
i like test
yeah u just do it
thanks
  • 2.2.2 使用commit_id来回退指定的版本

上一步我们将demo2.txt回退到了上上个版本,如果此时我们想要恢复到最新的版本,如果这时我们使用HEAD就无法完成此操作,因为HEAD已经指向了当前的版本

  1. step1:使用git reflog查看所有执行过命令历史记录,可查看每次执行动作的commit_id
qingjiao$ git reflog
04242bf (HEAD -> master) HEAD@{0}: reset: moving to HEAD^^
cc73c18 HEAD@{1}: commit: delete some unuseful inforamtion #这是回退之前最新的版本,复制id
adbb5a4 HEAD@{2}: commit: 将demo2添加几行
04242bf (HEAD -> master) HEAD@{3}: commit: add demo2.txt
qingjiao$ git reset --hard cc73c18  #恢复到最新的版本
HEAD is now at cc73c18 delete some unuseful inforamtion

qingjiaodeMacBook-Pro:learn qingjiao$ git log --pretty=oneline
cc73c18b5a9625fb1b012b5fd58d7a64761b871f (HEAD -> master) delete some 
unuseful inforamtion
adbb5a4b7f20215aded6f93c9bb4fc21d92a70cd 将demo2添加几行
04242bfa2498f9f252308cbad53d6fb90cda564d add demo2.txt
c0b0e761a70920a2783ea7ad23c584e7220e3871 保持readme.txt文件内容不被恢复初始版本
38736a9ab5e5597df9c061599127daa4707ef99e add readme.txt and demo.txt

qingjiaodeMacBook-Pro:learn qingjiao$ cat demo2.txt
i like test
yeah u just do it
thanks

i'm sad

相关文章

  • Git常用命令

    版本回退git reset 回退add 操作Git 版本恢复还原命令 reset git reset –mixed...

  • 今日学习2019.10.16

    1.git版本回退git log:显示日志git reset --hard commitID:回退到某id版本2....

  • [Git]-002 Git版本回退

    1.问题:一个文件被多次修改后提交,那么如何回退到任意版本呢? 2.实际操作步骤:提交demo.txt文件,又做了...

  • iOS-git本地及远程分支回退

    1. git本地版本回退 2. git远程版本回退 下面的命令也可以实现远程版本回退 3.Git 如何删除远程服务...

  • Git

    回退远程版本 先回退本地版本 git reset --hard commitId或者 git reset HE...

  • git 相关

    分支总结 版本回退 git reset –hard HEAD^ 回退到上个版本,git reset –hard...

  • git回滚和强制提交

    Git回滚代码到某个commit 回退命令:git reset --hard HEAD^ 回退到上个版本 git ...

  • git 自用

    $ git reset --hard HEAD^版本回退git status 查看状态git log 打印版本...

  • 关于git commit 后想回退代码

    回退命令 git reset --hard HEAD^ 回退到上一个版本git reset ...

  • git 回退命令

    回退命令: git reset --hard HEAD^ 回退到上个版本 git reset --hard HEA...

网友评论

      本文标题:[Git]-002 Git版本回退

      本文链接:https://www.haomeiwen.com/subject/dcobsctx.html