繁体   English   中英

带有 Json 层次结构的 Git 日志

[英]Git log with Json hierarchy

问题是我有这个 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 --pretty = '% h |% p |% d' 我正在尝试做 apache echart。 --pretty = "%H,%P,%D"

% H 展开以显示 commitId。

% P 展开以显示父 commitIds。

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM