查看日志命令
git查看日志
1、$ git log 查询这个时间点之前的信息日志
1、$ git reflog 查询这个时间点之前和之后的信息日志
1、$ git log --graph
选项是 -p 或 --patch ,它会显示每次提交所引入的差异(按 补丁 的格式输出)。 你也可以限制显示的日志条目数量,例如使用 -2 选项来只显示最近的两次提交: 2、$ git log -p -2
3、想看到每次提交的简略统计信息,可以使用 $ git log --stat
4、另一个非常有用的选项是 --pretty。 这个选项可以使用不同于默认格式的方式展示提交历史。 这个选项有一些内建的子选项供你使用。 比如 oneline 会将每个提交放在一行显示,在浏览大量的提交时非常有用。 另外还有 short,full 和 fuller 选项,它们展示信息的格式基本一致,但是详尽程度不一: $ git log --pretty=oneline
5、最有意思的是 format ,可以定制记录的显示格式。 这样的输出对后期提取分析格外有用——因为你知道输出的格式不会随着 Git 的更新而发生改变: $ git log --pretty=format:"%h - %an, %ar : %s"
选项 说明 %H 提交的完整哈希值
%h 提交的简写哈希值
%T 树的完整哈希值
%t 树的简写哈希值
%P 父提交的完整哈希值
%p 父提交的简写哈希值
%an 作者名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 --date=选项 来定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期(距今多长时间)
%s 提交说明
6、限制输出长度 下面的命令会列出最近两周的所有提交: $ git log --since=2.weeks
7、 如果要在 Git 源码库中查看 Junio Hamano 在 2008 年 10 月其间, 除了合并提交之外的哪一个提交修改了测试文件,可以使用下面的命令:
$ git log --pretty="%h - %s" --author='Junio C Hamano' --since="2008-10-01"
--before="2008-11-01" --no-merges -- t/
8、git命令统计
【 1、统计某人代码提交量
git log --author="***" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -
2、统计所有人代码提交量(指定统计提交文件类型)
git log --since=2022-01-01 --until=2022-12-12 --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | grep ".html∥.java∥.xml∥.properties∥.css∥.js∥.txt.html‖.java‖.xml‖.properties‖.css‖.js‖.txt$" | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
3、统计某时间范围内的代码提交量
git log --author=*** --since=2022-01-01 --until=2022-12-12 --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | grep "\(.html\|.java\|.xml\|.properties\)$" | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
4、查看git提交前5名
git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5
5、贡献值统计
git log --pretty='%aN' | sort -u | wc -l
6、提交数统计
git log --oneline | wc -l
7、统计或修改的行数
git log --stat|perl -ne 'END { print $c } $c += $1 if /(\d+) insertions/'
8、无名真实统计
git log --since="2022-01-01" --before="2022-12-13" --author="$(git config --get user.name)" --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }'
9、查看某人的提交记录 git log --author=bob