我的编程空间,编程开发者的网络收藏夹
学习永远不晚

你不知道的Git log还有这种用法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

你不知道的Git log还有这种用法

前言

当你使用Git进行版本控制时,经常需要查看提交历史记录。Git提供了git log命令来查看版本历史记录。

在本文中,我们将介绍如何使用git log命令来查看Git提交历史记录。

查看提交历史记录

通过在命令行中输入以下命令来查看提交历史记录:

git log

这将显示最新的提交历史记录,包括提交ID、作者、提交日期、提交消息等。例如:

commit 6d883ef6d4d6fa4c2ee59f6ca8121d1a925dc429
Author: Zhangsan <Zhangsan@example.com>
Date:   Sat Apr 24 22:21:48 2023 -0500
    Added new feature
commit b3f3f066e75a7d3352898c9eddf23baa7265f5b5
Author: Zhangsan <Zhangsan@example.com>
Date:   Sat Apr 24 17:32:16 2023 -0500
    Fixed bug
commit 0498b3d96b2732e36e7d41501274c327a38188aa
Author: Zhangsan <Zhangsan@example.com>
Date:   Fri Apr 23 14:01:11 2023 -0500
    Updated documentation

显示分支图

如果你想查看分支的提交历史记录,你可以使用git log --graph命令来显示一个分支图。分支图可以帮助你更好地理解分支之间的关系和合并历史。

例如:

git log --graph

这将显示一个分支图,其中每个提交都显示为一个节点,不同的分支用不同的线表示。你可以在分支图中看到合并提交和分支之间的关系。

例如:

* commit da32d1d7e7f22ec59330e6b8c51def819b951aec
| Author: Zhangsan <Zhangsan@example.com>
| Date:   Wed Apr 12 15:28:40 2023 +0800
|
|     feat:xxx
|
*   commit 8fdc0a9838d45d9e027740e7a448822bb8431969
|\  Merge: e22ce87ae d80ce707b
| | Author: Zhangsan <Zhangsan@example.com>
| | Date:   Wed Apr 12 13:08:17 2023 +0800
| |
| |     Merge branch 'xxx' into xxx
| |
| * commit d80ce707b72e1231c18a4843e62175a7a430e3c3
| | Author: Zhangsan <Zhangsan@example.com>
| | Date:   Tue Apr 11 19:36:48 2023 +0800
| |
| |     xxxx
| |

格式化输出

git log命令还支持格式化输出,你可以使用--pretty选项来指定输出的格式。例如,以下命令将以一种类似于JSON的格式输出提交记录:

git log --pretty=format:'{%n "commit": "%H",%n "author": "%an <%ae>",%n "date": "%ad",%n "message": "%f"%n},' --no-merges

这将输出每个提交的哈希值、作者、提交日期和提交消息。

例如:

{
 "commit": "a8c4b34ab5e4d844dc741e105913266502d82dcd",
 "author": "Zhangsan <Zhangsan@example.com>",
 "date": "Sun Apr 16 16:32:20 2023 +0800",
 "message": "feat-resize"
},
{
 "commit": "f23b4e61633033b9db5a3c87afc5f523cf5e583e",
 "author": "Zhangsan <Zhangsan@example.com>",
 "date": "Sat Apr 15 15:32:25 2023 +0800",
 "message": "feat"
}

你也可以使用一些预定义的格式来输出,例如--pretty=oneline将每个提交压缩成一行,只包含哈希值和提交消息。

例如:

a3fe1d136ab9587db19d9f8073fd491ead892f4a feat:xxxx
84738075dd00f1e0712f139c23c276b7559fd0d9 feat:xxxx
a8c4b34ab5e4d844dc741e105913266502d82dcd feat:xxxx
f23b4e61633033b9db5a3c87afc5f523cf5e583e feat:xxxx

查看详细信息

默认情况下,git log命令只显示每个提交的基本信息。但是,你可以通过添加--stat选项来显示每个提交所做的更改数量和文件列表。

