美文网首页
Git--版本控制(二)版本回退

Git--版本控制(二)版本回退

作者: Levi_Wan | 来源:发表于2016-12-14 21:50 被阅读2006次

Git--版本控制(部分引用)廖雪峰老师

  • 上一章讲到了commit到版本库中,接着上一章进行操作。

  • 接着我们现在使用git status查询仓库的状态。可以发现与之前的status都不一样,提示我们处于的master分支中,没有东西需要commit,工作树(工作区)也是干净的(没改动的)

Paste_Image.png
  • 接着我们开始对文件进行改动。我们修改frist文件,并保存。
Paste_Image.png
  • 在进行状态查询。
Paste_Image.png
  • 可以看见我们所追踪了的文件被修改了,可以add命令进行更新,也可以使用checkout来放弃修改。 这里我们使用diff(difference)命令来查看我们的修改。
Paste_Image.png
  • 可以清楚的看见我们的对文件进行的修改(注意,图片视频等二进制的智能显示大小变比无法知晓修改),接着我们重新add,和commit。
Paste_Image.png
  • 此时我们可以发现修改成功,我们在向master分支中多添加两个文件。
Paste_Image.png Paste_Image.png

重点!此时我们的git就出现了多个版本。通过git log查询

Paste_Image.png
  • 其中commit后面的为16进制的版本ID,(在SVN中commit id为int型1,2,3,4,......)

版本回退。

  • 如果我们对于此操作不满意或者说出现了严重的BUG,想要回到上一版本该如果做呢?

我们每提交一个新版本,实际上Git就会把它们自动串成一条时间线也即是log。那么我们如果进行版本回退呢? git reset 命令进行版本回退。

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交18b01ce5ac.......(每个ID不一样),上一个版本就是HEAD,上上一个版本就是HEAD,当然往上100个版本写100个比较容易数不过来,所以写成HEAD~100。

  • 使用git reset --hard HEAD^ 回到上一版本
  • HEAD为一个版本指针,可以看见当前指针指向了modified Frist的那个版本
Paste_Image.png Paste_Image.png
  • 查看我们的文件夹,second和third文件都消失了。。。
Paste_Image.png
  • 我们同样可以继续使用回到又上一个版本。
Paste_Image.png
  • 此时,我们查看frist.txt,并没有modified的痕迹。
Paste_Image.png

如何回到没有回退之前的版本呢?

  • 首先我们通过git reflog(它记录了我们所执行过的所有命令)
Paste_Image.png
  • 全部16进制数为我们的commit id,我们可以通过id来进行倒退。
  • 回到添加second和third的版本。
Paste_Image.png
Paste_Image.png
  • 对,你没有看错,我们回来了。

Git版本回退的速度为什么这么快?因为HEAD指针。

Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向I modified frist file:

Paste_Image.png
  • 回退后:
Paste_Image.png

然后顺便把工作区的文件更新了。所以你让HEAD指向哪个版本号,你就把当前版本定位在哪。

Paste_Image.png

相关文章

  • Git--版本控制(二)版本回退

    Git--版本控制(部分引用)廖雪峰老师 上一章讲到了commit到版本库中,接着上一章进行操作。 接着我们现在使...

  • (一)Git--版本回退

    状态管理 1. 掌握工作区的状态 修改过文件后,运行git status命令查看当前仓库状态如果git显示文件被修...

  • Git--版本控制(五)添加远程库

    Git--版本控制(引用)廖雪峰老师 我们如何创建自己的版本库并使用呢? Github需要代理才能访问? 我们可以...

  • Git--版本控制(一)

    Git--版本控制(部分引用)廖雪峰老师 原来在公司用SVN,现在来谈谈GitGit是目前世界上最先进的分布式版本...

  • GIT--版本控制系统(二)

    上一节简单介绍了Git入门和部分指令的使用,你已学会了: 简单Git的储存原理 上传文件到版本库 文件状态,工作区...

  • git的日常使用

    平时使用git进行版本控制,有一些基本的语句进行记录 查看版本以及版本回退

  • 「产品前端架构」版本控制

    版本控制 版本管理涉及团队协作,产品质量,和产品上线。使用版本控制工具可使我们自由的做的一些几点: 回退到任意版本...

  • git——版本控制工具

    一、git是什么工具?版本控制工具 二、git起到了什么作用?代码管理,上传,下载,版本回退 三、下载安装网址:h...

  • GIT学习

    GIT git是什么? 分布式版本控制系统 git用来干什么? 控制代码的版本管理,查看提交修改,版本回退等等 g...

  • git如何回滚到某一个分支

    1. 查看所需回退的版本 拿到你想要回退版本的commit_id 2.如何回退 回退之后,将回退的版本推送到远程分...

网友评论

      本文标题:Git--版本控制(二)版本回退

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