?
This document uses PHP Chinese website manual Release
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> s或<globs>s(或refs / heads和/或refs / tags下的所有 ref)命名的提交開始的提交血統(tǒng)圖。
它一次不能顯示超過29個(gè)分支和提交。
如果在命令行上沒有給出<rev>或<glob>,它將使用showbranch.default
多值配置項(xiàng)。
<rev>
任意擴(kuò)展的 SHA-1表達(dá)式(參見 gitrevisions [7]),通常命名分支頭或標(biāo)簽。
<glob>
與 refs /下的分支或標(biāo)簽名稱匹配的 glob 模式。例如,如果您在 refs / heads / topic 下有許多主題分支,topic/*
則會(huì)顯示所有主題分支。
-r --remotes
顯示遠(yuǎn)程跟蹤分支。
-a --all
顯示遠(yuǎn)程跟蹤分支和本地分支。
--current
使用此選項(xiàng)時(shí),該命令會(huì)將當(dāng)前分支包含在未在命令行中提供的 rev 列表中。
--topo-order
默認(rèn)情況下,分支及其提交按反向時(shí)間順序顯示。這個(gè)選項(xiàng)使得它們以拓?fù)漤樞虺霈F(xiàn)(即,后代提交顯示在他們的父母之前)。
--date-order
這個(gè)選項(xiàng)類似于--topo-order
沒有父節(jié)點(diǎn)在它的所有子節(jié)點(diǎn)之前出現(xiàn)的意義,但其他情況下,根據(jù)提交日期排序。
--sparse
默認(rèn)情況下,輸出省略僅顯示一個(gè)提示可訪問的合并。該選項(xiàng)使它們可見。
--more=<n>
通常,該命令在顯示所有分支的共同祖先的提交時(shí)停止輸出。這個(gè)標(biāo)志告訴命令去超越那個(gè)<n>更常見的提交。當(dāng)<n>為負(fù)數(shù)時(shí),只顯示給定的<reference>,而不顯示提交祖先樹。
--list
與--more=-1
同義
--merge-base
不是顯示提交列表,而是確定指定提交的可能合并基礎(chǔ)。所有合并基數(shù)將包含在所有指定的提交中。這與 git-merge-base [1]處理三個(gè)或更多提交的情況不同。
--independent
在給出的<reference>中,只顯示無法從其他任何<reference>到達(dá)的參考。
--no-name
不要為每個(gè)提交顯示命名字符串。
--sha1-name
不是使用從頭部到達(dá)它們的路徑命名提交(例如,“master?2”表示“master”的祖父),用它們的對(duì)象名稱的唯一前綴命名它們。
--topics
只顯示不在第一個(gè)分支上的提交。這有助于通過隱藏任何已經(jīng)在開發(fā)主線中的提交來跟蹤主題分支。當(dāng)給出“git show-branch --topics master topic1 topic2”時(shí),這將顯示由“git rev-list ^ master topic1 topic2”給出的修訂版本
-g --reflog=<n>[,<base>]
顯示給定 ref 的最近的 ref-log 條目。如果給出<base>,則從該條目返回的<n>條目??梢詫?lt;base>指定為計(jì)數(shù)或日期。當(dāng)沒有給出明確的<ref>參數(shù)時(shí),它默認(rèn)為當(dāng)前分支(或者HEAD
如果分離)。
--color=<when>
對(duì)與其所在分支相對(duì)應(yīng)的每個(gè)提交的狀態(tài)標(biāo)志(以下*
!
+
-
之一)進(jìn)行著色。該值必須始終為(缺省值),從不為或自動(dòng)。
--no-color
關(guān)閉彩色輸出,即使配置文件將默認(rèn)設(shè)置為彩色輸出。和--color=never
一樣。
請(qǐng)注意,--more,--list,--independent和--merge-base 選項(xiàng)是互斥的。
給定 N <引用>,前 N 行是它們提交消息的單行描述。$ GIT_DIR / HEAD指向的分支頭以星號(hào)*
字符為前綴,而其他頭以!
字符為前綴。
在這 N 行之后,顯示每個(gè)提交的單行日志,縮進(jìn) N 個(gè)位置。如果提交位于第I個(gè)分支上,則第I個(gè)縮進(jìn)字符將顯示一個(gè)+
符號(hào); 否則顯示一個(gè)空格。合并提交由-
符號(hào)表示。每個(gè)提交都顯示一個(gè)短名稱,可用作擴(kuò)展 SHA-1來命名該提交。
以下示例顯示了三個(gè)分支,“主”,“修復(fù)”和“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 heads. + [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'.
這三個(gè)分支全部從一個(gè)普通的提交中分離出來,master,它的提交信息是“Add {撇號(hào)} git show-branch {撇號(hào)}”?!靶迯?fù)”分支添加一個(gè)提交“介紹”重置類型“標(biāo)志為”git reset“”?!癿hf”分支添加了許多其他提交。當(dāng)前分支是“主”。
如果您立即將主要分支保留refs/heads
在其子分區(qū)中,并且在其子目錄中保留主題分支,那么在配置文件中包含以下內(nèi)容可能會(huì)有所幫助:
[showbranch] default = --topo-order default = heads/*
有了這個(gè),git show-branch
沒有額外的參數(shù)將只顯示主分支。另外,如果你碰巧在你的主題分支上,它也會(huì)顯示出來。
$ git show-branch --reflog="10,1 hour ago" --list master
顯示從1小時(shí)前的小費(fèi)返回的10條 reflog 條目。如果沒有--list
,輸出還會(huì)顯示這些提示如何在拓?fù)鋵W(xué)上彼此相關(guān)。