例如:

git log --stat

这将显示每个提交所做的更改数量和文件列表

例如:

commit 6d883ef6d4d6fa4c2ee59f6ca8121d1a925dc429
Author: Zhangsan <Zhangsan@example.com>
Date:   Sat Apr 24 22:21:48 2023 -0500
    Added new feature
 somefile.txt | 1 +
 1 file changed, 1 insertion(+)
commit b3f3f066e75a7d3352898c9eddf23baa7265f5b5
Author: Zhangsan <Zhangsan@example.com>
Date:   Sat Apr 24 17:32:16 2023 -0500
    Fixed bug
 somefile.txt | 1 -
 1 file changed, 1 deletion(-)
commit 049

查看某个提交的详细信息

除了git log命令,我们还可以使用git show

如果你想查看某个提交的详细信息,可以使用git show <commit>命令。

例如:

git show 6d883ef

这将显示提交6d883ef的详细信息,包括提交消息、作者、提交日期和更改的文件。

查看某分支记录

有时候你可能只想查看某个特定分支历史记录。这可以使用git log <branch>命令。

例如,如果你只想查看main分支的历史记录,你可以输入以下命令:

git log main

显示指定文件的提交历史记录

如果你只想查看某个文件的提交历史记录,你可以使用git log <filename>命令。

例如:

git log somefile.txt

这将显示与该文件相关的所有提交历史记录。

显示指定作者的提交历史记录

如果你只想查看某个作者的提交历史记录,你可以使用git log --author=<author>命令。例如:

例如:

git log --author="Zhangsan"

这将显示所有由Zhangsan提交的历史记录。

显示指定时间段的提交记录

如果你指向查看某个时间范围内的提交历史记录、你可以使用git log --after,git log --before命令。

例如:

git log --after="2023-04-01" --before="2023-04-02"

这将显示出,2023-04-01 到 2023-04-02之间的提交记录

  • --after 会筛选出指定时间之后的提交记录
  • --before 会筛选出指定时间之前的提交记录。

还有一些快捷命令:

git log --after="yesterday" //显示昨天的记录
git log --after="today" //显示今天的
git log --before="10 day ago" // 显示10天前的提交记录
git log --after="1 week ago" //显示最近一周的提交录
git log --after="1 month ago" //显示最近一个月的提交率

限制输出的历史记录数量

例如,要查看最近的5个提交,你可以使用以下命令:

git log -5

搜索历史记录

git log命令还可以用于搜索历史记录。例如,如果你只想查看提交消息中包含关键字“bug”或“fix”的历史记录,可以使用以下命令:

git log --grep=bug --grep=fix

这将显示所有提交消息中包含关键字“bug”或“fix”的提交记录。

commit 27ad72addeba005d7194132789a22820d994b0a9
Author: Zhangsan &lt;Zhangsan@example.com&gt;
Date:   Thu Apr 13 11:17:13 2023 +0800
    fix:还原local环境配置
commit 8369c45344640b3b7215de957446d7ee13a48019
Author: Zhangsan &lt;Zhangsan@example.com&gt;
Date:   Mon Apr 10 11:02:47 2023 +0800
    fix:获取文件

显示带有内容变更的提交日志

如果你想查看带有内容变更的提交日志,可以使用git log -p,能清楚的看到每次提交的内容变化。 非常有用的一个命令;

例如:

git log -p

这将显示每个提交与它的父提交之间的差异。

diff --git a/xxxx.tsx b/xxxx.tsx
index 7f796c934..87b365426 100644
--- a/xxx.tsx
+++ b/xxx.tsx

我们也可以知道某个具体的提交的差异,可以使用git log -p <commit>命令

显示提交的差异

如果你想查看某个提交与上一个提交之间的差异,可以使用git log -p <commit>命令。例如:

git log -p 6d883ef6d4d6fa4c2ee59f6ca8121d1a925dc429

