返回顶部
首页 > 资讯 > 前端开发 > JavaScript >你不知道的Git log还有这种用法
  • 309
分享到

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

Git log用法Git log 2023-05-18 20:05:09 309人浏览 薄情痞子
摘要

目录前言查看提交历史记录显示分支图格式化输出查看详细信息查看某个提交的详细信息查看某分支记录显示指定文件的提交历史记录显示指定作者的提交历史记录显示指定时间段的提交记录限制输出的历史

前言

当你使用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用法的资料请关注编程网其它相关文章!

--结束END--

本文标题: 你不知道的Git log还有这种用法

本文链接: https://lsjlt.com/news/212364.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 你不知道的Git log还有这种用法
    目录前言查看提交历史记录显示分支图格式化输出查看详细信息查看某个提交的详细信息查看某分支记录显示指定文件的提交历史记录显示指定作者的提交历史记录显示指定时间段的提交记录限制输出的历史...
    99+
    2023-05-18
    Git log用法 Git log
  • 你知道的Python对象还不够,这份教程可以帮你
    Python是一种非常流行的编程语言,它拥有丰富的内置对象和模块,可以用于各种不同的应用场景。但是,如果你只是停留在基础的Python对象上,那么你可能无法充分利用Python的强大功能。在本篇文章中,我们将介绍一些高级Python对象,以...
    99+
    2023-09-24
    面试 对象 教程
  • 不知道该用Go、Django、NumPy还是IDE?这篇文章为你解答!
    在当今的程序开发领域,有很多种编程语言和工具可供选择。但是对于初学者来说,选择正确的语言和工具可能是一项非常困难的任务。本文将为大家介绍四种常见的编程语言和工具:Go、Django、NumPy和IDE,帮助您了解它们的优点和适用场景,以便...
    99+
    2023-11-11
    django numy ide
  • 这三个好用的python函数你不能不知道!
    目录一、前言二、map()三、filter()四、reduce()一、前言 我想介绍这些功能的主要原因是它们可以帮助您避免编写循环。在某些情况下,循环运行可能会很昂贵,除此之外,这些...
    99+
    2024-04-02
  • 9种你不知道的Python3功能
    1. 数据类(Data Classes):Python 3.7中引入了数据类,它们是一种用于定义只包含数据的类的简化语法。通过使用装...
    99+
    2023-09-23
    Python3
  • 不知道这5种下划线的含义,你就不算真的会Python!
    什么是 Python? Python 之父 Guido van Rossum 说:Python是一种高级程序语言,其核心设计哲学是代码可读性和语法,能够让程序员用很少的代码来表达自己的想法。对于我来说,学习 Python 的首要原因是,Py...
    99+
    2023-06-05
  • Java中的这些骚操作你不能不知道!!!
    目录1、try with catch2、instance of3、不定项参数 ...4、跳出多层循环的label5、方法引用总结:1、try with catch 还记得这样的代码吗...
    99+
    2024-04-02
  • JavaScript中你不知道的Object.entries用法
    目录前言1. 使用 for...of 遍历普通对象2. 普通对象与 Map 对象相互转换总结参考前言 平时我们经常会用到 Object 类上的静态方法,例如 Object.keys ...
    99+
    2024-04-02
  • Python并发:API、容器、还有什么是你不知道的?
    Python是一种高级编程语言,已经成为了许多领域的首选语言,包括Web开发、数据科学、机器学习等等。Python在并发编程方面也有着出色的表现。本文将介绍Python的并发编程API、容器以及一些你可能不知道的技巧。 Python并发编...
    99+
    2023-11-15
    并发 api 容器
  • “你知道如何使用Python和Git吗?这个教程能帮到你!”
    Python和Git是现代软件开发中非常重要的工具。Python是一种高级编程语言,被广泛用于数据分析、机器学习、Web应用程序开发等领域;Git是一种版本控制系统,用于跟踪文件的更改历史和协作开发。在本教程中,我们将介绍如何使用Pytho...
    99+
    2023-10-16
    git 教程 响应
  • 对不起,不知道这些,我劝你还是别做软件测试员了!
    到今年,我从事软件测试行业,已经有七、八个春秋了,也算是一个资深的软件测试工程师,目前在上海一家500强企业任职软件测试架构师。我知道,在当今高速发展的信息社会,计算机和电子技术越来越受到人们的重视,以软件为代表的计算机行业正在以一种井喷式...
    99+
    2023-06-05
  • 用Git管理PHP和Numpy项目,这些技巧你知道吗?
    Git是一款流行的版本控制工具,可以帮助开发人员更好地管理他们的项目。在PHP和Numpy项目中,Git也可以发挥重要作用。在本文中,我们将介绍如何使用Git管理PHP和Numpy项目,并分享一些技巧和最佳实践。 一、Git基础知识 在开始...
    99+
    2023-10-24
    git 教程 numpy
  • 你是否知道这些Python和Git面试问题的答案?
    Python和Git是现代开发中最常用的工具之一,因此在技术面试中,面试官通常会问一些相关问题。这篇文章将介绍一些常见的Python和Git面试问题,并提供相应的答案和演示代码。 Python面试问题 Python的GIL是什么?它对Py...
    99+
    2023-08-03
    numy git 面试
  • Spring你不知道的一种解耦模式
    目录前言一个例子入门应用Service Locator Pattern剖析Service Locator Pattern总结前言 不知道大家在项目中有没有遇到过这样的场景,根据传入的...
    99+
    2023-01-28
    Spring解耦模式 Spring解耦
  • 你可能不知道的Shell(有趣的知识)
    Shell也叫做命令行界面,它是*nix操作系统下用户和计算机的交互界面。Shell这个词是指操作系统中提供访问内核服务的程序。 这篇文章向大家介绍Shell一些非广为人知、但却实用有趣的知识,权当品尝sh...
    99+
    2022-06-04
    你可 有趣 知识
  • 简单的这些不为人知的小技巧你都知道吗?
      随着科技的发展,手机在生活越来越重要,微信渐渐成为我们生活中沟通的重要媒介。现在很多的中老年人也开始使用微信了,但是微信上有很多功能,他们都不会使用,如果我们不在他们的身边,他们又想使用微信的话,那...
    99+
    2024-04-02
  • 关于MySQL的这四种安装方式你一定要知道
    目录 🦐写在前面 🍁rpm方式安装 🍀下载软件包 🍀前置配置 🍀安装MySQL 🍁yum方式安装 🍀下...
    99+
    2023-09-01
    mysql linux 数据库 原力计划
  • Spring注解@Qualifier的详细用法你知道几种
    环境:springboot2.3.10 一般使用在项目中使用@Qualifier来限定注入的Bean。 由于项目中我习惯用@Resource注解,所以这里先对@Autowired和@...
    99+
    2024-04-02
  • Linux中“!”你不知道的惊叹用法总结
    前言 实际上,不起眼的“!”在linux中有着很多让你惊叹的妙用。本文就来细数那些“!”的神奇用法。下面话不多说了,来一起看看详细的介绍吧 执行上一条命令 例如,在执行完上面一条命令后,可以使用下面的方式再次执行上一...
    99+
    2022-06-04
    linux 叹号 linux ! 的用法
  • 你一定不知道的Java Unsafe用法详解
    目录Unsafe是什么如何正确地获取Unsafe对象Unsafe实现CAS锁使用Unsafe创建对象Unsafe加载类总结Unsafe是什么 首先我们说Unsafe类位于rt.jar...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作