查看git提交历史
在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的工具是 git log
命令。
不传入任何参数的默认情况下,git log
会按时间先后顺序列出所有的提交,最近的更新排在最上面。 正如你所看到的,这个命令会列出每个提交的 SHA-1 校验和、作者的名字和电子邮件地址、提交时间以及提交说明。
git log
有许多选项可以帮助你搜寻你所要找的提交, 下面我们会介绍几个最常用的选项。
git log
返回内容:
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date: Mon Mar 17 21:52:11 2008 -0700
changed the version number
其中一个比较有用的选项是 -p
或 --patch
,它会显示每次提交所引入的差异(按 补丁 的格式输出)。 你也可以限制显示的日志条目数量,例如使用 -2
选项来只显示最近的两次提交。
git log -p -2
操作步骤
1、首先切换到要统计的分支
git checkout master
2、查看当前分支
git branch
3、统计某一用户,某一时间范围内代码行数
git log --author="用户" --since ==2021-01-01 --until=2021-12-31 | wc -l
4、统计总共有多少新增,删除,总计代码行数(如果要统计某个人就加--author="用户"):
git log --pretty=format: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %sn", add, subs, loc }'
git log
的常用选项
选项 | 说明 |
| 按补丁格式显示每个提交引入的差异。 |
| 显示每次提交的文件修改统计信息。 |
| 只显示 --stat 中最后的行数修改添加移除统计。 |
| 仅在提交信息后显示已修改的文件清单。 |
| 显示新增、修改、删除的文件清单。 |
| 仅显示 SHA-1 校验和所有 40 个字符中的前几个字符。 |
| 使用较短的相对时间而不是完整格式显示日期(比如“2 weeks ago”)。 |
| 在日志旁以 ASCII 图形显示分支与合并历史。 |
| 使用其他格式显示历史提交信息。可用的选项包括 oneline、short、full、fuller 和 format(用来定义自己的格式)。 |
|
|
参考:Git - 查看提交历史