カスタム git ログ形式文字列を改善しようとしています。参照名を除いて、必要なものはほとんどすべて揃っています。私はすでに私が望むものと同様のログを取得できます:
> git log --all --source --pretty=oneline --graph
* b7c7ad3855b54e94ad7ac03f2d2e5b96d6e5ac1d refs/heads/b1 na
| * 695e1482622a79230fa1d83afb8d70e86847334a refs/heads/master Merge branch 'b1'
| |\
| |/
|/|
* | ec21f370f82096c0208f43b390da234d92e8c74a refs/heads/b1 beta
* | c6bc1f55ab3b1bd568493a5de4298dfcb4f66d8d refs/heads/b1 alfa
* | 762dd868ae87753afc1cbf9803744c76f9a9e121 refs/heads/b1 tango
| * 57fb27bff06ee9bb569f93ba815e9dcd69521c13 refs/heads/master little last post commit
|/
| * 8d613d09b43152a7263b6e02d47ec8a4304f54be refs/heads/b3 the other commit
| * e1f32b7cb86633351df06e37c2c58ef3f9fafc40 refs/heads/b3 something
|/
| * 01b5c6728cf25dd576733211ce75dd3ecc29c7ba refs/heads/b2 this time a
次のような独自のフォーマット文字列でカスタマイズされた出力を得るために戦っています。
> git log --pretty=format:'%h - %gD %s' --source -g
b7c7ad3 - HEAD@{0} na
ec21f37 - HEAD@{1} beta
01b5c67 - HEAD@{2} this time a
01b5c67 - HEAD@{3} this time a
695e148 - HEAD@{4} Merge branch 'b1'
57fb27b - HEAD@{5} little last post commit
私の主な問題は、必要な参照名を取得できないことです。%g? の 1 つだと思います。フォーマット文字列ですが、どれも完全な参照名を教えてくれないようです。
別の問題は、%g? reflogs (-g) をウォークしない限り、フォーマット文字列は空です。ただし、git は --graph と -g の組み合わせを拒否します
さらにカスタマイズできるフォーマット文字列を使用して最初のサンプルを再現するにはどうすればよいですか?