2016-04-28 11 views
5

私はbranch diffコマンドで作業しようとしていますが、すべて機能しています...書式設定を除いて。私は--pretty=onelineを使って、必要な情報だけを表示することができますが、完全なハッシュを表示し、出力をカラー化しない点が異なります。先行コミットを除く> git rev-listの書式設定

だから、したいだけの出力この:

fa73c05913292fbce940075fc8f454bad5066666 Example Commit Message 
de4dbeffa249393dddebb7b13ae555cb97cad5be Another Example Commit Message 

私が試してみて、このようなカスタムのフォーマット文字列、そうした場合:--pretty="format:%C(yellow)%h%C(reset) %s"を、それは動作しますが、それはまた、それ以上の追加の行を表示します。

など。

commit >fa73c05913292fbce940075fc8f454bad5066666 
fa73c05 Example Commit Message 
commit >de4dbeffa249393dddebb7b13ae555cb97cad5be 
de4dbef Another Example Commit Message 

git rev-list出力前のcommit >abcdef3...ラインのない形式を持ってする方法はありますか?

git rev-listgit logが答え本質的には同じコマンド

です:彼のコメント以下に記載された

/

次@torec来る人のための答えを残して

+2

'git rev-list'と' git log'は本質的に同じコマンドですが、出力フォーマットと、開始点が与えられていなければ 'HEAD'から' git log'が始まるという点を除きます。したがって、 'git log --format = ... <追加のrev-list引数> 'はここでトリックを行います。 – torek

+0

@torekああ、うまくいくでしょう。私は議論を '..'で分ける必要があります。私はこれと驚くほど苦労しています。私はそれを 'git rev-list branch-name ...にすることができました。 sed -e 1b -e '$!d' | sed -e "s/\ n /../" 'しかし、それはうまくいかないようです。 –

+1

この "branch diffコマンド"はとにかく何をしたいのですか?それは既にgitの多くのスイス軍のチェーンソー(手のひらガードなし)ツールの1つとして提供されているかもしれません... – torek

答えて

2

次の形式を使用します:

# print out the log history in the desired format. 
git log --pretty="format:..." <SHA-1>