具有Json层次结构的Git日志



问题是我有这个git命令

git log --pretty=format:'%n{%n%d%n  "CommitHash": "%H",%n  "Author": 
"%an",%n  "AuthorEmail": "%ae",%n  "Date": "%ad",%n  "Message": "%f"%n}'

`有了它,我得到了一个JSON格式的日志,但我需要将分支作为父亲,将提交名称作为子级,这些提交名称必须是父亲——他们各自的信息(作者、日期、电子邮件等……(

日志输出应该是这样的:

[
"Branch or Merge Name":"The Branch or Merge Name"[
"Commit Name":"The Commit Name"{
The commit info......
}
]
]

考虑到提交可以是多个分支的一部分,我怀疑在没有脚本的情况下这是否容易做到。

这意味着,对于你名单上的任何一个承诺,都不是"一个父亲",而是可能有多个父亲。

反转模型,并将每个提交作为子项,每个提交所属的分支列表,将更有意义。

看看这个工具http://bit-booster.com/graph.html他们以git格式的log将日志传递给您--漂亮="%h|%p|%d"我正在尝试使用apache echart。--漂亮="%H、 %P、%D";

%H展开以显示commitId。

%p展开以显示父commitId。

%D展开以显示装饰(标签和分支(。

但它也有一些微妙的问题:

%p将扩展到%H的所有父提交(用空格分隔(,因此您需要通过第二个脚本运行输出,以更好地将其规范化为适合D3的格式。

%p可能会扩展到3个或更多的提交(非常罕见(。这些被称为章鱼合并!

%D扩展为逗号分隔的装饰列表(分支和标记标签(,并且一次提交可能具有的分支和标记数量没有限制。

最新更新