設定與組態
取得與建立專案
基本快照
分支與合併
分享與更新專案
檢查與比較
修補
除錯
電子郵件
外部系統
伺服器管理
指南
- gitattributes
- 命令列介面規範
- Git 日常使用
- 常見問題 (FAQ)
- 詞彙表
- 掛鉤 (Hooks)
- gitignore
- gitmodules
- 修訂版本 (Revisions)
- 子模組
- 教學
- 工作流程
- 所有指南...
管理
底層命令 (Plumbing Commands)
- 2.46.1 → 2.55.0 無變更
-
2.46.0
2024-07-29
- 2.43.1 → 2.45.4 無變更
-
2.43.0
2023-11-20
- 2.42.1 → 2.42.4 無變更
-
2.42.0
2023-08-21
- 2.39.1 → 2.41.3 無變更
-
2.39.0
2022-12-12
- 2.38.1 → 2.38.5 無變更
-
2.38.0
2022-10-02
- 2.22.1 → 2.37.7 無變更
-
2.22.0
2019-06-07
- 2.19.3 → 2.21.4 無變更
-
2.19.2
2018-11-21
- 2.18.1 → 2.19.1 無變更
-
2.18.0
2018-06-21
- 2.10.5 → 2.17.6 無變更
-
2.9.5
2017-07-30
- 2.1.4 → 2.8.6 無變更
-
2.0.5
2014-12-17
概要
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]),通常用於命名分支標頭(branch head)或標籤(tag)。
- <glob>
-
符合 refs/ 下分支或標籤名稱的 glob 模式。例如,如果您在 refs/heads/topic 下有許多主題分支,提供
topic/*將會顯示所有這些分支。 - -r
- --remotes
-
顯示遠端追蹤分支。
- -a
- --all
-
同時顯示遠端追蹤分支與本機分支。
- --current
-
使用此選項時,若命令列未明確指定分支,該指令會將目前分支納入待顯示的修訂版本清單中。
- --topo-order
-
預設情況下,分支及其提交會按時間先後倒序顯示。此選項使其以拓樸順序顯示(即:子提交會顯示在其父提交之前)。
- --date-order
-
此選項與
--topo-order類似,即父提交不會出現在所有子提交之前,但提交會依照其提交日期進行排序。 - --sparse
-
預設情況下,輸出會省略僅能從顯示的某一個頂端(tip)存取到的合併提交。此選項使其可見。
- --more=<n>
-
通常指令在顯示所有分支的共同祖先提交後即停止輸出。此旗標指示指令額外多顯示 <n> 個共同提交。當 <n> 為負數時,僅顯示指定的 <ref>,而不顯示提交祖先樹。
- --list
-
等同於
--more=-1 - --merge-base
-
不顯示提交清單,而是找出指定提交的可能合併基底(merge base)。所有合併基底都會包含在所有指定的提交中。這與 git-merge-base[1] 處理三個或更多提交時的方式不同。
- --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>]
-
顯示給定參考的最後 <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
顯示從一小時前算起的最後 10 筆 reflog 紀錄。若沒有 --list,輸出也會顯示這些頂端在拓樸上是如何彼此關聯的。
組態設定 (CONFIGURATION)
本節中此行以下的內容是從 git-config[1] 文件中選擇性包含的。內容與該處找到的內容相同
- showBranch.default
-
git-show-branch[1] 的預設分支集合。參見 git-show-branch[1]。
GIT
git[1] 套件的一部分