如何从Git提交历史中提取唯一日期以统计项目工作时长?
从Git提交历史提取唯一日期统计工作天数
没问题,我来帮你搞定这个需求!你已经通过筛选作者和路径缩小了提交范围,接下来只需要调整git log的输出格式,再做去重处理,就能得到你想要的类似Nov 29、Nov 15的唯一日期列表了。
直接可用的命令
把你原来的命令和格式输出、去重逻辑结合起来,最终的命令如下:
git log --author="你的用户名" -- path/到/目标文件夹 --pretty=format:"%ad" --date=format:"%b %d" | sort | uniq
命令拆解说明
--pretty=format:"%ad":指定只输出作者提交日期(如果需要用Git记录的提交日期,把%ad换成%cd即可)--date=format:"%b %d":将日期格式化为「月份缩写 + 日期」的形式(%b对应英文月份缩写,%d对应两位数字日期)| sort | uniq:通过管道命令先对日期排序,再去除重复的日期条目,最终得到唯一的日期列表
可选调整
如果需要包含年份(比如Nov 29 2024),只需要修改日期格式参数:
git log --author="你的用户名" -- path/到/目标文件夹 --pretty=format:"%ad" --date=format:"%b %d %Y" | sort | uniq
这样处理后,你就能直接得到所有有提交记录的唯一日期,方便统计工作天数啦!
内容的提问来源于stack exchange,提问作者Dimitrios Desyllas
相关产品推荐
相关产品推荐

