Git
英語 ▾ トピック ▾ 最新バージョン ▾ 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の下にあるすべてのrefs)から始まるコミットの祖先グラフを半視覚的に表示します。

一度に表示できるブランチとコミットは26個までです。

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

オプション

<rev>

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

<glob>

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

-r
--remotes

リモート追跡ブランチを表示します。

-a
--all

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

--current

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

--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~2」は「master」の祖父母を意味します)を使用してコミットに名前を付ける代わりに、オブジェクト名の固有のプレフィックスで名前を付けます。

--topics

最初に指定されたブランチ上にないコミットのみを表示します。これは、開発のメインラインに既に含まれているコミットを非表示にすることで、トピックブランチの追跡に役立ちます。「git show-branch --topics master topic1 topic2」を指定すると、「git rev-list ^master topic1 topic2」で指定されたリビジョンが表示されます。

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

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

--color[=<when>]

各コミットのステータス記号(* ! + -のいずれか)を、そのコミットが含まれているブランチに対応して色付けします。値は常に(デフォルト)、決して、または自動にする必要があります。

--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つのブランチはすべて、共通のコミット[master]から分岐しており、そのコミットメッセージは「Add 'git show-branch'」です。「fixes」ブランチは、「Introduce "reset type" flag to "git reset"」というコミットを追加します。「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