422

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

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

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.したがって、与えられた例では、短縮されたハッシュを先頭に追加して出力したいだけです。

4

10 に答える 10

683

これを試しましたか?

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 commit メッセージの標準です。表示される動作は、おそらく意図的に実装されたものです。

コミット メッセージの最初の行は、短い説明です。1 行で作成できない場合は複数使用できますが、git は最初の空行より前のすべてを「短い説明」と見なします。oneline短い説明全体を出力するため、3 行すべてが出力されます。

于 2010-12-20T10:43:38.263 に答える
204

あなたgit log --onelineが望むことをしますか?

于 2010-12-18T17:43:53.167 に答える
63

エイリアスを作成することで、git log をより良くより簡単にします。以下のコードを 1 つのセッションで 1 回だけ端末に貼り付けます。コードを zshrc または bash プロファイルに貼り付けて永続化します。

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

出力

git lg

変更された行を 出力する

git lg -p

または(推奨)
このコードをグローバル .gitconfig ファイルに貼り付けます

[alias]
  lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

参考文献。
https://coderwall.com/p/euwpig/a-better-git-log
高度な読書。
http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/

于 2016-04-19T23:21:01.490 に答える
29

より快適な方法で短いログを呼び出すことができるように、グローバル エイリアスを定義できます。

git config --global alias.slog "log --pretty=oneline --abbrev-commit"

次に、を使用して呼び出すことができますgit slog(有効にしている場合は、オートコンプリートでも機能します)。

于 2013-09-13T15:42:40.333 に答える
5

メッセージの最初の行 (件名) のみが必要な場合:

git log --pretty=format:"%s"

そして、このブランチのすべてのメッセージをマスターに戻したい場合:

git log --pretty=format:"%s" master..HEAD

最後になりましたが、簡単なマークダウン リリース ノートに小さな箇条書きを追加したい場合:

git log --pretty=format:"- %s" master..HEAD
于 2020-08-28T15:51:03.223 に答える
-11

常にそのような方法で使用したい場合は、次git logの方法で git エイリアスを追加できます

git config --global alias.log log --oneline

その後、git log通常は印刷されるものを印刷しますgit log --oneline

于 2010-12-19T07:55:37.673 に答える