前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Git】Git 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )

【Git】Git 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )

作者头像
韩曙亮
发布2023-03-30 09:09:49
2K0
发布2023-03-30 09:09:49
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、查看提交记录 git log


1、查看详细提交记录

在 Git 版本库 中 , 可以查询每一次 使用 git commit 命令的提交记录 , 每次 git commit 提交都会保留一个快照 , 如果工程代码弄坏了 , 可以尝试从最近的一次 git commit 提交的快照进行恢复 ;

执行

代码语言:javascript
复制
git log

命令 , 会显示之前的提交记录 , 排序由近及远 ;

在这里插入图片描述
在这里插入图片描述

由打印的内容可以看出 , 最近的一次提交时 修改了 file2.txt 文件 ;

代码语言:javascript
复制
D:\Git\git-learning-course>git log
commit dd0db50c74c065dc8ad569ec41267a9c881e7d7e (HEAD -> master)
Author: hanshuliang <octopus_truth@163.com>
Date:   Wed Dec 8 11:31:48 2021 +0800

    modify file2
在这里插入图片描述
在这里插入图片描述

2、查看简略提交记录

执行

代码语言:javascript
复制
git log --pretty=oneline

命令 , 可以查看简略提交目录 ;

执行过程 :

代码语言:javascript
复制
D:\Git\git-learning-course>git log --pretty=oneline
dd0db50c74c065dc8ad569ec41267a9c881e7d7e (HEAD -> master) modify file2
63a9ef1a546c4d30c0e4f74ac2258b37bd585254 modify file1
72e82e0652ff454f83fa26e7ad186a74e69090e1 modify file4
5bcec31df6d485a957681f9f35b6d0461d19abf3 add 1 files
f95c831c111e8fa4d79cbdacc6ea306cde399959 add 3 files
f2f9a971bfc65c1067d8ee2907362c0b92a29fe6 (origin/master, origin/HEAD) Update README.md
5d7e8d4eee3def7d8e094fdee1508fb2e7b0c790 Initial commit

D:\Git\git-learning-course>
在这里插入图片描述
在这里插入图片描述

二、版本回滚 git reset


下图是 Git 版本库 最近的 git commit 提交 记录 ;

在这里插入图片描述
在这里插入图片描述

1、Git 中的版本表示 HEAD~1

Git 中的版本表示 :

  • HEAD 表示当前的版本 , 是 dd0db50c74c065dc8ad569ec41267a9c881e7d7e (HEAD -> master) modify file2 版本 , 当前版本 , 查询出的第
1

个版本 ;

  • HEAD~1 表示上一个版本 , 是 63a9ef1a546c4d30c0e4f74ac2258b37bd585254 modify file1 版本 , 往上
1

个版本 , 查询出的第

2

个版本 ;

  • HEAD~2 表示上上一个版本 , 是 72e82e0652ff454f83fa26e7ad186a74e69090e1 modify file4 版本 , 往上
2

个版本 , 查询出的第

3

个版本 ;

  • HEAD~3 表示上上上一个版本 , 是 5bcec31df6d485a957681f9f35b6d0461d19abf3 add 1 files 版本 , 往上
3

个版本 , 查询出的第

4

个版本 ;

  • HEAD~100 表示往上
100

个版本 , 是查询出的第

101

个版本 ;

2、版本库代码回滚

执行

代码语言:javascript
复制
git reset --hard HEAD~1

命令 , 就是往上回滚一个版本 , 回滚到 63a9ef1a546c4d30c0e4f74ac2258b37bd585254 modify file1 版本 , 这个版本中 file2.txt 不是空的 , 当前是有内容的 ;

在这里插入图片描述
在这里插入图片描述

执行回滚到上一个版本命令后 , file2.txt 文件中的内容消失 ;

在这里插入图片描述
在这里插入图片描述

三、撤销回滚


1、查询 git 操作 git reflog

执行

代码语言:javascript
复制
git reflog

命令 , 可以查询之前进行的 每一次 git 命令 ;

执行过程 :

代码语言:javascript
复制
D:\Git\git-learning-course>git reflog
63a9ef1 (HEAD -> master) HEAD@{0}: reset: moving to HEAD~1
dd0db50 HEAD@{1}: reset: moving to dd0db50
63a9ef1 (HEAD -> master) HEAD@{2}: reset: moving to HEAD~1
dd0db50 HEAD@{3}: reset: moving to dd0db50
72e82e0 HEAD@{4}: reset: moving to HEAD~1
63a9ef1 (HEAD -> master) HEAD@{5}: reset: moving to HEAD~1
dd0db50 HEAD@{6}: reset: moving to HEAD
dd0db50 HEAD@{7}: reset: moving to HEAD
dd0db50 HEAD@{8}: reset: moving to HEAD
dd0db50 HEAD@{9}: commit: modify file2
63a9ef1 (HEAD -> master) HEAD@{10}: commit: modify file1
72e82e0 HEAD@{11}: commit: modify file4
5bcec31 HEAD@{12}: commit: add 1 files
f95c831 HEAD@{13}: commit: add 3 files
f2f9a97 (origin/master, origin/HEAD) HEAD@{14}: clone: from https://codechina.csdn.net/han12020121/git-learning-course

D:\Git\git-learning-course>
在这里插入图片描述
在这里插入图片描述

2、撤销回滚操作 git reset --hard dd0db50

上一步操作 , 是由 HEAD 位置指向了 HEAD~1 位置 ,

代码语言:javascript
复制
63a9ef1 (HEAD -> master) HEAD@{0}: reset: moving to HEAD~1

可以重新撤销回滚 , 恢复到回滚之前的状态 ,

代码语言:javascript
复制
dd0db50 HEAD@{6}: reset: moving to HEAD

可以知道 , HEAD 的版本号是 dd0db50 ;

执行

代码语言:javascript
复制
git reset --hard dd0db50 

命令 , 即可恢复成回滚之前的代码状态 ;

执行过程 :

代码语言:javascript
复制
D:\Git\git-learning-course>git reset --hard dd0db50
HEAD is now at dd0db50 modify file2

D:\Git\git-learning-course>

此时再查看 file2.txt 内容 , 发现内容恢复成了原来的样子 ;

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-08,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、查看提交记录 git log
    • 1、查看详细提交记录
      • 2、查看简略提交记录
      • 二、版本回滚 git reset
        • 1、Git 中的版本表示 HEAD~1
          • 2、版本库代码回滚
          • 三、撤销回滚
            • 1、查询 git 操作 git reflog
              • 2、撤销回滚操作 git reset --hard dd0db50
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档