3

カスタム 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 の組み合わせを拒否します

さらにカスタマイズできるフォーマット文字列を使用して最初のサンプルを再現するにはどうすればよいですか?

4

1 に答える 1

0

それが可能だ。使っ%dて提供するだけ--decorate=full

$ git log --pretty=format:'%h %d'
bde5d58  (HEAD, origin/master, master)
dd4446d 
1eeab2a 
...

$ git log --decorate=full --pretty=format:'%h %d'
bde5d58  (HEAD, refs/remotes/origin/master, refs/heads/master)
dd4446d 
1eeab2a 
...
于 2012-12-06T17:10:22.787 に答える