如何打印所有git提交消息?

时间:2014-02-28 12:09:07

标签: git jgit

我有一个git存储库,我可以使用git log branch-name查看特定分支中的所有提交。但我想打印HTML页面上特定分支的所有提交的提交消息,作者和日期。这有什么解决方案吗?
如何使用jgit

3 个答案:

答案 0 :(得分:0)

git log --pretty=oneline commit1...commit2 > file

答案 1 :(得分:0)

我不知道jgit,但在正常的git中,你使用pretty选项做

git log --pretty="%ci %an %s" branch-name

%ci是日期(ISO),%an是提交者,%s是主题。

修改

您可以在日志文档中找到更多信息,非常格式的部分:https://www.kernel.org/pub/software/scm/git/docs/git-log.html#_pretty_formats

答案 2 :(得分:0)

您需要遍历分支上的每个提交并使用适当的html标记包装输出。现在我知道你想从jgit中做到这一点,所以我将提供一个如何在shell中执行它的大纲,你必须同样调用 jgit rev-list功能>

#!/bin/sh

echo "<table style=\"width:300px\">"
for commit in $(git rev-list <your branch>); do
  git log --format="<tr><td>%cr</td><td>%an</td><td>%s</td></tr>" $commit
done
echo "</table>"

有关不同的格式选项,请访问git-show帮助页。


我还没有真正检查过jgit是否支持rev-list,但据我所知,jgit web page上的声明是它支持git核心功能。例如 - 请参阅org.eclipse.jgit.revwalk