設定與配置
取得與建立專案
基本快照
分支與合併
分享與更新專案
檢查與比較
修補
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
- 2.46.1 → 2.47.0 無變更
-
2.46.0
07/29/24
- 2.43.1 → 2.45.2 無變更
-
2.43.0
11/20/23
- 2.42.1 → 2.42.3 無變更
-
2.42.0
08/21/23
- 2.39.1 → 2.41.2 無變更
-
2.39.0
12/12/22
- 2.38.1 → 2.38.5 無變更
-
2.38.0
10/02/22
- 2.22.1 → 2.37.7 無變更
-
2.22.0
06/07/19
- 2.19.3 → 2.21.4 無變更
-
2.19.2
11/21/18
- 2.18.1 → 2.19.1 無變更
-
2.18.0
06/21/18
- 2.10.5 → 2.17.6 無變更
-
2.9.5
07/30/17
- 2.1.4 → 2.8.6 無變更
-
2.0.5
12/17/14
概要
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>
-
一個 glob 模式,匹配 refs/ 下的分支或標籤名稱。例如,如果您在 refs/heads/topic 下有許多主題分支,給定
topic/*
將會顯示所有這些分支。 - -r
- --remotes
-
顯示遠端追蹤分支。
- -a
- --all
-
同時顯示遠端追蹤分支和本地分支。
- --current
-
使用此選項,當命令列上沒有給定時,命令會將目前分支包含在要顯示的 rev 列表中。
- --topo-order
-
預設情況下,分支及其提交會以反向時間順序顯示。此選項會讓它們以拓撲順序顯示(即,後代提交會在其父提交之前顯示)。
- --date-order
-
此選項類似於
--topo-order
,因為沒有父提交會在其所有子提交之前出現,但否則提交會根據其提交日期排序。 - --sparse
-
預設情況下,輸出會省略僅從一個正在顯示的頂端可訪問的合併。此選項會使其可見。
- --more=<n>
-
通常,命令在顯示所有分支的共同祖先的提交時會停止輸出。此標誌告訴命令要顯示超出該點 <n> 個更多的共同提交。當 <n> 為負數時,只顯示給定的 <ref>,而不顯示提交祖先樹。
- --list
-
與
--more=-1
同義 - --merge-base
-
不要顯示提交列表,而是確定指定提交的可能合併基礎。所有合併基礎都將包含在所有指定的提交中。這與 git-merge-base[1] 如何處理三個或更多提交的情況不同。
- --independent
-
在給定的 <ref> 中,只顯示無法從任何其他 <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-log 條目。如果給定 <base>,則從該條目往回顯示 <n> 個條目。<base> 可以指定為計數或日期。當沒有給定明確的 <ref> 參數時,它預設為目前分支(如果它是分離的,則為
HEAD
)。 - --color[=<when>]
-
為每個提交對應分支的狀態符號(以下之一:
*
!
+
-
)著色。值必須是 always (預設值)、never 或 auto。 - --no-color
-
關閉彩色輸出,即使設定檔預設為彩色輸出。與
--color=never
相同。
請注意,--more、--list、--independent 和 --merge-base 選項是互斥的。
輸出
給定 N 個 <ref>,前 N 行是它們提交訊息中的單行描述。$GIT_DIR/HEAD 所指向的分支頭會以星號 *
字元作為前綴,而其他頭會以 !
字元作為前綴。
在這 N 行之後,會顯示每個提交的單行日誌,縮排 N 個位置。如果一個提交位於第 I 個分支上,則第 I 個縮排字元會顯示一個 +
符號;否則它會顯示一個空格。合併提交會以 -
符號表示。每個提交都會顯示一個簡短名稱,該名稱可以用作擴展的 SHA-1 來命名該提交。
以下範例顯示三個分支 "master"、"fixes" 和 "mhf"
$ 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'.
這三個分支都是從一個共同的提交 [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] 套件的一部分