这将显示提交6d883ef6d4d6fa4c2ee59f6ca8121d1a925dc429与它的父提交之间的差异。

显示当前分支的合并情况

如果你想查看当前分支的合并情况,可以使用git log --merges命令。例如:

git log --merges
commit 2f3f4c45a7be3509fff6496c9de6d13ef0964c9d
Merge: 8369c4534 4103a08bf
Author: xxx <xxx@xx.com>
Date:   Mon Apr 10 11:03:55 2023 +0800
    Merge branch 'dev/feature1' into dev/dev
commit 14b40421ef54c875b8f8f0cfc297bcdc3960b9be
Merge: 30e36edbb 48bb05ede
Author: xxx <xxx@xx.com>
Date:   Mon Apr 10 00:34:09 2023 +0800
    Merge branch 'dev/feature1' into dev/dev

总结

以上是更多关于git log命令的使用教程、示例,希望对你有所帮助,更多关于Git log用法的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

你不知道的Git log还有这种用法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

你不知道的Git log还有这种用法

这篇文章主要为大家介绍了你不知道的Git log竟然还有这种用法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-05-18

不知道这5种下划线的含义,你就不算真的会Python!

什么是 Python? Python 之父 Guido van Rossum 说:Python是一种高级程序语言,其核心设计哲学是代码可读性和语法,能够让程序员用很少的代码来表达自己的想法。对于我来说,学习 Python 的首要原因是,Py
2023-06-05

Win8系统下打开任务管理器的几种方法(有你不知道的)

Win8系统中,一般多数人打开任务管理器只会使用一种或两种,或者习惯性地使用某一种。其实还有几种你不知道的任务管理器打开方法,下面跟随小编一起多学一点吧。自制快捷键方法:1.打开C盘,然后依次点击Windowssystem32文件夹,在该文
2022-06-04

Linux中“!”你不知道的惊叹用法总结

前言实际上,不起眼的“!”在linux中有着很多让你惊叹的妙用。本文就来细数那些“!”的神奇用法。下面话不多说了,来一起看看详细的介绍吧 执行上一条命令例如,在执行完上面一条命令后,可以使用下面的方式再次执行上一条命令:$ whereis
2022-06-04

你必须知道 十种好习惯教你使用Windows7的方法

快速锁屏、经常清理启动项、注意cookies是否泄密你的信息,这些看似非常简单的小习惯,在日常生活中说不定哪一天就能挽救你于危难之中。所以如果你是个使用电脑很随意的人,那么接下来的文章相信你一定会喜欢,因为它告诉了你十种养成使用电脑使用习惯
2023-05-25

Win10使用方法汇总(一些你不知道的)

Win10系统延续了微软的风格,也很大php一部分继承了Win7、Win8的路线。所以一般来说会用Win7、Win8的就会用Win10了。但是Win10毕竟是一个新系统,所以还是有一些新知识要学习的。本文就来总结一下Win10使用的一些方法
2023-06-16

你不知道的C++中namespace和using的用法实例

在C++语言编写的程序中,变量和函数等的作用范围是有一定限制的,下面这篇文章主要给大家介绍了一些你不知道的C++中namespace和using的用法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
2022-12-19

关于Node.js中Buffer的一些你可能不知道的用法

前言 在大多数介绍 Buffer 的文章中,主要是围绕数据拼接和内存分配这两方面的。比如我们使用fs模块来读取文件内容的时候,返回的就是一个 Buffer:fs.readFile('filename', function (err, buf
2022-06-04

详解Linux下你所不知道的7个SSH命令用法

一个系统管理员可能会同时管理着多台服务器,这些服务器也许会放在不同的地方。要亲自一台一台的去访问来管理它们显然不是最好的方法,通过远程控制的方法应该是最有效的。 linux系统的远程管理工具大概有几种:telnet,ssh,vnc等,其中s
2022-06-04

编程热搜

目录