# gitglossary
> 原文: [https://git-scm.com/docs/gitglossary](https://git-scm.com/docs/gitglossary)
## 名稱
gitglossary - Git詞匯表
## 概要
*
## 描述
```
alternate object database
```
通過交替機制,[存儲庫](#def_repository)可以從另一個對象數據庫(稱為“備用”)繼承其[對象數據庫](#def_object_database)的一部分。
```
bare repository
```
裸存儲庫通常是具有`.git`后綴的適當命名的[目錄](#def_directory),該后綴沒有在版本控制下的任何文件的本地檢出副本。也就是說,隱藏的`.git`子目錄中通常存在的所有Git管理和控制文件都直接存在于`repository.git`目錄中,并且沒有其他文件存在并檢出。通常,公共存儲庫的發布者可以使用裸存儲庫。
```
blob object
```
未輸入的[對象](#def_object),例如文件的內容。
```
branch
```
“分支”是一個積極的發展路線。分支上最近的[提交](#def_commit)被稱為該分支的提示。分支的尖端由分支[頭](#def_head)引用,其在分支上進行額外的開發時向前移動。單個Git [存儲庫](#def_repository)可以跟蹤任意數量的分支,但您的[工作樹](#def_working_tree)只與其中一個(“當前”或“已檢出”分支)相關聯, [HEAD](#def_HEAD) 指向那個分支。
```
cache
```
已廢棄:[索引](#def_index)。
```
chain
```
一個對象列表,其中列表中的每個[對象](#def_object)包含對其后繼者的引用(例如,[提交](#def_commit)的后繼者可能是其[父母之一](#def_parent) )。
```
changeset
```
BitKeeper / cvsps代表“ [commit](#def_commit) ”。由于Git不存儲更改,但是狀態,因此在Git中使用術語“changesets”實際上沒有意義。
```
checkout
```
用來自[對象數據庫](#def_object_database)的[樹對象](#def_tree_object)或 [blob](#def_blob_object) 更新全部或部分[工作樹](#def_working_tree)的動作,并更新[索引](#def_index)和 [HEAD](#def_HEAD) 如果整個工作樹已指向新的[分支](#def_branch)。
```
cherry-picking
```
在 [SCM](#def_SCM) 行話中,“櫻桃選擇”意味著從一系列更改(通常是提交)中選擇更改的子集,并將它們記錄為在不同代碼庫之上的一系列新更改。在Git中,這是通過“git cherry-pick”命令執行的,以提取現有[提交](#def_commit)引入的更改,并根據當前[分支](#def_branch)的提示將其記錄為新提交。
```
clean
```
[工作樹](#def_working_tree)是干凈的,如果它對應于當前[頭](#def_head)引用的[修訂版](#def_revision)。另見“[臟](#def_dirty)”。
```
commit
```
作為名詞:Git歷史中的一個點;項目的整個歷史記錄表示為一組相互關聯的提交。 Git通常在相同位置使用“commit”一詞,其他版本控制系統使用“revision”或“version”。也用作[提交對象](#def_commit_object)的簡寫。
作為動詞:通過創建表示[索引](#def_index)當前狀態的新提交并將 [HEAD](#def_HEAD) 推進指向新的提交。
```
commit object
```
[對象](#def_object)包含有關特定[修訂版](#def_revision)的信息,如[父](#def_parent),提交者,作者,日期和[樹對象](#def_tree_object)對應到存儲修訂的頂部[目錄](#def_directory)。
```
commit-ish (also committish)
```
[提交對象](#def_commit_object)或[對象](#def_object),可以遞歸地解除引用到提交對象。以下是commit-ishes:提交對象,指向提交對象的[標記對象](#def_tag_object),指向指向提交對象的標記對象的標記對象,等等。
```
core Git
```
Git的基本數據結構和實用程序。僅公開有限的源代碼管理工具。
```
DAG
```
有向無環圖。 [提交對象](#def_commit_object)形成一個有向無環圖,因為它們有父對象(有向),而提交對象的圖是非循環的(沒有[鏈](#def_chain)開始和結束相同[對象](#def_object))。
```
dangling object
```
[無法到達的對象](#def_unreachable_object)即使從其他無法到達的對象也不能[到達](#def_reachable);懸掛物體沒有從[存儲庫](#def_repository)中的任何參考或[對象](#def_object)引用它。
```
detached HEAD
```
通常, [HEAD](#def_HEAD) 存儲[分支](#def_branch)的名稱,并且對歷史HEAD進行操作的命令表示對通向HEAD指向的分支的尖端的歷史進行操作。但是,Git還允許你[檢查](#def_checkout)任意[提交](#def_commit),這不一定是任何特定分支的提示。處于這種狀態的HEAD被稱為“分離的”。
請注意,在HEAD分離時,對當前分支的歷史記錄進行操作的命令(例如,`git commit`以在其上構建新歷史記錄)仍然有效。他們更新HEAD以指向更新歷史記錄的提示,而不會影響任何分支。更新或查詢關于當前分支的信息_的命令(例如設置當前分支與哪個遠程跟蹤分支集成的`git branch --set-upstream-to`)顯然不起作用,因為沒有(實際)當前分支要求在這種狀態下。_
```
directory
```
你用“ls”得到的清單:-)
```
dirty
```
如果[工作樹](#def_working_tree)包含尚未[提交](#def_commit)到當前[分支](#def_branch)的修改,則稱其為“臟”。
```
evil merge
```
邪惡合并是[合并](#def_merge),它引入了未出現在任何[父](#def_parent)中的變化。
```
fast-forward
```
快進是一種特殊類型的[合并](#def_merge)你有一個[修訂](#def_revision)并且你正在“合并”另一個[分支](#def_branch)的變化恰好是一個后代你有什么在這種情況下,你不會進行新的[合并](#def_merge) [提交](#def_commit),而只是更新到他的修訂版。這將在遠程[存儲庫](#def_repository)的[遠程跟蹤分支](#def_remote_tracking_branch)上頻繁發生。
```
fetch
```
獲取[分支](#def_branch)意味著從遠程[存儲庫](#def_repository)獲取分支的 [head ref](#def_head_ref) ,以找出本地[對象數據庫中缺少的對象](#def_object_database) ],也是為了得到它們。另見 [git-fetch [1]](https://git-scm.com/docs/git-fetch) 。
```
file system
```
Linus Torvalds最初將Git設計為用戶空間文件系統,即保存文件和目錄的基礎設施。這確保了Git的效率和速度。
```
Git archive
```
[存儲庫](#def_repository)的同義詞(適用于拱門人員)。
```
gitfile
```
位于工作樹根目錄的純文件`.git`,指向作為真實存儲庫的目錄。
```
grafts
```
通過記錄提交的偽造祖先信息,移植物可以將兩個不同的開發線連接在一起。這樣你就可以讓Git假裝[父](#def_parent) [提交](#def_commit)的集合與創建提交時記錄的不同。通過`.git/info/grafts`文件配置。
請注意,移植機制已過時,可能導致在存儲庫之間傳輸對象時出現問題;請參閱 [git-replace [1]](https://git-scm.com/docs/git-replace) 以獲得更靈活,更強大的系統來執行相同的操作。
```
hash
```
在Git的上下文中,[對象名稱](#def_object_name)的同義詞。
```
head
```
[在](#def_ref)[分支](#def_branch)的末端命名為[提交](#def_commit)的參考。磁頭存儲在`$GIT_DIR/refs/heads/`目錄中的文件中,除非使用壓縮參考。 (參見 [git-pack-refs [1]](https://git-scm.com/docs/git-pack-refs) 。)
```
HEAD
```
當前[分支](#def_branch)。更詳細:您的[工作樹](#def_working_tree)通常來自HEAD引用的樹的狀態。 HEAD是對您的存儲庫中 [](#def_head) 之一的引用,除非使用[分離的HEAD](#def_detached_HEAD) ,在這種情況下它直接引用任意提交。
```
head ref
```
[head](#def_head) 的同義詞。
```
hook
```
在幾個Git命令的正常執行期間,對可選腳本進行調用,允許開發人員添加功能或檢查。通常,掛鉤允許預先驗證并可能中止命令,并允許在操作完成后進行后通知。鉤子腳本位于`$GIT_DIR/hooks/`目錄中,只需從文件名中刪除`.sample`后綴即可啟用。在早期版本的Git中,您必須使它們可執行。
```
index
```
包含stat信息的文件集合,其內容存儲為對象。索引是[工作樹](#def_working_tree)的存儲版本。說實話,它還可以包含工作樹的第二個甚至第三個版本,這些版本在[合并](#def_merge)時使用。
```
index entry
```
有關特定文件的信息,存儲在[索引](#def_index)中。如果[合并](#def_merge)已啟動但尚未完成(即,如果索引包含該文件的多個版本),則索引條目可以是未合并的。
```
master
```
默認開發[分支](#def_branch)。無論何時創建Git [存儲庫](#def_repository),都會創建一個名為“master”的分支,并成為活動分支。在大多數情況下,這包含本地開發,雖然這純粹是按照慣例而不是必需的。
```
merge
```
作為動詞:將另一個[分支](#def_branch)(可能來自外部[存儲庫](#def_repository))的內容帶入當前分支。在合并分支來自不同存儲庫的情況下,這通過首先[獲取](#def_fetch)遠程分支然后將結果合并到當前分支來完成。這種獲取和合并操作的組合稱為 [pull](#def_pull) 。合并由一個自動過程執行,該過程識別自分支分叉后所做的更改,然后將所有這些更改一起應用。如果更改發生沖突,則可能需要手動干預才能完成合并。
作為名詞:除非它是[快進](#def_fast_forward),否則成功合并會導致創建表示合并結果的新[提交](#def_commit),并具有[父](#def_parent)合并[分支](#def_branch)的提示。此提交稱為“合并提交”,有時僅稱為“合并”。
```
object
```
Git中的存儲單元。它由 [SHA-1](#def_SHA1) 的內容唯一標識。因此,不能改變對象。
```
object database
```
存儲一組“對象”,單個[對象](#def_object)由其[對象名稱](#def_object_name)標識。對象通常存在于`$GIT_DIR/objects/`中。
```
object identifier
```
[對象名稱](#def_object_name)的同義詞。
```
object name
```
[對象](#def_object)的唯一標識符。對象名稱通常由40個字符的十六進制字符串表示。通俗地稱為 [SHA-1](#def_SHA1) 。
```
object type
```
其中一個標識符“[提交](#def_commit_object)”,“[樹](#def_tree_object)”,“[標簽](#def_tag_object)”或“ [blob](#def_blob_object) ”描述[HTG8的類型對象。
```
octopus
```
[合并](#def_merge)超過兩個[分支](#def_branch)。
```
origin
```
默認上游[存儲庫](#def_repository)。大多數項目至少有一個他們跟蹤的上游項目。默認情況下_原點_用于此目的。新的上游更新將被提取到名為origin / name-of-upstream-branch的[遠程跟蹤分支](#def_remote_tracking_branch)中,您可以使用`git branch -r`查看。
```
pack
```
已壓縮到一個文件中的一組對象(以節省空間或有效傳輸它們)。
```
pack index
```
[包](#def_pack)中對象的標識符列表和其他信息,以幫助有效地訪問包的內容。
```
pathspec
```
用于限制Git命令中的路徑的模式。
Pathspecs用于命令行“git ls-files”,“git ls-tree”,“git add”,“git grep”,“git diff”,“git checkout”以及許多其他命令以限制范圍對樹或工作樹的某個子集的操作。有關路徑是相對于當前目錄還是頂層的信息,請參閱每個命令的文檔。 pathspec語法如下:
* 任何路徑都匹配自己
* 最后一個斜杠的pathspec表示目錄前綴。 pathpec的范圍僅限于該子樹。
* 其余的pathspec是路徑名的其余部分的模式。使用fnmatch(3)將相對于目錄前綴的路徑與該模式匹配;特別是 _*_ 和_?_ _可以_匹配目錄分隔符。
例如,Documentation / * .jpg將匹配文檔子樹中的所有.jpg文件,包括Documentation / chapter_1 / figure_1.jpg。
以冒號`:`開頭的pathspec具有特殊含義。在簡短形式中,前導冒號`:`后跟零個或多個“魔術簽名”字母(可選地由另一個冒號`:`終止),余數是與路徑匹配的模式。 “魔術簽名”由ASCII符號組成,既不是字母數字,也不是字母,正則表達式,也不是冒號。如果模式以不屬于“魔術簽名”符號集且不是冒號的字符開頭,則可以省略終止“魔術簽名”的可選冒號。
在長形式中,前導冒號`:`后面是一個左括號`(`,一個逗號分隔的零個或多個“魔術詞”列表,以及一個括號`)`,其余的是與路徑相匹配。
僅包含冒號的pathspec意味著“沒有pathspec”。此表單不應與其他pathspec結合使用。
```
top
```
即使從子目錄中運行命令,魔術字`top`(魔術簽名:`/`)也會使工作樹的根模式匹配。
```
literal
```
模式中的通配符(如`*`或`?`)被視為文字字符。
```
icase
```
不區分大小寫的匹配。
```
glob
```
Git將模式視為適合fnmatch(3)使用FNM_PATHNAME標志的shell glob:模式中的通配符與路徑名中的/不匹配。例如,“Documentation / * .html”匹配“Documentation / git.html”,但不匹配“Documentation / ppc / ppc.html”或“tools / perf / Documentation / perf.html”。
與完整路徑名匹配的兩個連續星號(“`**`”)可能具有特殊含義:
* 前導“`**`”后跟斜杠表示在所有目錄中匹配。例如,“`**/foo`”在任何地方匹配文件或目錄“`foo`”,與模式“`foo`”相同。 “`**/foo/bar`”將文件或目錄“`bar`”匹配在“`foo`”目錄下的任何位置。
* 尾隨“`/**`”匹配內部的所有內容。例如,“`abc/**`”匹配目錄“abc”內的所有文件,相對于`.gitignore`文件的位置,具有無限深度。
* 斜杠后跟兩個連續的星號,然后斜杠匹配零個或多個目錄。例如,“`a/**/b`”匹配“`a/b`”,“`a/x/b`”,“`a/x/y/b`”等。
* 其他連續星號被視為無效。
Glob魔法與文字魔法不相容。
```
attr
```
在`attr:`出現空格分隔的“屬性要求”列表之后,必須滿足所有這些要求才能將路徑視為匹配;這是除了通常的非魔術pathpec模式匹配之外。見 [gitattributes [5]](https://git-scm.com/docs/gitattributes) 。
路徑的每個屬性要求都采用以下形式之一:
* “`ATTR`”要求設置屬性`ATTR`。
* “`-ATTR`”要求取消設置`ATTR`屬性。
* “`ATTR=VALUE`”要求將屬性`ATTR`設置為字符串`VALUE`。
* “`!ATTR`”要求未指定屬性`ATTR`。
請注意,在對樹對象進行匹配時,仍然可以從工作樹獲取屬性,而不是從給定的樹對象獲取屬性。
```
exclude
```
在路徑匹配任何非排除路徑規范后,它將運行所有排除路徑規范(魔術簽名:`!`或其同義詞`^`)。如果匹配,則忽略該路徑。如果沒有非排除路徑規范,則將排除應用于結果集,就像在沒有任何pathspec的情況下調用一樣。
```
parent
```
[提交對象](#def_commit_object)包含開發線中的邏輯前任(即其父項)的(可能是空的)列表。
```
pickaxe
```
術語 [pickaxe](#def_pickaxe) 是指diffcore例程的一個選項,它有助于選擇添加或刪除給定文本字符串的更改。使用`--pickaxe-all`選項,它可用于查看引入或刪除的完整[變更集](#def_changeset),例如特定的文本行。參見 [git-diff [1]](https://git-scm.com/docs/git-diff) 。
```
plumbing
```
[核心Git](#def_core_git) 的可愛名稱。
```
porcelain
```
程序和程序套件的可愛名稱取決于[核心Git](#def_core_git) ,提供對核心Git的高級訪問。與[管道](#def_plumbing)相比,瓷器暴露出更多的 [SCM](#def_SCM) 界面。
```
per-worktree ref
```
根據[工作樹](#def_working_tree)的參考,而不是全局。目前只有 [HEAD](#def_HEAD) 以及以`refs/bisect/`開頭的任何引用,但后來可能包括其他不尋常的引用。
```
pseudoref
```
Pseudorefs是`$GIT_DIR`下的一類文件,其行為類似于refs用于rev-parse,但是由git專門處理。偽數據都具有全大寫的名稱,并且始終以包含 [SHA-1](#def_SHA1) 后跟空格的行開頭。因此,HEAD不是偽目標,因為它有時是一個象征性的參考。它們可以選擇包含一些其他數據。 `MERGE_HEAD`和`CHERRY_PICK_HEAD`是示例。與 [per-worktree refs](#def_per_worktree_ref) 不同,這些文件不能是符號引用,也不會有reflog。它們也無法通過正常的ref更新機器進行更新。相反,它們通過直接寫入文件來更新。但是,它們可以被讀作好像是參考,因此`git rev-parse MERGE_HEAD`將起作用。
```
pull
```
拉[分支](#def_branch)意味著[獲取](#def_fetch)它和[合并](#def_merge)它。另見 [git-pull [1]](https://git-scm.com/docs/git-pull) 。
```
push
```
推動[分支](#def_branch)意味著從遠程[存儲庫](#def_repository)獲取分支的[頭部參考](#def_head_ref),找出它是否是分支的本地頭部參考的祖先,并且case,將[可以從本地head ref訪問的對象](#def_reachable)和遠程存儲庫中缺失的對象放入遠程[對象數據庫](#def_object_database),并更新遠程頭部ref。如果遠程[頭](#def_head)不是本地磁頭的祖先,則推送失敗。
```
reachable
```
給定[提交](#def_commit)的所有祖先都被認為是來自該提交的“可達”。更一般地說,一個[對象](#def_object)可以從另一個到達,如果我們可以通過[鏈](#def_chain)跟隨[標簽](#def_tag)到達另一個到它們標記的任何東西,[將](#def_commit_object)提交給他們的父母或樹木,將[樹](#def_tree_object)提交給他們所包含的樹木或 [blob](#def_blob_object) 。
```
rebase
```
要重新應用從[分支](#def_branch)到不同基數的一系列更改,并將該分支的[頭](#def_head)重置為結果。
```
ref
```
以`refs/`開頭的名稱(例如`refs/heads/master`)指向[對象名稱](#def_object_name)或另一個ref(后者稱為[符號ref](#def_symref) ))。為方便起見,當用作Git命令的參數時,ref有時可以縮寫;有關詳細信息,請參閱 [gitrevisions [7]](https://git-scm.com/docs/gitrevisions) 。 Refs存儲在[存儲庫](#def_repository)中。
ref命名空間是分層的。不同的子層次結構用于不同的目的(例如,`refs/heads/`層次結構用于表示本地分支)。
有一些特殊用途的參考不以`refs/`開頭。最值得注意的例子是`HEAD`。
```
reflog
```
reflog顯示ref的本地“歷史”。換句話說,它可以告訴你_這個_存儲庫中的第3個最后修訂是什么,以及昨天晚上9點14分_這個_存儲庫中的當前狀態是什么。有關詳細信息,請參閱 [git-reflog [1]](https://git-scm.com/docs/git-reflog) 。
```
refspec
```
[fetch](#def_fetch) 和 [push](#def_push) 使用“refspec”來描述遠程 [ref](#def_ref) 和本地ref之間的映射。
```
remote repository
```
[存儲庫](#def_repository),用于跟蹤同一個項目但位于其他地方。要與遙控器通信,請參閱[獲取](#def_fetch)或[按](#def_push)。
```
remote-tracking branch
```
[ref](#def_ref) ,用于跟蹤來自另一個[存儲庫](#def_repository)的更改。它通常看起來像 _refs / remotes / foo / bar_ (表示它在名為 _foo_ 的遙控器中跟蹤一個名為 _bar_ 的分支),并且匹配右邊 - 已配置的提取 [refspec](#def_refspec) 的手邊。遠程跟蹤分支不應包含直接修改或對其進行本地提交。
```
repository
```
[refs](#def_ref) 的集合以及[對象數據庫](#def_object_database),其中包含來自refs的[可達](#def_reachable)的所有對象,可能伴隨來自一個或多個[瓷器的元數據](#def_porcelain)。存儲庫可以通過[交替機制](#def_alternate_object_database)與其他存儲庫共享對象數據庫。
```
resolve
```
手動修復失敗的自動[合并](#def_merge)留下的動作。
```
revision
```
[commit](#def_commit) (名詞)的同義詞。
```
rewind
```
拋棄部分開發,即將[頭](#def_head)分配給早期[修訂版](#def_revision)。
```
SCM
```
源代碼管理(工具)。
```
SHA-1
```
“安全哈希算法1”;加密哈希函數。在Git的上下文中用作[對象名稱](#def_object_name)的同義詞。
```
shallow clone
```
通常是[淺存儲庫](#def_shallow_repository)的同義詞,但該短語使其更明確地表示它是通過運行`git clone --depth=...`命令創建的。
```
shallow repository
```
一個淺[存儲庫](#def_repository)有一個不完整的歷史,其中一些[提交](#def_commit)有[父母](#def_parent)燒灼(換句話說,Git被告知假裝這些提交沒有父母,即使他們被記錄在[提交對象](#def_commit_object)中)。當您僅對項目的近期歷史感興趣時,這有時很有用,即使上游記錄的真實歷史要大得多。通過向 [git-clone [1]](https://git-scm.com/docs/git-clone) 提供`--depth`選項來創建淺存儲庫,并且可以稍后使用 [git-fetch [1]](https://git-scm.com/docs/git-fetch) 加深其歷史記錄。
```
stash entry
```
[對象](#def_object)用于臨時存儲[臟](#def_dirty)工作目錄的內容和索引以供將來重用。
```
submodule
```
[存儲庫](#def_repository),用于保存另一個存儲庫中的單獨項目的歷史記錄(后者稱為 [superproject](#def_superproject) )。
```
superproject
```
[存儲庫](#def_repository),它將工作樹中其他項目的存儲庫作為[子模塊](#def_submodule)引用。超級項目知道所包含的子模塊的提交對象的名稱(但不包含其副本)。
```
symref
```
符號引用:它不是包含 [SHA-1](#def_SHA1) id本身,而是格式為 _ref:refs / some / thing_ ,并且在引用時,它遞歸地取消引用此引用。 _[HEAD](#def_HEAD) _是symref的主要示例。使用 [git-symbolic-ref [1]](https://git-scm.com/docs/git-symbolic-ref) 命令操縱符號引用。
```
tag
```
`refs/tags/`命名空間下的 [ref](#def_ref) 指向任意類型的對象(通常標簽指向[標簽](#def_tag_object)或[提交對象](#def_commit_object))。與[頭](#def_head)相反,`commit`命令不會更新標簽。 Git標簽與Lisp標簽無關(在Git的上下文中稱為[對象類型](#def_object_type))。標記最常用于標記提交祖先[鏈](#def_chain)中的特定點。
```
tag object
```
包含 [ref](#def_ref) 的[對象](#def_object)指向另一個對象,該對象可以包含類似[提交對象](#def_commit_object)的消息。它還可以包含(PGP)簽名,在這種情況下,它被稱為“簽名標記對象”。
```
topic branch
```
一個常規的Git [分支](#def_branch),開發人員用它來識別概念的開發線。由于分支非常容易且便宜,因此通常需要具有若干小分支,每個小分支包含非常明確定義的概念或小的增量但相關的變化。
```
tree
```
[工作樹](#def_working_tree)或[樹對象](#def_tree_object)與從屬 [blob](#def_blob_object) 和樹對象(即工作樹的存儲表示)一起。
```
tree object
```
包含文件名和模式列表的[對象](#def_object)以及對關聯的blob和/或樹對象的引用。 [樹](#def_tree)相當于[目錄](#def_directory)。
```
tree-ish (also treeish)
```
[樹對象](#def_tree_object)或[對象](#def_object),可以遞歸地解除引用到樹對象。解除引用[提交對象](#def_commit_object)產生對應于[修訂版](#def_revision)的頂部[目錄](#def_directory)的樹對象。以下是所有樹形圖: [commit-ish](#def_commit-ish) ,樹對象,指向樹對象的[標記對象](#def_tag_object),指向指向標記對象的標記對象到樹對象等
```
unmerged index
```
[索引](#def_index)包含未合并的[索引條目](#def_index_entry)。
```
unreachable object
```
來自[分支](#def_branch),[標簽](#def_tag)或任何其他參考的[對象](#def_object)不是[可到達的](#def_reachable)。
```
upstream branch
```
合并到相關分支中的默認[分支](#def_branch)(或者有問題的分支被重新分配到)。它通過分支配置。< name> .remote和branch。< name> .merge。如果 _A_ 的上游分支是_起源/ B_ ,有時我們說“ _A_ 正在追蹤_起源/ B_ ”。
```
working tree
```
實際簽出文件的樹。工作樹通常包含 [HEAD](#def_HEAD) 提交樹的內容,以及您已經進行但尚未提交的任何本地更改。
## 也可以看看
[gittutorial [7]](https://git-scm.com/docs/gittutorial) , [gittutorial-2 [7]](https://git-scm.com/docs/gittutorial-2) , [gitcvs-migration [7]](https://git-scm.com/docs/gitcvs-migration) , [giteveryday [7]](https://git-scm.com/docs/giteveryday) , [Git用戶手冊](user-manual.html)
## GIT
部分 [git [1]](https://git-scm.com/docs/git) 套件
- git
- git-config
- git-help
- git-init
- git-clone
- git-add
- git-status
- git-diff
- git-commit
- git-reset
- git-rm
- git-mv
- git-branch
- git-checkout
- git-merge
- git-mergetool
- git-log
- git-stash
- git-tag
- git-worktree
- git-fetch
- git-pull
- git-push
- git-remote
- git-submodule
- git-show
- git-log
- git-shortlog
- git-describe
- git-apply
- git-cherry-pick
- git-rebase
- git-revert
- git-bisect
- git-blame
- git-grep
- gitattributes
- giteveryday
- gitglossary
- githooks
- gitignore
- gitmodules
- gitrevisions
- gittutorial
- gitworkflows
- git-am
- git-format-patch
- git-send-email
- git-request-pull
- git-svn
- git-fast-import
- git-clean
- git-gc
- git-fsck
- git-reflog
- git-filter-branch
- git-instaweb
- git-archive
- git-bundle
- git-daemon
- git-update-server-info
- git-cat-file
- git-check-ignore
- git-checkout-index
- git-commit-tree
- git-count-objects
- git-diff-index
- git-for-each-ref
- git-hash-object
- git-ls-files
- git-merge-base
- git-read-tree
- git-rev-list
- git-rev-parse
- git-show-ref
- git-symbolic-ref
- git-update-index
- git-update-ref
- git-verify-pack
- git-write-tree