簡體   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