总体思路
git log --date=iso --pretty=format:'{"commit": "%h","author": "%aN <%aE>","date": "%ad","message": "%s"},' > z:/log.txt
可以把日志以json格式重定向到log.txt
然后分析可以用solr来处理
通过以上的log.txt不能让计算机去自动处理,因为人提交的message信息里面不可信,啥都有,用json也无法处理,所以需要更改方案。
需要先通过以上命令的commit信息也就是commitid来获取具体的message信息
而通过commitid也可以获取到该commitid出现的所有分支
通过commit id获取具体提交的信息
git log -1 268c548726fcab3ebdab19a70713b269038e4d05
其中-1是数字表示一条,-1的空格后面是具体的commit id。
对这个命令再次优化增加--pretty参数可以只输出此次commit id对应的提交信息
git log -1 e27c4b483792d8009c666b36f849f5415c5c1357 --pretty=format:'%s'
java中调用git命令
方法有2种,一个是直接执行还有一个是eclipse的jgit,初步确定选用eclipse的jgit,直接执行牵扯事宜比较多。