Git 中如何查看提交历史?常用命令有哪些?

回答重点

在 Git 中,我们可以使用 git log 命令来查看提交历史。这个命令会列出所有的提交记录,显示每个提交的哈希值、作者信息、提交时间和提交信息。

常用的 git log 命令及其选项有:

1) git log :显示完整的提交历史。

2) git log -n <number> :显示最近的 n 次提交。

3) git log --oneline :每条提交信息用一行显示,通常只包括提交哈希的前 7 个字符和提交信息的第一行内容。

4) git log --graph :绘制 ASCII 图来展示分支、合并历史。

5) git log --author="<author>" :查找特定作者的提交记录。

6) git log --since=<date>git log --until=<date> :在指定时间范围内查看提交记录。

7) git log --stat :显示每次提交的简要统计信息,包括哪些文件被改动以及增加和删除了多少行代码。

扩展知识

git log 命令非常强大,通过结合不同的选项,可以更精细地查看和筛选提交历史。这里我再介绍几个实用的扩展:

1) 格式化输出 : 通过 --pretty=format:<string> 可以自定义日志的输出格式。例如:

  • git log --pretty=format:"%h - %an, %ar : %s" :这将输出每个提交的简短哈希、作者名字、相对时间和提交信息。
  • 常见的占位符:
    • %H :提交的完整哈希值
    • %h :提交的短哈希值
    • %an :作者的名字
    • %ae :作者的邮箱
    • %ad :提交日期
    • %s :提交说明

2) 差异显示 : 如果需要详细查看每次提交的具体变更内容,可以使用 git log -p 来显示每次提交所涉及的差异(也就是显示 diff)。

3) 路径过滤: 通过指定路径,可以筛选出只对某个文件或目录的提交:

  • git log <path> :只显示涉及到该文件/目录的提交记录。

4) 结合查询: 还可以用布尔表达式进行更高级的查询:

  • git log --grep="<pattern>" :搜索提交信息包含特定模式的提交记录。
  • 结合多个条件: git log --author="Alice" --since="2 weeks ago" --oneline ,这将显示过去两周内 Alice 的简短提交记录。
相关推荐
泻水置平地2 小时前
gitlab操作技巧
gitlab
阿正的梦工坊3 小时前
介绍 SWE-bench:语言模型能否解决真实世界的 GitHub 问题?
人工智能·语言模型·github
小前端学徒6 小时前
重新修改未提交到远程分支不是最后一次commit的内容
git
骑士9991117 小时前
安装gitlab并上传本地项目
gitlab
执键行天涯7 小时前
idea中已经被git缓存追踪的文件,如何让git重新忽略
git·缓存·intellij-idea
徐子童7 小时前
JVM高频面试题---GC垃圾回收
java·开发语言·jvm·面试题·gc·垃圾回收算法
Lin_Aries_04217 小时前
基于 GitLab 的自动化镜像构建
linux·运维·docker·容器·自动化·gitlab
伐尘7 小时前
[群晖NAS] 群晖Docker安装gitlab + ipv6 远程访问
docker·gitlab·群晖·nas
hkhkhkhkh1237 小时前
Git push 失败(remote unpack failed: Missing tree)解决方案
linux·git
Rinleren8 小时前
DevOps 工具链:CI/CD 概念解析 + Git 版本控制 + GitLab 仓库 + Jenkins 自动化全教程
自动化·gitlab·jenkins