0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

第一本Git命令教程(六) - 日志

454398 来源:alpha007 作者:alpha007 2022-12-05 17:22 次阅读

今天是 Git 系列课程第六课,上一课我们学会了 Git 本地提交,今天痞子衡要讲的是如何查看 Git 本地历史提交。

当我们在仓库里做了很多次提交之后,免不了需要回看提交记录,看看自己之前的改动。有三种 Git 命令可以帮我们查看记录,痞子衡为大家一一讲解:

1. 查看本地历史提交 git log

git log 是最直接的查看历史提交的命令,git log 可直接用也可带参数用,常用的有下面 4 种:

1.1 标准查看 git log

// 显示所有历史提交标准信息,每个提交信息包括 SHA 号,作者,时间以及标题 jay@pc MINGW64 /d/my_project/gittest (master)$ git log

commit ea3925e786f7975265fd43eface72f48af4306dd (HEAD -> master)
Author: Jay Heng 
Date:   Sun Mar 11 07:46:16 2018 +0800

    Add initial platform and update test

// 此处略去其他 commit 信息
...

1.2 精简查看 git log --pretty=oneline

// 显示所有历史提交精简信息,每个提交信息仅占一行,信息包括 SHA 号以及标题。
jay@pc MINGW64 /d/my_project/gittest (master)$ git log --pretty=oneline

ea3925e786f7975265fd43eface72f48af4306dd (HEAD -> master) Add initial platform and update test
fdec58a389772a14f71c391214e90f5c5c00570a Initial application and test
867df08b4e13649e30926b483279dddce32750c2 (origin/master, origin/HEAD) second commit
5fe04f86701d1d0ccb710140d440fa86daab5ffb first commit

1.3 完整查看 git log -p

// 显示所有历史提交完整信息,比标准查看多了提交的具体文件改动信息。
jay@pc MINGW64 MINGW64 /d/my_project/gittest (master)$ git log -p

commit ea3925e786f7975265fd43eface72f48af4306dd (HEAD -> master)
Author: Jay Heng 
Date:   Sun Mar 11 07:46:16 2018 +0800

    Add initial platform and update test

diff --git a/app/platform.c b/app/platform.c
new file mode 100644
index 0000000..e69de29
diff --git a/app/test.c b/app/test.c
index e69de29..70dde01 100644
--- a/app/test.c
+++ b/app/test.c
@@ -0,0 +1,6 @@
+#include 
+#include 
+void test(void)
+{
+    printf("this is test/n");
+}
/ No newline at end of file

// 此处略去其他 commit 信息
...

1.4 定制查看 git log --pretty=format:"%opt1 %opt2" --graph

// 按指定格式显示所有提交历史信息。
jay@pc MINGW64 /d/my_project/gittest (master)$ git log --pretty=format:"%h %an %s" --graph

* ea3925e Jay Heng Add initial platform and update test
* fdec58a Jay Heng Initial application and test
* 867df08 Jay Heng second commit
* 5fe04f8 Jay first commit

其中 opt 选项列出如下:

%H  提交对象(commit)的完整哈希字串
%h  提交对象的简短哈希字串
%T  树对象(tree)的完整哈希字串
%t  树对象的简短哈希字串
%P  父对象(parent)的完整哈希字串
%p  父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s  提交说明

2. 图形化查看本地历史 gitk

如果你觉得 git log 这种命令行方式查看与显示提交记录不够直观,Git 也提供了图形化方式显示提交记录。

jay@pc MINGW64 /d/my_project/gittest (master)$ gitk

3. 查看本地历史操作 git reflog

无论是 gitk 还是 git log 都仅能查看最终在仓库存在的提交信息,无法查看被删除的提交,以及在本地具体 Git 命令操作记录,这时候你需要使用 git reflog。

jay@pc MINGW64 /d/my_project/gittest (master)$ git reflog

ea3925e (HEAD -> master) HEAD@{0}: am: Add initial platform and update test
fdec58a HEAD@{1}: am --abort
fdec58a HEAD@{2}: am: Initial application and test
867df08 (origin/master, origin/HEAD) HEAD@{3}: reset: moving to HEAD~1
b69153f HEAD@{4}: am: Initial application and test
867df08 (origin/master, origin/HEAD) HEAD@{5}: reset: moving to HEAD~2
610feaf HEAD@{6}: commit: Add initial platform and update test
589f65b HEAD@{7}: reset: moving to HEAD
589f65b HEAD@{8}: reset: moving to HEAD
589f65b HEAD@{9}: reset: moving to 589f65b
4378dee HEAD@{10}: commit: Initial platform and driver
589f65b HEAD@{11}: reset: moving to 589f65b
1eaa025 HEAD@{12}: reset: moving to HEAD
1eaa025 HEAD@{13}: commit: Initial platform and driver
589f65b HEAD@{14}: commit (amend): Initial application and test
0a0c0fc HEAD@{15}: commit: Initial application
867df08 (origin/master, origin/HEAD) HEAD@{16}: rebase finished: returning to refs/heads/master
867df08 (origin/master, origin/HEAD) HEAD@{17}: rebase: second commit
5fe04f8 HEAD@{18}: rebase: checkout refs/remotes/origin/master
aa9db9d HEAD@{19}: commit: second commit
5fe04f8 HEAD@{20}: reset: moving to HEAD
5fe04f8 HEAD@{21}: clone: from git@github.com:JayHeng/gittest.git


