日本語 ▾ トピック ▾ 最新バージョン ▾ git-show-branch は 2.46.0 で最終更新されました

名称

git-show-branch - ブランチとそのコミットを表示

概要

git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]
		[--current] [--color[=<when>] | --no-color] [--sparse]
		[--more=<n> | --list | --independent | --merge-base]
		[--no-name | --sha1-name] [--topics]
		[(<rev> | <glob>)…​]
git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]

説明

<rev>または<glob>で指定されたコミット (またはrefs/headsやrefs/tags以下のすべての参照) から始まるコミットの祖先グラフを視覚的に表示します。

一度に26個以上のブランチとコミットを表示することはできません。

コマンドラインで<rev>または<glob>が指定されていない場合、showbranch.default の複数値設定項目を使用します。

オプション

<rev>

通常はブランチヘッドまたはタグを指定する、任意の拡張SHA-1式です (詳細は gitrevisions[7] を参照してください)。

<glob>

refs/ 以下のブランチ名またはタグ名に一致するglobパターンです。例えば、refs/heads/topic の下に多くのトピックブランチがある場合、topic/* を指定するとそれらすべてが表示されます。

-r
--remotes

リモートトラッキングブランチを表示します。

-a
--all

リモートトラッキングブランチとローカルブランチの両方を表示します。

--current

このオプションを使用すると、コマンドラインで現在のブランチが指定されていない場合でも、表示するリビジョンリストに現在のブランチを含めます。

--topo-order

デフォルトでは、ブランチとそのコミットは逆時間順で表示されます。このオプションを指定すると、トポロジカル順 (つまり、子孫コミットがその親よりも前に表示される) で表示されます。

--date-order

このオプションは、--topo-order と同様に、親がすべての子より前に来ることはありませんが、それ以外はコミットの日付に従って順序付けられます。

--sparse

デフォルトでは、出力は表示されている1つの先端からのみ到達可能なマージを省略します。このオプションを指定すると、それらが表示されるようになります。

--more=<n>

通常、このコマンドはすべてのブランチの共通の祖先であるコミットを表示すると出力が停止します。このフラグは、そこからさらに<n>個の共通コミットを表示するようにコマンドに指示します。<n>が負の場合、コミットの祖先ツリーを表示せずに、指定された<ref>のみを表示します。

--list

--more=-1 の同義語

--merge-base

コミットリストを表示する代わりに、指定されたコミットの可能なマージベースを決定します。すべてのマージベースは、指定されたすべてのコミットに含まれます。これは、git-merge-base[1] が3つ以上のコミットを処理する方法とは異なります。

--independent

指定された<ref>の中で、他の<ref>から到達できないもののみを表示します。

--no-name

各コミットの名前文字列を表示しません。

--sha1-name

コミットをヘッドからの到達パス (例: 「master」の祖父を意味する「master~2」) を使って命名する代わりに、オブジェクト名の一意なプレフィックスで命名します。

--topics

最初に指定されたブランチに**ない**コミットのみを表示します。これにより、すでに主要な開発ラインにあるコミットを非表示にすることで、トピックブランチを追跡するのに役立ちます。「git show-branch --topics master topic1 topic2」と指定した場合、これは「git rev-list ^master topic1 topic2」によって与えられるリビジョンを表示します。

-g
--reflog[=<n>[,<base>]] [<ref>]

指定された参照の最新の<n>個のref-logエントリを表示します。<base>が指定されている場合、そのエントリから<n>個のエントリを遡って表示します。<base>はカウントまたは日付で指定できます。明示的な<ref>パラメータが与えられていない場合、現在のブランチ(またはデタッチされている場合はHEAD)がデフォルトとなります。

--color[=<when>]

各コミットが属するブランチに対応するステータス記号 (* ! + - のいずれか) を着色します。値は always (デフォルト)、never、または auto でなければなりません。

--no-color

設定ファイルで色付き出力がデフォルトであっても、色付き出力をオフにします。--color=never と同じです。

--more、--list、--independent、および --merge-base オプションは相互に排他的であることに注意してください。

出力

N個の<ref>が与えられた場合、最初のN行はそれらのコミットメッセージからの1行の説明です。$GIT_DIR/HEADによって指されているブランチヘッドにはアスタリスク*文字が前置され、他のヘッドには!文字が前置されます。

これらのN行に続いて、各コミットの1行ログがN文字インデントされて表示されます。コミットがI番目のブランチにある場合、I番目のインデント文字は+記号を表示し、そうでない場合は空白を表示します。マージコミットは-記号で示されます。各コミットは、そのコミットを命名するための拡張SHA-1として使用できる短い名前を表示します。

以下の例は、「master」、「fixes」、「mhf」の3つのブランチを示しています。

$ git show-branch master fixes mhf
* [master] Add 'git show-branch'.
 ! [fixes] Introduce "reset type" flag to "git reset"
  ! [mhf] Allow "+remote:local" refspec to cause --force when fetching.
---
  + [mhf] Allow "+remote:local" refspec to cause --force when fetching.
  + [mhf~1] Use git-octopus when pulling more than one head.
 +  [fixes] Introduce "reset type" flag to "git reset"
  + [mhf~2] "git fetch --force".
  + [mhf~3] Use .git/remote/origin, not .git/branches/origin.
  + [mhf~4] Make "git pull" and "git fetch" default to origin
  + [mhf~5] Infamous 'octopus merge'
  + [mhf~6] Retire git-parse-remote.
  + [mhf~7] Multi-head fetch.
  + [mhf~8] Start adding the $GIT_DIR/remotes/ support.
*++ [master] Add 'git show-branch'.

これら3つのブランチはすべて、「Add 'git show-branch'」というコミットメッセージを持つ共通のコミット [master] から分岐しました。「fixes」ブランチは「Introduce "reset type" flag to "git reset"」というコミットを1つ追加します。「mhf」ブランチは他にも多くのコミットを追加します。現在のブランチは「master」です。

プライマリブランチをrefs/heads直下に置き、トピックブランチをそのサブディレクトリに置いている場合、設定ファイルに以下を記述すると役立つことがあります。

[showbranch]
	default = --topo-order
	default = heads/*

これにより、追加パラメータなしでgit show-branchを実行すると、プライマリブランチのみが表示されます。さらに、もしトピックブランチにいる場合、それも表示されます。

$ git show-branch --reflog="10,1 hour ago" --list master

1時間前の先端から遡って10個のreflogエントリが表示されます。--listがない場合、出力にはこれらの先端が互いにトポロジー的にどのように関連しているかも表示されます。

設定

このセクションのこの行より下は、git-config[1] ドキュメントから選択的に含まれています。内容はそちらで見られるものと同じです。

showBranch.default

git-show-branch[1] のデフォルトのブランチセットです。git-show-branch[1] を参照してください。

GIT

git[1] スイートの一部

scroll-to-top