`git log`でブランチの名前を表示するにはどうすればよいですか?


216

の出力にブランチの名前を表示するにはどうすればよいgit logですか?

たとえばgit log --graph --all、コミットの概要はわかりますが、どの行がマスターで、どの行が私のブランチであるかなど、混乱します。


1
手軽に、リンクされたヘッドまたはタグの名前の表示は、最近のgit更新以降、デフォルトですでに行われているようです。
underscore_d 2017

回答:


321

装飾オプションを試してください。

git log --graph --all --decorate

タグやブランチが指すコミットに注釈を付けます。


42
では--pretty、あなたは使用することができ%dますが、「デコレーション」をする場所。
CBベイリー

4
@noli:何が表示されると思いますか?すべてのコミットがブランチのヒントとは限りません。
CBベイリー

9
@noli gitは、ブランチの最新のコミット(チップ)でのみブランチ名を保存します。履歴内のすべてのコミットは等しく、匿名です。すべてのコミットにブランチ名が付くように名前付きブランチが必要な場合は、Mercurialを使用できます。
Sampo Smolander 2013

7
@CharlesBailey:のリファレンスの色が好きgit log --graph --all --oneline --decorateです。(作者や日付など、他のものも表示するために)をgit graph使用するエイリアス--pretty%dありますが、の色はありません--decorate。私は、今の私のすべてのレフリーのための黄色を使用しますが、私は聞かせすることができます方法を知っているか--pretty%d色を継承する文字列を--decorate
Gauthier 2015年

3
@Gauthier --prettyフォーマットにデフォルトの色を使用したい場合は%C(auto)、要素の前に何を色付けするかを追加します。例git log --pretty=format:"%cd %h %cn %s %C(auto)%d"
Radon8472

7

私はこれに似たものを探していましたが、変更が行われたブランチを知りたいと思っていました。うまくいけば、この答えは他の人にも役立つでしょう。

私はblackbox暗号化のリスクを調査しています。admins十分な数のユーザーがプロジェクトを離れ、keyringsディレクトリがマスターに基づいて信心深く基づいていない場合、リポジトリとそのブランチ/タグは現在使用できなくなる可能性があります)

以下の答えは、keyringsディレクトリがマスターから更新されていない場合に役立ちます...

基本的に--sourceは、ブランチ/タグを表示するために追加する必要がありました。追加する--name-onlyと、実際に変更されたファイルも表示されます。

cd /path/to/repo-that-uses-blackbox-encryption
git log --graph --all --decorate --source --name-only keyrings

別の便利な答え:ブランチ名でgitログを表示する方法


私にとっては、--source単独HEADですべてのコミットを提供します。と組み合わせると--all、これは異なるブランチを区別しているように見えますが、表示される情報は私が期待するものではありません。で行ったコミットの場合、を取得するmaster代わりにrefs/heads/master、プライベートブランチを取得します(refs/remotes/origin/…)。マージや新しいブランチによってGit履歴情報が失われるのではないかと思います。
vinc17

の代わりに--all、でブランチをフィルタリングできますが、--branches --remotes=<pattern>2つのブランチがマージされるとすぐに、Gitには、実行時にコミットされた方の情報がありません。
vinc17

1

ターミナルとしてoh-my-zshを使用している場合は、一連のgitエイリアスを使用できます。これらはすべて、リポジトリのoh-my-zsh / plugins / gitで確認できます。このターミナルを使用しない場合は、エイリアスを取得して、自分の環境に好きなエイリアスを貼り付けることができます。

受け入れられた回答はgit log --graph --all --decorateコマンドを提示します。これはglggaoh-my-zshのエイリアスとして利用できます。

個人的には、次のようglodsに変換されるエイリアスを好みます。

git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.