审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Git
    Git
    +关注

    关注

    0

    文章

    198

    浏览量

    15755
收藏 人收藏

    评论

    相关推荐

    Git常用命令总结

    在之前的文章中,我们讨论了些初学者必备的 Git 命令。然而,这些命令仅仅触及了 Git 功能的皮毛。
    发表于 07-21 10:30 298次阅读

    Git常用的超级实用命令

    Git工作流。 1 Git 常用的超级实用命令 1.1 与仓库相关的操作 克隆代码仓库到本地,开发必用 git clone 查看本地仓
    的头像 发表于 10-09 17:19 1159次阅读
    <b class='flag-5'>Git</b>常用的超级实用<b class='flag-5'>命令</b>

    git命令的基本使用

    git config 第一次使用git或者刚安装的git时,使用此命令设置身份Name 和 Eamail 地址。并且每次提交时会使用此信息。
    的头像 发表于 12-11 13:53 907次阅读

    [原创]发现一本《无线衰落信道》的书,书号为978-7-121-07412-7

    这本书是国内第一本关于无线衰落信道方面的图,书号为978-7-121-07412-7,由电子工业出版社2009年1月出版,前几天到北京西单图书大厦买了一本,现向大家推荐!
    发表于 02-05 15:16

    《我的第一本C++书》完整中文版pdf(看图学C++)

    `《我的第一本C++书》完整中文版pdf(看图学C++)`
    发表于 08-19 15:58

    proE 官方教程第一本下载

    proE 官方教程第一本下载
    发表于 01-14 16:47 0次下载
    proE 官方教程<b class='flag-5'>第一本</b>下载

    [我的第一本C.书].陈良乔.扫描版

    电子发烧友网站提供《[我的第一本C.书].陈良乔.扫描版.txt》资料免费下载
    发表于 06-13 09:01 0次下载

    我国出版了第一本人工智能教材,AI从高中学起

    计算机要从娃娃抓起,AI可以从高中学起。近日我国为高中生出版了第一本人工智能(AI)教材——《人工智能基础(高中版)》,寄希望于年轻的代来缩小在全球人工智能人才竞争中的差距。
    的头像 发表于 07-18 18:47 4159次阅读

    第一本Git命令教程(7.1)-清理之缓存

    今天是 Git 系列课程第七课,上课我们学会了查看 Git 本地历史提交,今天痞子衡要讲的是 Git 仓库的清理操作,共 4 个
    的头像 发表于 12-05 17:39 820次阅读

    Git 命令+原理 程序员必备的基础

    掌握Git命令是每位程序员必备的基础,之前直是用smartGit工具,直到看到大佬们都是在用Git命令操作的,回想
    的头像 发表于 11-14 10:01 1746次阅读
    <b class='flag-5'>Git</b> <b class='flag-5'>命令</b>+原理 程序员必备的基础

    Git高效命令的使用技巧

    今天浩道跟大家分享关于Git高效命令的硬核干货,掌握这些技巧,使你事半功倍!
    的头像 发表于 02-28 16:41 923次阅读

    git rebase与相关git merge命令比较

    。 #概念     首先要理解的是git rebase和git merge解决了同样的问题。这两个命令都旨在将更改从个分支集成到另个分支
    的头像 发表于 05-26 16:22 877次阅读
    <b class='flag-5'>git</b> rebase与相关<b class='flag-5'>git</b> merge<b class='flag-5'>命令</b>比较

    git命令和参数

    。 给小伙伴们推荐个学习git命令即好玩又有趣的神器网站 Learning Git Branching ,它让学习git不再那么枯燥乏味,话不多说直接上动图。   在这里你的每
    的头像 发表于 05-31 14:22 553次阅读

    Git命令的综合手册怎么找

    若你使用 Git 时需要获取帮助,有三种等价的方法可以找到 Git 命令的综合手册(manpage): $ git help $ git -
    的头像 发表于 07-22 11:02 641次阅读

    Git中最常用的命令介绍

    git add命令用于将修改的文件添加到下次提交的暂存区。你可以指定要添加的文件git add命令用于将修改的文件添加到下
    发表于 10-26 10:27 289次阅读
    <b class='flag-5'>Git</b>中最常用的<b class='flag-5'>命令</b>介绍