質問: いつもお世話になっております。 日頃、Sorcetreeを使って、git操作をしております。 今回、作業しているブランチが100以上に増えており、 SourceTreeの画面では、どのブランチがどの状態なのか比較・一覧表示 する際などに、HEAD位置を捜すのに苦労しております。 そこでgit logコマンドを用いて、以下のような事ができないかと と考えておりますが、期待通りになかなかいかない為、 ご質問させて下さい。 **<やりたい事>** 一つのリポジトリ内の全てのブランチのHEADが指している場所のみの ブランチ名、日付、コミットIDを一覧で表示したい。 ※イメージとしては以下のように各ブランチのHEADが指す場所のみを 全てのブランチについて以下のように表示したいです。 ※以下の情報が分かれば、フォーマットは問いません。 ``` ブランチ名 最終コミット日 コミットID origin/master 2017/XX/XX 1111111111111111111 origin/test001 2017/XX/XX 2222222222222222222 origin/test002 2017/XX/XX 3333333333333333333 origin/test003 2017/XX/XX 4444444444444444444 origin/test004 2017/XX/XX 5555555555555555555 origin/test005 2017/XX/XX 6666666666666666666 ``` **<やってみたこと>** git logの仕様を見ながら、以下のコマンドでそれっぽくは 表示されるのですが、肝心のコミットIDは短縮IDでしか 表示されず、| | | | のような表示も沢山表示されてしまいます。 ※試したコマンドは以下となります。 ``` git log --graph --oneline --decorate --all | grep origin | grep -v Merge ``` 上記コマンドでも、なんとなく欲しい情報が 取得出来てはいるのですが、非常に出力結果が見辛く、 コマンドも妥当ではないと自分でも思っています。 他に良いコマンド入力方法などがございましたら、 恐れ入りますがご教授いただけないでしょうか。 **<追記>** pretty=format:なども試してみたのですが、このオプションをつけると どうも--decorateオプションが効かなくなってしまい、肝心の origin/情報が出力されないため、上記のようにgrepで結果を 絞ってHEAD位置を抜き出そうとした次第です。 本当は、SourceTree上で上記のような表示できれば最高なのですが、色々と調べてみましたが、さすがにそれは出来なさそうですので、ターミナルを開いて上記コマンドでHEAD一覧を表示出来ればと思っています。
回答: git logコマンドではありませんが、以下で各ブランチのブランチ名、日付、コミットIDの一覧取得ができます。 ``` git for-each-ref --format='%(refname) %(authordate:short) %(objectname)' ```