0

或者,换一种说法,有没有漂亮的界面,git-annotate或者你必须自己做这些工作?我正在寻找的是一些可以使用普通git-annotate或的工具git-annotate --porcelain(我无法弄清楚,我还没有找到一个可以正确描述它的地方,顺便说一句(这是一个附带问题))并输出 HTML(或TeX 或 RTF)文件,例如,两列:左侧的文本在右侧,正确对齐的消息在右侧。也就是说,采取这样的事情(输出git annotate

c6230de3        ( JJ Merelo     2014-01-13 18:59:17 +0100       1)<!--- -*-  eval: (typopunct-mode 1); eval: (typopunct-change-language: spanish) -*- -->
c6230de3        ( JJ Merelo     2014-01-13 18:59:17 +0100       2)
412c8ed1        ( JJ Merelo     2014-01-19 10:56:27 +0100       3)<h1>#slash</h1>
e736fc14        ( JJ Merelo     2014-01-03 08:50:19 +0100       4)
c6230de3        ( JJ Merelo     2014-01-13 18:59:17 +0100       5)
c6230de3        ( JJ Merelo     2014-01-13 18:59:17 +0100       6)

并产生这样的东西

| Text  | Annotation |
---------------------
|       | Commit msg |
----------------------
|#shlash| Commit msg'|
----------------------

等等......(可选)可以使用 Markdown 到 HTML 或一些语法突出显示过滤器过滤文本,但如果我有源代码,我可以弄清楚。

4

1 回答 1

1

您实际上可以使用git log和格式化来做到这一点。但是,它有点繁重。

例子:

git log tagv1..tagv2 --pretty=format:'<table><tr> <td>
<a href="http://github.com/xxxx/xxxx/commit/%H"> %h</a></td> <td>%s</td> 
<td>%an</td></tr></table> ' --reverse > test.html

另一种方式,如果你有 Linux 或 Mac,你可以使用column命令

例子:

git log tagv1..tagv2 --pretty=format:'%h ^ %s ^ %an' --reverse | column -s ^ -t 

3e70f9a    Update README.md                  Foo Bar
73ae95f    Merge branch 'master'             Moo Bar
a6b69bb    Bumped version to 2.6             Mr. Sandman
于 2014-01-21T02:06:48.890 回答