«

Git查询一定时间范围内的代码提交日志和文件

时间:2024-2-28 16:09     作者:韩俊     分类: Linux


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

标签: linux

热门推荐