のフォーマットをカスタマイズしようとしています。git log
すべてのコミットを1行で表示したいのですが、各行にはコミットメッセージの最初の行のみが表示される必要があります。
見つけたそれでgit log --pretty=short
うまくいくはずですが、私のコンピューターでは、完全なログが表示されますgit log
(タイムスタンプを除く)。
さらに、私はマニュアルページで定義されているプレースホルダーただし、ログ メッセージを短縮するコマンドは見つかりませんでした。git log --pretty=format:'%h : %s'
短縮されたハッシュ%h
と完全なメッセージを%s
1 行で表示する次の行を試しました。
git version 1.7.3.1.msysgit.0
Vistaで使用しています。
おそらく、これはコミット メッセージの書き方と関係があるのでしょう。次に例を示します。
Added some functionality.
+ Added print function in Foo class.
+ Added conversion from foo to baz.
したがって、上記の例では、Added some functionality.
短縮ハッシュが先頭に付加された出力のみを希望します。
ベストアンサー1
これを試しましたか?
git log --oneline
これは のエイリアスでありgit log --pretty=oneline --abbrev-commit
、「短い sha」と「短い説明」を表示します。次に例を示します。
9bee8857 Write more code
831fdd6e Write some code Second line of message
問題は、コミット メッセージの最初の行の後に空行がないことです。上記のコマンドは通常は機能しますが、2 行目が空でないコミットでテストしたところ、あなたと同じ結果になりました。つまり、メッセージ全体が 1 行に表示されました。
2 行目を空にするのは、git コミット メッセージの標準です。表示される動作は、おそらく意図的に実装されたものです。
コミット メッセージの最初の行は、短い説明になります。1 行で記述できない場合は、複数行にすることもできますが、git は最初の空行より前のすべてを「短い説明」と見なします。oneline
短い説明全体、つまり 3 行すべてを出力します。