Git查询一定时间范围内的代码提交的日志和文件。
显示当前日期(即今天)的提交记录:
$ git log --oneline --since="yesterday"
仅显示某一特定用户(例如,用户 maopiaopiao.com)在今天的提交记录:
$ git log --oneline --since="yesterday" --author="maopiaopiao.com"
还可以显示在某一日期范围内的提交记录。使用以下命令,显示在任意两个日期之间(例如,2022 年 4 月 22 日至 2022 年 4 月 24 日)的提交记录:
$ git log --oneline --since="2022-04-22" --until="2022-04-24" #since定义起始时间,until定义结束时间。
在上面这个例子中,会输出 2022 年 4 月 22 日至 2022 年 4 月 24 日期间,不包括 2022 年 4 月 22 日的所有提交记录。如果你想要包括 2022 年 4 月 22 日的提交记录,请将命令中的 2022-04-22 替换为 2022-04-21。
使用git log命令将提交记录导出为 csv 格式文件:
git log --since='2021-05-21' --until='2021-05-28' --format='%aN' | sort -u | while read name; do echo -en "$name,"; git log --since='2021-05-21' --until='2021-05-28' --author="$name" --numstat --pretty=tformat: --no-merges | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines, %s, removed lines, %s, total lines, %s\n", add, subs, loc }' -; done >> 21_05_28_code.csv;
使用 git log 查询 yhm 用户在指定日期内提交的后缀名为 php 的文件:
git log --since='2024-01-20' --until='2024-01-31' --author=yhm --stat --no-merges --name-only |grep ".php$" | sort | uniq
使用 git log 查询 yhm 用户在指定日期内提交的后缀名为 php 或 css 的文件:
git log --since='2024-01-20' --until='2024-01-31' --author=yhm --stat --no-merges --name-only |grep -E ".php|.css$" | sort | uniq