Git - Log命令

Git - Log命令 首页 / Git入门教程 / Git - Log命令

版本控制系统的优点是它记录更改。这些记录使我们能够检索诸如提交,找出错误,更新之类的数据。但是,如果我们无法浏览所有这些历史记录,那么它们将毫无用处。此时,我们需要git log命令。

Git日志是一个实用工具,用于查看和读取存储库中发生的所有事件的历史记录。 git日志可以使用多个选项,以使历史记录更加具体。

通常,git日志是提交的记录。 git日志包含以下数据:

  • Commit hash                           - 它是由SHA(安全哈希算法)算法生成的40个字符的校验和数据。这是一个唯一的数字。
  • Commit Author metadata   - 作者的信息,例如作者姓名和电子邮件。
  • Commit Dae metadata         - 这是提交时间的日期时间戳。
  • Commit title/message          - 这是提交消息中给出的提交的概述。

退出git log命令

可能会发生这种情况,运行git log命令,然后卡在那儿。您想输入或返回bash,但是不能。单击 Enter 键时,它将导航到较旧的命令,直到结束标志。

解决此问题的方法是 q(退出要问的问题)。它将使您退出该情况,并返回到命令行。现在,您可以执行任何命令。

基本Git日志

Git日志命令是git最常用的命令之一。这是对Git最有用的命令。每次需要检查历史记录时,都必须使用git log命令。基本的git log命令将显示最新的提交和头部的状态。它将用作:

$ git log

上面的命令将显示最后的提交。考虑以下输出:

Git log

上面的命令列出了所有最近的提交。每个提交都包含一些独特的sha-id,由SHA算法生成。它还包括日期,时间,作者和一些其他详细信息。

我们可以在命令行上执行一些操作,例如滚动,跳转,移动和退出。要在命令行上滚动,请按k向上移动,按j向下移动,按空格键向下滚动整页,向上滚动一页,按q退出命令行。

Git Log Oneline

online选项用于将输出显示为每行一次提交。它还简要显示了输出,例如提交SHA的前七个字符和提交消息。

它的用法如下:

$ git log --oneline

因此,通常我们可以说--oneline标志导致git log显示:

  • 每行一次提交
  • SHA的前七个字符
  • 提交的消息

考虑以下输出:

链接:https://www.learnfk.comhttps://www.learnfk.com/git/git-log.html

来源:LearnFk无涯教程网

Git log 1

从上面的输出中我们可以更准确地看到,每次提交仅在一行中给出,并带有七位数字的sha号和提交消息。

Git日志统计

log命令显示已修改的文件。它还显示已更新的总记录的行数和摘要信息。

通常,我们可以说stat选项用于显示

  • 修改后的文件
  • 已添加或删除的行数
  • 记录总数更改的摘要行
  • 已添加或删除的行。

它的用法如下:

$ git log --stat

上面的命令将显示已修改的文件。考虑以下输出:

Git log 2

从上面的输出中,我们可以看到所有列出的提交都是存储库中的修改。

Git log patch

git log patch命令显示已修改的文件。它还显示了添加,删除和更新的行的位置。

它将用作:

$ git log --patch

要么

$ git log -p

通常,我们可以说--patch标志用于显示:

  • 修改后的文件
  • 您添加或删除的行的位置
  • 已进行的特定更改。

考虑以下输出:

链接:https://www.learnfk.comhttps://www.learnfk.com/git/git-log.html

来源:LearnFk无涯教程网

Git log 3

上面的输出显示修改后的文件以及已添加或删除的行的位置。

无涯教程网

Git日志图

Git log命令允许以图形形式查看您的git日志。要以图形形式列出提交,请使用--graph选项运行git log命令。它将运行如下:

$ git log --graph

要使输出更具体,可以将此命令与--oneline选项结合使用。它将运行如下:

$ git log --graph --oneline

过滤提交历史

我们可以根据需要过滤输出。这是Git的独特功能。我们可以在输出中应用许多过滤器,例如数量,日期,作者等。每个过滤器都有其规格。

让我们详细了解每个过滤器。

By Amount :

我们可以使用git log命令限制输出提交的数量。这是最具体的命令。如果您对较少的提交感兴趣,此命令将消除复杂性。

要限制git日志的输出,包括-<n>选项。如果只需要最后三个提交,则可以在git log命令中传递参数-3。考虑以下输出:

Git log 4

从上面的输出中可以看到,我们可以限制git log的输出。

By Date and Time:

我们可以按日期和时间过滤输出。我们必须通过--after--before参数来指定日期。这两个参数都接受各种日期格式。它将运行如下:

$ git log --after="yy-mm-dd"

上面的命令将显示给定日期之后的所有提交。考虑以下输出:

Git log 5

上面的命令列出了" 2019-11-01"之后的所有提交。

我们还可以传递适用的参考声明,例如"yesterday"," 1 week ago"," 21 days ago"等。它将运行为:

git log --after="21 days ago"

上面的命令将显示21天前所做的提交。考虑以下输出:

Git log 6

我们还可以跟踪两个日期之间的提交。要跟踪在两个日期之间创建的提交,请在日期之前--before--after之后传递一个语句引用。假设我们要跟踪" 2019-11-01"和" 2019-11-08"之间的提交。我们将如下运行命令:

$ git log --after="2019-11-01" --before="2019-11-08 "

上面的命令将显示日期之间的提交。考虑以下输出:

Git log 7

上面的输出显示给定时间段之间的提交。我们可以使用--since和--until代替--after和--before。因为它们分别是同义词。

By Author :

我们可以过滤特定用户的提交。假设我们只列出仅由特定团队成员进行的提交。我们可以使用-author标志来按作者名称过滤提交。该命令采用正则表达式,并返回与该模式匹配的作者所做的提交列表。您可以使用确切的名称而不是模式。该命令将如下运行:

$ git log --author="Author name"

上面的命令将显示给定作者所做的所有提交。考虑以下输出:

Git log 8

从上面的输出中,我们可以看到列出了作者 ImDwivedi1 的所有提交。

我们可以使用字符串代替正则表达式或确切名称。考虑以下语句:

$ git log --author="Stephen"

上面的语句将显示作者名称为Stephen的所有提交。作者的姓名不必完全匹配;它只是具有指定的短语。

众所周知,作者的电子邮件还涉及作者的姓名,因此我们可以将作者的电子邮件用作模式或精确搜索。假设我们要跟踪电子邮件服务为google的作者的提交。为此,我们可以将通配符用作" @ gmail.com"。考虑以下语句:

$ git log -author="@gmail.com"

上面的命令将显示模式中给定的作者提交的内容。考虑以下输出:

Git log 9

By Commit message :

通过提交消息过滤提交。我们可以使用grep选项,它将作为author选项使用。

它将运行如下:

$ git log --grep=" Commit message."

我们可以使用简短形式的提交消息代替完整的消息。考虑以下输出。

Git log 10

上面的输出显示了所有在其提交消息中包含单词commit的提交。

还有许多其他过滤选项可用,例如我们可以按文件名(file name),内容(content)等进行过滤。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

硅谷产品实战36讲 -〔曲晓音〕

重学前端 -〔程劭非(winter)〕

从0开发一款iOS App -〔朱德权〕

摄影入门课 -〔小麥〕

正则表达式入门课 -〔涂伟忠〕

物联网开发实战 -〔郭朝斌〕

说透芯片 -〔邵巍〕

大数据经典论文解读 -〔徐文浩〕

人人都用得上的数字化思维课 -〔付晓岩〕

好记忆不如烂笔头。留下您的足迹吧 :)