最初の行のみでgit logを出力するにはどうすればいいですか? 質問する

最初の行のみでgit logを出力するにはどうすればいいですか? 質問する

のフォーマットをカスタマイズしようとしています。git logすべてのコミットを1行で表示したいのですが、各行にはコミットメッセージの最初の行のみが表示される必要があります。
見つけたそれでgit log --pretty=shortうまくいくはずですが、私のコンピューターでは、完全なログが表示されますgit log(タイムスタンプを除く)。

さらに、私はマニュアルページで定義されているプレースホルダーただし、ログ メッセージを短縮するコマンドは見つかりませんでした。git log --pretty=format:'%h : %s'短縮されたハッシュ%hと完全なメッセージを%s1 行で表示する次の行を試しました。

git version 1.7.3.1.msysgit.0Vistaで使用しています。


おそらく、これはコミット メッセージの書き方と関係があるのでしょう。次に例を示します。

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 行すべてを出力します。

おすすめ記事