前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git基础-git的历史版本查看与版本回退(版本切换)

Git基础-git的历史版本查看与版本回退(版本切换)

作者头像
超级小可爱
发布2023-04-27 19:40:32
2.9K0
发布2023-04-27 19:40:32
举报
文章被收录于专栏:小孟开发笔记

1.谈一谈git中的版本回退

代码语言:javascript
复制
1.我们在git中的每一次 git commit 操作就会提交一个历史版本;
2.每一个历史版本都有一个唯一的hash值进行记录;
3.每一个历史版本实际上就是我们对工作区中的内容修改的一次记录;
4.因此,当我们像退回到某个修改的时候,只需要退回到某个版本即可。
-------------------------------------------------------------------------------
5.在git的版本管理中,有一个叫做`HEAD`的标记,这个标记就是一个用来指向当前版本的指针;
6.因此,当我们进行版本回退或版本切换的时候,实际上是移动HEAD指针的位置。
-------------------------------------------------------------------------------
7.版本回退或版本穿梭之后,可以在对应的版本上进行操作,及提交,提交后便会正常生成一次历史记录。

2.git的历史版本查看命令

2.1 git 历史查看命令介绍

代码语言:javascript
复制
1.git log : 查看详细历史记录,按提交时间倒叙排列,包含提交时间,提交作者,提交备注以及提交的hash值;
2.git log --pretty=oneline : 格式化log形式,每条log只有一行,只包含 完整的hash值 和 提交的备注;
3.git log --oneline : 格式化log形式,每条log只有一行,只包含 短hash值 和 提交的备注;

【注】2和3的区别就是 展示的hash值的长短,短hash就是完整hash截取了前7位的表示形式。

4.git log -n 3 : 只展示最新的 几条 日志,-n 后面的数字就表示 要展示的条数;
5.git log --graph : 会展示历史提交的分支路线;

【注】 参数可以结合使用!
      比如 git log --oneline -n 3 : 即一行一行的展示+只展示最近的3次提交记录;
      比如 git log --oneline --graph : 即一行一行的展示+展示提交的路线;

6.git reflog : 展示短hash+HEAD{n}+提交备注,非常方便用来进行历史版本的回退与任意版本的切换;
7.git reflog -n 2 : 表示只看最近的两次提交

【注】 git log 和 git reflog 的区别:
            git log : 只展示 当前版本之前的版本,即HEAD指针指向的版本及之前的历史版本;
            git reflog : 会展示所有的历史提交版本,非常的全。

8.git log --stat : 可以查看历史提交的改动的文件

2.2 git历史查看命令使用效果

2.2.1 git log

$ git log

文章来源地址https://www.yii666.com/blog/351513.html

2.2.2 git log –pretty=oneline

$ git log --pretty=oneline

2.2.3 git log –oneline

$ git log --oneline

2.2.4 git log -n 2

$ git log -n 2

$ git log --oneline -n 2

2.2.5 git log –graph

$ git log --graph

$ git log --oneline --graph

2.2.6 git log reflog

$ git reflog

$ git reflog -n 2

3.git的版本回退操作(*)

代码语言:javascript
复制
操作思路 : 
  1.使用 git log 或者 git reflog 命令 获取到要回退或者切换的版本id
  2.使用 git reset --hard命令回退/切换到某个历史版本;
  3.git reset --hard 命令会重置  本地仓库、暂存区和工作区,三者的状态保持一致!
代码语言:javascript
复制
版本回退/切换的命令:
1.git reset --hard [索引值] : 可切换到任意版本[推荐使用这个方式]
2.git reset --hard HEAD^ : 只能后退,一个 ^ 表示回退一个版本,两个^ 表示回退两个版本,。。。依次类推
3.git reset --hard HEAD~n :只能后退,n表示后退n个版本

3.1 git reset –hard HEAD^

代码语言:javascript
复制
^ : 一个^ 表示回退一个版本;
    两个^表示回退两个版本;
    三个^表示回退三个版本;

    。。。。。。
    n个^表示回退n个版本
代码语言:javascript
复制
下面看一下具体的操作:

1.当前的版本及文件数据:

2.回退到上一个版本

3.2 git reset –hard HEAD~n

代码语言:javascript
复制
~n : 表示直接回退到 n 个版本;
是 ^ 参数的简写
代码语言:javascript
复制
下面看一下具体的操作

1.当前的版本及文件数据

2.版本一下子回退 3个

3.3 git reset –hard [索引值]

代码语言:javascript
复制
1.上面的两种方式只能往之前的版本切换;
2.如果想进行任意版本的切换,就可以直接使用 git reset --hard [索引值] 命令;
3. 配合 git reflog 命令可以查看到所有的历史版本的提交。
代码语言:javascript
复制
下面看一下具体的操作

1.查看所有的历史版本

2.穿梭到最新的版本 78fa619 版本上

4.扩展 git reset 的其他参数(了解)

代码语言:javascript
复制
git reset --soft  :1.仅在本地版本库移动指针。
git reset --mixed : 1.移动本地版本库的指针;2.重置暂存区。(默认的参数)
git reset --hard  : 1.移动本地版本库的指针;2.重置暂存区;3.重置工作区。

5.完成

Congratulations! You are one step closer to success!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.谈一谈git中的版本回退
  • 2.git的历史版本查看命令
    • 2.1 git 历史查看命令介绍
      • 2.2 git历史查看命令使用效果
        • 2.2.1 git log
        • 2.2.2 git log –pretty=oneline
        • 2.2.3 git log –oneline
        • 2.2.4 git log -n 2
        • 2.2.5 git log –graph
        • 2.2.6 git log reflog
    • 3.git的版本回退操作(*)
      • 3.1 git reset –hard HEAD^
        • 3.2 git reset –hard HEAD~n
          • 3.3 git reset –hard [索引值]
          • 4.扩展 git reset 的其他参数(了解)
          • 5.完成
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档