emacs有没有插件可以统计git的提交信息?

比如按天显示, 每天提交了几次, 然后可以只查看这一天的提交记录.

还可以按星期, 按月或年来显示.

我一般就用命令行了。像git这样强大的工具用额外的封装都是浪费其潜力。

git shortlog -sn --since 9-21

git默认使用本地时间。 见 https://stackoverflow.com/questions/14618022/how-does-git-log-since-count

命令行参数太多的时候, 感觉效率有点低, 而且这个一次只能显示一部分信息, 我是希望能看到一个比较全面的统计界面, 类似于github的那个统计, 它的还有图表, emacs可以不要图表.

比如最近一个月内每天的提交次数, 最近半年, 每个月的提交次数. 周视图, 月视图, 年视图等. 还有对不同提交者的个人提交统计信息等.

比较希望magit能支持这个功能, 平时基本都是用magit, 太方便了, 很少用git命令行.

给大神100分。

如果命令行使用频率高的话。可以用bash alias,使用频率低也只是第一次输入麻烦。命令记在bash history里。可以结合fzf查询命令历史。

要图表功能就只能有第三方工具了,问题是小众的功能别人未必愿意开发和维护,学习第三方工具也要花精力。我个人认为输出成csv格式,然后用excel处理可能更好一点。

比较接近按天统计的:

git log --pretty=format:"%ai %an %s" | uniq --check-chars=10 --group=append

输出大概是这样:

2019-10-19 20:58:11 +0800 ashfinal add xhtml2rest.py
2019-10-19 20:56:46 +0800 ashfinal new post: vim cheatsheet

2019-10-18 16:09:24 +0800 ashfinal minor change
2019-10-18 15:49:14 +0800 ashfinal obsolete oni post
2019-10-18 15:03:32 +0800 ashfinal add new post: write lazy load plugin for vim

2019-10-13 11:49:50 +0800 ashfinal add last modified script
2019-10-13 07:01:44 +0800 ashfinal update vimrc.before

format 可以拿到 log 各种数据,配合楼上提到的 since/before/after 时间间隔控制,后期数据归类统计自己处理。大概就是这样。

可能这个需求太小众了, 等有空给magit提个需求试试.

准备参考你们的命令搞个shell脚本.

这个输出效果不错, 参考一下