亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
Guides gitattributes giteveryday gitglossary gitignore gitmodules gitrevisions gittutorial gitworkflows Administration git archive git bundle git clean git filter-branch git fsck git gc git instaweb git reflog Basic Snapshotting git add git commit git diff git mv git reset git rm git status Branching and Merging git branch git checkout git log git merge git mergetool git stash git tag Debugging git bisect git blame git grep Email git am git format-patch git request-pull git send-email External Systems git fast-import git svn Getting and Creating Projects git clone git init Git git annotate git archimport git bisect-lk2009 git check-attr git check-mailmap git check-ref-format git checkout-index git cherry git citool git column git credential git credential-cache git credential-store git cvsexportcommit git cvsimport git cvsserver git diff-files git diff-tree git difftool git fast-export git fetch-pack git fmt-merge-msg git get-tar-commit-id git gui git http-backend git http-fetch git http-push git imap-send git index-pack git interpret-trailers git ls-remote git ls-tree git mailinfo git mailsplit git merge-file git merge-index git merge-one-file git merge-tree git mktag git mktree git name-rev git notes git p4 git pack-objects git pack-redundant git pack-refs git parse-remote git patch-id git prune git prune-packed git quiltimport git receive-pack git remote-ext git remote-fd git remote-testgit git repack git replace git rerere git send-pack git sh-i18n git sh-setup git shell git show-branch git show-index git stripspace git unpack-file git unpack-objects git upload-archive git upload-pack git var git verify-commit git verify-tag git whatchanged git worktree Inspection and Comparison git describe git shortlog git show Miscellaneous api credentials api index gitcli gitcore tutorial gitcredentials gitcvs migration gitdiffcore githooks gitk gitnamespaces gitremote helpers gitrepository layout gitsubmodules gittutorial 2 gitweb gitweb.conf pack format User Manual Patching git apply git cherry-pick git rebase git revert Plumbing Commands git cat-file git check-ignore 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 Server Admin git daemon git update-server-info Setup and Config git git config git help Sharing and Updating Projects git fetch git pull git push git remote git submodule
characters

Name

git  - 遲鈍的內(nèi)容跟蹤器

概要

git [--version] [--help] [-C <path>] [-c <name>=<value>]    [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]    [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]    [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]    [--super-prefix=<path>]    <command> [<args>]

描述

Git 是一個(gè)快速,可擴(kuò)展的分布式修訂控制系統(tǒng),具有異常豐富的命令集,可提供高級(jí)操作和對(duì)內(nèi)部的全面訪問。

請(qǐng)參閱 gittutorial [7] 開始,然后參閱 giteveryday [7] 以獲取有用的最小命令集。Git 用戶手冊(cè)有更深入的介紹。

掌握了基本概念之后,您可以回到此頁面來了解 Git 提供的命令。你可以通過“git help command”了解更多關(guān)于單個(gè) Git 命令的信息。gitcli [7]手冊(cè)頁為您提供了命令行命令語法的概述。

格式化和超鏈接的最新 Git 文檔可以在這里查看https://git.github.io/htmldocs/git.html

選項(xiàng)

--version

打印該git程序來自的 Git 套件版本。

--help

打印大綱和最常用命令的列表。如果選擇--all-a給出,則打印所有可用的命令。如果一個(gè) Git 命令被命名了,這個(gè)選項(xiàng)將會(huì)彈出該命令的手冊(cè)頁。

其他選項(xiàng)可用于控制手冊(cè)頁的顯示方式。請(qǐng)參閱 git-help [1] 以獲取更多信息,因?yàn)樗鼈?code>git --help ...被內(nèi)部轉(zhuǎn)換為git help ...

-C <path>

運(yùn)行就好像 git 是在<path>當(dāng)前工作目錄中開始的。當(dāng)-C給出多個(gè)選項(xiàng)時(shí),每個(gè)隨后的非絕對(duì)-C <path>都相對(duì)于前面的解釋-C <path>。

此選項(xiàng)會(huì)影響預(yù)期的路徑名的選項(xiàng)一樣--git-dir,并--work-tree在他們的路徑名的解釋,將相對(duì)于所造成的工作目錄進(jìn)行-C選擇。例如,以下調(diào)用是等同的:

git --git-dir=a.git --work-tree=b -C c status
git --git-dir=c/a.git --work-tree=c/b status

-c <name>=<value>

將配置參數(shù)傳遞給命令。給定的值將覆蓋配置文件中的值。預(yù)期 <name> 的格式與列出的格式相同git config(以小圓點(diǎn)分隔的子鍵)。

請(qǐng)注意,忽略=in git -c foo.bar ...是允許的,并設(shè)置foo.bar為布爾值 true(就像[foo]bar在配置文件中那樣)。包括等號(hào)但有一個(gè)空值(如git -c foo.bar= ...)設(shè)置foo.bargit config --bool將轉(zhuǎn)換為空字符串false

--exec-path=<path>

安裝核心 Git 程序的路徑。這也可以通過設(shè)置 GIT_EXEC_PATH 環(huán)境變量來控制。如果沒有給出路徑,git將打印當(dāng)前設(shè)置,然后退出。

--html-path

打印路徑,不加斜杠,其中安裝了 Git 的 HTML 文檔并退出。

--man-path

打印man(1)此版本 Git 手冊(cè)頁的 manpath(請(qǐng)參閱參考資料)并退出。

--info-path

打印記錄此版本 Git 的 Info 文件的安裝路徑并退出。

-p   --paginate

less如果標(biāo)準(zhǔn)輸出是終端,則將所有輸出管道(或者如果設(shè)置,則為 $ PAGER )。這會(huì)覆蓋pager.<cmd>配置選項(xiàng)(請(qǐng)參閱下面的“配置機(jī)制”部分)。

--no-pager

不要將 Git 輸出傳送到尋呼機(jī)。

--git-dir=<path>

設(shè)置存儲(chǔ)庫的路徑。這也可以通過設(shè)置GIT_DIR環(huán)境變量來控制。它可以是當(dāng)前工作目錄的絕對(duì)路徑或相對(duì)路徑。

--work-tree=<path>

設(shè)置工作樹的路徑。它可以是相對(duì)于當(dāng)前工作目錄的絕對(duì)路徑或路徑。這也可以通過設(shè)置 GIT_WORK_TREE 環(huán)境變量和 core.worktree 配置變量來控制(有關(guān)更詳細(xì)的討論,請(qǐng)參閱 git-config [1] 中的 core.worktree )。

--namespace=<path>

設(shè)置 Git 名稱空間。有關(guān)更多詳細(xì)信息,請(qǐng)參閱 gitnamespaces [7] 。相當(dāng)于設(shè)置GIT_NAMESPACE環(huán)境變量。

--super-prefix=<path>

目前僅供內(nèi)部使用。設(shè)置一個(gè)前綴,它提供從存儲(chǔ)庫上方到其根目錄的路徑。一個(gè)用途是給出調(diào)用它的超級(jí)項(xiàng)目的子模塊上下文。

--bare

將存儲(chǔ)庫視為裸存儲(chǔ)庫。如果未設(shè)置 GIT_DIR 環(huán)境,則將其設(shè)置為當(dāng)前工作目錄。

--no-replace-objects

不要使用替換參考來替換 Git 對(duì)象。有關(guān)更多信息,請(qǐng)參見 git-replace [1] 。

--literal-pathspecs

字面上處理 pathspecs(即沒有 globbing,沒有 pathspec magic)。這相當(dāng)于將GIT_LITERAL_PATHSPECS環(huán)境變量設(shè)置為1。

--glob-pathspecs

將“glob”魔法添加到所有 pathspec。這相當(dāng)于將GIT_GLOB_PATHSPECS環(huán)境變量設(shè)置為1。禁用單個(gè)路徑規(guī)范上的 globbing 可以使用 pathspec magic “:(literal)”來完成

--noglob-pathspecs

將“文字”魔法添加到所有 pathspec。這相當(dāng)于將GIT_NOGLOB_PATHSPECS環(huán)境變量設(shè)置為1??梢允褂? pathspec magic“:(glob)”來啟用單個(gè) pathspecs 上的 globbing

--icase-pathspecs

將“icase”魔法添加到所有 pathspec。這相當(dāng)于將GIT_ICASE_PATHSPECS環(huán)境變量設(shè)置為1。

Git commands

我們將 Git 分為高級(jí)(“瓷器”)命令和低級(jí)別(“管道”)命令。

High-level commands (porcelain)

我們將 porcelain 命令分成主要命令和一些輔助用戶實(shí)用程序。

主要的 porcelain 命令

git-add[1]

將文件內(nèi)容添加到索引

git-am[1]

從郵箱中應(yīng)用一系列修補(bǔ)程序

git-archive[1]

從命名樹創(chuàng)建文件的存檔

git-bisect[1]

使用二分查找找到引入錯(cuò)誤的提交

git-branch[1]

列出,創(chuàng)建或刪除分支

git-bundle[1]

通過歸檔移動(dòng)對(duì)象和引用

git-checkout[1]

切換分支或恢復(fù)工作樹文件

git-cherry-pick[1]

應(yīng)用一些現(xiàn)有提交引入的更改

git-citool[1]

git-commit 的圖形替代

git-clean[1]

從工作樹中刪除未跟蹤的文件

git-clone[1]

將存儲(chǔ)庫克隆到新目錄中

git-commit[1]

記錄對(duì)存儲(chǔ)庫的更改

git-describe[1]

描述一個(gè)提交,使用它可以訪問的最近的標(biāo)簽

git-diff[1]

在commits,commit 和 working tree 等之間顯示更改

git-fetch[1]

從另一個(gè)存儲(chǔ)庫下載對(duì)象和參考

git-format-patch[1]

準(zhǔn)備電子郵件提交 patches

git-gc[1]

清理不必要的文件并優(yōu)化本地存儲(chǔ)庫

git-grep[1]

打印符合圖案的線條

git-gui[1]

Git 的便攜式圖形界面

git-init[1]

創(chuàng)建一個(gè)空的 Git 存儲(chǔ)庫或重新初始化現(xiàn)有的存儲(chǔ)庫

gitk[1]

Git 存儲(chǔ)庫瀏覽器

git-log[1]

顯示提交日志

git-merge[1]

集合兩個(gè)或更多發(fā)展歷史

git-mv[1]

移動(dòng)或重命名文件,目錄或符號(hào)鏈接

git-notes[1]

添加或檢查對(duì)象注釋

git-pull[1]

從另一個(gè)存儲(chǔ)庫或本地分支中獲取并與其集成

git-push[1]

更新遠(yuǎn)程引用以及關(guān)聯(lián)的對(duì)象

git-rebase[1]

重新申請(qǐng)?jiān)诹硪粋€(gè)基本技巧之上提交

git-reset[1]

將當(dāng)前 HEAD 重置為指定狀態(tài)

git-revert[1]

恢復(fù)一些現(xiàn)有的提交

git-rm[1]

從工作樹和索引中刪除文件

git-shortlog[1]

總結(jié)git log輸出

git-show[1]

顯示各種類型的對(duì)象

git-stash[1]

將變化存儲(chǔ)在不完美的工作目錄中

git-status[1]

顯示工作樹的狀態(tài)

git-submodule[1]

初始化,更新或檢查子模塊

git-tag[1]

創(chuàng)建,列出,刪除或驗(yàn)證使用 GPG 簽名的標(biāo)簽對(duì)象

git-worktree[1]

管理多個(gè)工作樹

輔助命令

機(jī)器人:

git-config[1]

獲取并設(shè)置存儲(chǔ)庫或全局選項(xiàng)

git-fast-export[1]

Git 數(shù)據(jù)導(dǎo)出器

git-fast-import[1]

適用于快速 Git 數(shù)據(jù)導(dǎo)入器的后端

git-filter-branch[1]

重寫分支

git-mergetool[1]

運(yùn)行合并沖突解決工具來解決合并沖突

git-pack-refs[1]

打包首部和標(biāo)簽以實(shí)現(xiàn)有效的存儲(chǔ)庫訪問

git-prune[1]

修改對(duì)象數(shù)據(jù)庫中的所有不可達(dá)對(duì)象

git-reflog[1]

管理 reflog 信息

git-remote[1]

管理一組已跟蹤的存儲(chǔ)庫

git-repack[1]

將解包的對(duì)象打包到存儲(chǔ)庫中

git-replace[1]

創(chuàng)建,列出,刪除參考替換對(duì)象

讀寫器:

git-annotate[1]

用提交信息注釋文件行

git-blame[1]

顯示修訂版本和作者上次修改文件的每一行

git-cherry[1]

查找尚未應(yīng)用于上游的提交

git-count-objects[1]

計(jì)算未包裝的對(duì)象數(shù)量及其磁盤消耗量

git-difftool[1]

使用常見差異工具顯示更改

git-fsck[1]

驗(yàn)證數(shù)據(jù)庫中對(duì)象的連通性和有效性

git-get-tar-commit-id[1]

從使用 git-archive 創(chuàng)建的存檔中提取提交 ID

git-help[1]

顯示關(guān)于 Git 的幫助信息

git-instaweb[1]

在 gitweb 中即時(shí)瀏覽您的工作存儲(chǔ)庫

git-merge-tree[1]

無需觸摸索引即可顯示三路合并

git-rerere[1]

重復(fù)使用沖突合并的記錄分辨率

git-rev-parse[1]

選取并按摩參數(shù)

git-show-branch[1]

顯示分支和他們的提交

git-verify-commit[1]

檢查提交的 GPG 簽名

git-verify-tag[1]

檢查標(biāo)簽的GPG簽名

gitweb[1]

Git Web 界面(Git 倉庫的前端)

git-whatchanged[1]

顯示每個(gè)提交引入的差異日志

與他人互動(dòng)

這些命令將通過電子郵件補(bǔ)丁與外國 SCM 和其他人進(jìn)行交互。

git-archimport[1]

將 Arch 存儲(chǔ)庫導(dǎo)入到 Git 中

git-cvsexportcommit[1]

將單個(gè)提交導(dǎo)出到 CVS 簽出

git-cvsimport[1]

將您的數(shù)據(jù)從另一個(gè)人們常常不喜歡的 SCM 中拯救出來

git-cvsserver[1]

Git 的 CVS 服務(wù)器模擬器

git-imap-send[1]

從 stdin 將一組補(bǔ)丁發(fā)送到 IMAP 文件夾

git-p4[1]

從 Perforce 存儲(chǔ)庫導(dǎo)入和提交

git-quiltimport[1]

將一個(gè)被套補(bǔ)丁集應(yīng)用到當(dāng)前分支上

git-request-pull[1]

生成待定更改的摘要

git-send-email[1]

以電子郵件的形式發(fā)送一組修補(bǔ)程序

git-svn[1]

Subversion 版本庫和 Git 之間的雙向操作

低級(jí)命令(管道)

雖然 Git 包含自己的瓷器層,但其低級(jí)命令足以支持替代瓷器的開發(fā)。這些 porcelains 的開發(fā)人員可能從閱讀 git-update-index [1] 和 git-read-tree [1] 開始。

這些低級(jí)命令的接口(輸入,輸出,選項(xiàng)集和語義)比 Porcelain 級(jí)命令要穩(wěn)定得多,因?yàn)檫@些命令主要用于腳本使用。另一方面,Porcelain 命令的界面可能會(huì)發(fā)生變化,以改善最終用戶體驗(yàn)。

以下描述將低級(jí)命令劃分為操縱對(duì)象(在存儲(chǔ)庫,索引和工作樹中),查詢和比較對(duì)象的命令以及在存儲(chǔ)庫之間移動(dòng)對(duì)象和引用的命令。

操作命令

git-apply[1]

將修補(bǔ)程序應(yīng)用于文件和/或索引

git-checkout-index[1]

將索引中的文件復(fù)制到工作樹中

git-commit-tree[1]

創(chuàng)建一個(gè)新的提交對(duì)象

git-hash-object[1]

計(jì)算對(duì)象 ID 并可選擇從文件創(chuàng)建一個(gè) blob

git-index-pack[1]

為現(xiàn)有打包歸檔生成包索引文件

git-merge-file[1]

運(yùn)行三路文件合并

git-merge-index[1]

為需要合并的文件運(yùn)行合并

git-mktag[1]

創(chuàng)建一個(gè)標(biāo)簽對(duì)象

git-mktree[1]

從 ls-tree 格式的文本構(gòu)建一個(gè)樹對(duì)象

git-pack-objects[1]

創(chuàng)建對(duì)象的打包存檔

git-prune-packed[1]

刪除已經(jīng)在包文件中的額外對(duì)象

git-read-tree[1]

將樹信息讀入索引

git-symbolic-ref[1]

閱讀,修改和刪除符號(hào)參考

git-unpack-objects[1]

從打包的壓縮文件中解壓縮對(duì)象

git-update-index[1]

將工作樹中的文件內(nèi)容注冊(cè)到索引

git-update-ref[1]

安全地更新存儲(chǔ)在 ref 中的對(duì)象名稱

git-write-tree[1]

從當(dāng)前索引創(chuàng)建一個(gè)樹對(duì)象

詢問命令

git-cat-file[1]

為存儲(chǔ)庫對(duì)象提供內(nèi)容或類型和大小信息

git-diff-files[1]

比較工作樹中的文件和索引

git-diff-index[1]

將樹與工作樹或索引進(jìn)行比較

git-diff-tree[1]

比較通過兩個(gè)樹對(duì)象找到的斑點(diǎn)的內(nèi)容和模式

git-for-each-ref[1]

輸出每個(gè)參考信息

git-ls-files[1]

顯示有關(guān)索引和工作樹中文件的信息

git-ls-remote[1]

在遠(yuǎn)程存儲(chǔ)庫中列出引用

git-ls-tree[1]

列出樹對(duì)象的內(nèi)容

git-merge-base[1]

為合并找到盡可能好的共同上代

git-name-rev[1]

查找給定轉(zhuǎn)速的符號(hào)名稱

git-pack-redundant[1]

找到多余的包文件

git-rev-list[1]

按時(shí)間順序列出提交對(duì)象

git-show-index[1]

顯示打包歸檔索引

git-show-ref[1]

在本地存儲(chǔ)庫中列出引用

git-unpack-file[1]

用 blob 的內(nèi)容創(chuàng)建一個(gè)臨時(shí)文件

git-var[1]

顯示一個(gè) Git 邏輯變量

git-verify-pack[1]

驗(yàn)證打包的 Git 存檔文件

通常,詢問命令不會(huì)觸摸工作樹中的文件。

同步存儲(chǔ)庫

git-daemon[1]

一個(gè)非常簡單的 Git 倉庫服務(wù)器

git-fetch-pack[1]

從另一個(gè)存儲(chǔ)庫接收丟失的對(duì)象

git-http-backend[1]

服務(wù)器端通過 HTTP 實(shí)現(xiàn) Git

git-send-pack[1]

將對(duì)象通過 Git 協(xié)議推送到另一個(gè)存儲(chǔ)庫

git-update-server-info[1]

更新輔助信息文件以幫助遲鈍的服務(wù)器

以下是上述使用的幫助程序命令; 最終用戶通常不會(huì)直接使用它們。

git-http-fetch[1]

通過 HTTP 從遠(yuǎn)程 Git 存儲(chǔ)庫下載

git-http-push[1]

通過 HTTP / DAV 將對(duì)象推送到另一個(gè)存儲(chǔ)庫

git-parse-remote[1]

幫助解析遠(yuǎn)程存儲(chǔ)庫訪問參數(shù)的例程

git-receive-pack[1]

接收推入存儲(chǔ)庫的內(nèi)容

git-shell[1]

僅 Git-only SSH 訪問的受限登錄 shell

git-upload-archive[1]

將檔案發(fā)送回 git-archive

git-upload-pack[1]

將對(duì)象發(fā)送回 git-fetch-pack

內(nèi)部幫助程序命令

這些是其他命令使用的內(nèi)部幫助程序命令; 最終用戶通常不會(huì)直接使用它們。

git-check-attr[1]

顯示 gitattributes 信息

git-check-ignore[1]

調(diào)試 gitignore /排除 文件

git-check-mailmap[1]

顯示聯(lián)系人的規(guī)范名稱和電子郵件地址

git-check-ref-format[1]

確保參考名稱格式正確

git-column[1]

以列的形式顯示數(shù)據(jù)

git-credential[1]

檢索并存儲(chǔ)用戶憑證

git-credential-cache[1]

助手臨時(shí)將密碼存儲(chǔ)在內(nèi)存中

git-credential-store[1]

助手將憑據(jù)存儲(chǔ)在磁盤上

git-fmt-merge-msg[1]

生成合并提交消息

git-interpret-trailers[1]

幫助將結(jié)構(gòu)化信息添加到提交消息

git-mailinfo[1]

從單個(gè)電子郵件中提取補(bǔ)丁和作者身份

git-mailsplit[1]

簡單的 UNIX mbox 分離器程序

git-merge-one-file[1]

與 git-merge-index 一起使用的標(biāo)準(zhǔn)幫助程序

git-patch-id[1]

計(jì)算補(bǔ)丁的唯一 ID

git-sh-i18n[1]

Git 的 shell 腳本的 i18n 設(shè)置代碼

git-sh-setup[1]

常見的 Git shell 腳本設(shè)置代碼

git-stripspace[1]

刪除不必要的空白

配置機(jī)制

Git 使用簡單的文本格式來存儲(chǔ)每個(gè)存儲(chǔ)庫和每個(gè)用戶的定制。這樣的配置文件可能如下所示:

#
# A '#' or ';' character indicates a comment.#; core variables[core]        ; Don't trust file modes
        filemode = false; user identity[user]
        name = "Junio C Hamano"
        email = "gitster@pobox.com"

從配置文件讀取各種命令并相應(yīng)地調(diào)整其操作。有關(guān)配置機(jī)制的列表和更多詳細(xì)信息,請(qǐng)參閱 git-config [1]。

標(biāo)識(shí)符術(shù)語

<object>

指示任何類型對(duì)象的對(duì)象名稱。

<blob>

指示一個(gè) blob 對(duì)象名稱。

<tree>

指示樹對(duì)象名稱。

<commit>

指示提交對(duì)象名稱。

<tree-ish>

指示樹,提交或標(biāo)記對(duì)象名稱。接受 <tree-ish> 參數(shù)的命令最終希望對(duì) <tree> 對(duì)象進(jìn)行操作,但是會(huì)自動(dòng)將 <commit> 和 <tag> 對(duì)象的 dereference 指向 <tree> 。

<commit-ish>

指示提交或標(biāo)記對(duì)象名稱。采用 <commit-ish> 參數(shù)的命令最終希望對(duì) <commit> 對(duì)象進(jìn)行操作,但是會(huì)自動(dòng)對(duì)指向 <commit> 的 <tag> 對(duì)象取消引用。

<type>

表示需要一個(gè)對(duì)象類型。目前的一個(gè):blob,treecommit,或tag。

<file>

指示文件名 - 幾乎總是相對(duì)于樹結(jié)構(gòu)的根GIT_INDEX_FILE描述。

符號(hào)標(biāo)識(shí)符

任何接受任何 <object> 的 Git 命令都可以使用以下符號(hào)表示法:

HEAD

表示當(dāng)前分支的 head 。

<tag>

一個(gè)有效的標(biāo)簽name(即refs/tags/<tag>參考)。

<head>

一個(gè)有效的 head name(即refs/heads/<head>參考)。

有關(guān)拼寫對(duì)象名稱的更完整列表,請(qǐng)參閱 gitrevisions [7] 中的“指定修訂”部分。

文件/目錄結(jié)構(gòu)

請(qǐng)參閱 gitrepository-layout [5] 文檔。

閱讀 githooks [5] 了解每個(gè) hook 的更多細(xì)節(jié)。

更高層次的 SCM 可能會(huì)提供和管理附加信息$GIT_DIR。

術(shù)語

請(qǐng)參閱 gitglossary [7] 。

環(huán)境變量

各種 Git 命令使用以下環(huán)境變量:

Git 庫

這些環(huán)境變量適用于all核心 Git 命令。鈮:值得注意的是,他們可能會(huì)被 SCMS 使用/覆蓋,因此如果使用外部前端,請(qǐng)注意。

GIT_INDEX_FILE

該環(huán)境允許指定備用索引文件。如果未指定,$GIT_DIR/index則使用默認(rèn)值。

GIT_INDEX_VERSION

此環(huán)境變量允許為新存儲(chǔ)庫指定索引版本。它不會(huì)影響現(xiàn)有的索引文件。默認(rèn)使用索引文件版本2或3。有關(guān)更多信息,請(qǐng)參閱 git-update-index [1] 。

GIT_OBJECT_DIRECTORY

如果通過此環(huán)境變量指定了對(duì)象存儲(chǔ)目錄,則在下面創(chuàng)建 sha1 目錄 - 否則使用默認(rèn)$GIT_DIR/objects目錄。

GIT_ALTERNATE_OBJECT_DIRECTORIES

由于 Git 對(duì)象的不變性質(zhì),舊對(duì)象可以歸檔到共享的只讀目錄中。這個(gè)變量指定了一個(gè)“:”分隔的(在 Windows “;” 分隔的) Git 對(duì)象目錄列表,可以用來搜索 Git 對(duì)象。新對(duì)象不會(huì)寫入這些目錄。

Entries that begin with `"` (double-quote) will be interpretedas C-style quoted paths, removing leading and trailing
double-quotes and respecting backslash escapes. E.g., the value`"path-with-\"-and-:-in-it":vanilla-path` has two paths:`path-with-"-and-:-in-it` and `vanilla-path`.

GIT_DIR

如果GIT_DIR設(shè)置了環(huán)境變量,那么它將指定一個(gè)要使用的路徑,而不是指定.git存儲(chǔ)庫基礎(chǔ)的缺省路徑。該--git-dir命令行選項(xiàng)還設(shè)置這個(gè)值。

GIT_WORK_TREE

將路徑設(shè)置為工作樹的根目錄。這也可以通過--work-tree命令行選項(xiàng)和 core.worktree 配置變量來控制。

GIT_NAMESPACE

設(shè)置 Git 名稱空間; 有關(guān)詳細(xì)信息,請(qǐng)參閱 gitnamespaces [7] 。該--namespace命令行選項(xiàng)還設(shè)置這個(gè)值。

GIT_CEILING_DIRECTORIES

這應(yīng)該是以冒號(hào)分隔的絕對(duì)路徑列表。如果設(shè)置了,那么當(dāng)查找存儲(chǔ)庫目錄時(shí)(這對(duì)于排除慢速加載網(wǎng)絡(luò)目錄很有用),它是 Git 不應(yīng)該查找的目錄列表。它不會(huì)排除當(dāng)前工作目錄或在命令行或環(huán)境中設(shè)置的 GIT_DIR 。通常,Git 必須讀取此列表中的條目并解析可能存在的任何符號(hào)鏈接,以便將它們與當(dāng)前目錄進(jìn)行比較。但是,如果訪問速度很慢,則可以向列表中添加一個(gè)空條目,以告知 Git 后續(xù)條目不是符號(hào)鏈接并且不需要解析; 例如GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink。

GIT_DISCOVERY_ACROSS_FILESYSTEM

當(dāng)在沒有“.git”存儲(chǔ)庫目錄的目錄中運(yùn)行時(shí),Git 會(huì)嘗試在父目錄中找到這樣一個(gè)目錄以查找工作樹的頂部,但默認(rèn)情況下它不會(huì)跨越文件系統(tǒng)邊界。這個(gè)環(huán)境變量可以設(shè)置為 true 來告訴 Git 不要停在文件系統(tǒng)邊界。就像這樣GIT_CEILING_DIRECTORIES,這不會(huì)影響通過GIT_DIR命令行或通過命令行設(shè)置的顯式存儲(chǔ)庫目錄。

GIT_COMMON_DIR

如果將此變量設(shè)置為路徑,則通常位于 $ GIT_DIR 中的非工作文件文件將取自此路徑。HEAD 或索引等工作特定的文件來自 $ GIT_DIR 。有關(guān)詳細(xì)信息,請(qǐng)參閱 gitrepository-layout [5] 和 git-worktree [1] 。此變量的優(yōu)先級(jí)低于其他路徑變量,如 GIT_INDEX_FILE,GIT_OBJECT_DIRECTORY ...

Git 提交

GIT_AUTHOR_NAME   GIT_AUTHOR_EMAIL   GIT_AUTHOR_DATE   GIT_COMMITTER_NAME   GIT_COMMITTER_EMAIL   GIT_COMMITTER_DATE   EMAIL

see git-commit-tree[1]

Git Diffs

GIT_DIFF_OPTS

只有有效的設(shè)置是 “--unified = ??” 或 “-u ??” 設(shè)置創(chuàng)建統(tǒng)一差異時(shí)顯示的上下文行數(shù)。這優(yōu)先于在 Git diff 命令行上傳遞的任何 “-U” 或 “--unified” 選項(xiàng)值。

GIT_EXTERNAL_DIFF

當(dāng)設(shè)置環(huán)境變量時(shí)GIT_EXTERNAL_DIFF,將調(diào)用由其命名的程序,而不是上述的差異調(diào)用。對(duì)于添加,刪除或修改的路徑,將GIT_EXTERNAL_DIFF使用7個(gè)參數(shù)調(diào)用:

path old-file old-hex old-mode new-file new-hex new-mode

哪里:

<old|new>-file

是 GIT_EXTERNAL_DIFF 可用于讀取 <old | new> 的內(nèi)容的文件,

<old|new>-hex

是 40-hexdigit SHA-1 散列,

<old|new>-mode

是用文件模式的八進(jìn)制表示。

文件參數(shù)可以指向用戶的工作文件(例如,new-file在 “git-diff-files” 中),/dev/null(例如,old-file當(dāng)添加新文件時(shí))或臨時(shí)文件(例如old-file在索引中)。GIT_EXTERNAL_DIFF不應(yīng)該擔(dān)心取消臨時(shí)文件的鏈接 - GIT_EXTERNAL_DIFF退出時(shí)會(huì)將其刪除。

對(duì)于未合并的路徑,GIT_EXTERNAL_DIFF使用1參數(shù)調(diào)用 <path> 。

為每個(gè)路徑GIT_EXTERNAL_DIFF調(diào)用兩個(gè)環(huán)境變量,GIT_DIFF_PATH_COUNTERGIT_DIFF_PATH_TOTAL進(jìn)行設(shè)置。

GIT_DIFF_PATH_COUNTER

對(duì)于每個(gè)路徑,基于1的計(jì)數(shù)器都加1。

GIT_DIFF_PATH_TOTAL

路徑的總數(shù)。

其他

GIT_MERGE_VERBOSITY

一個(gè)數(shù)字,用于控制遞歸合并策略所顯示的輸出量。重寫 merge.verbosity。見 git-merge [1]

GIT_PAGER

這個(gè)環(huán)境變量覆蓋$PAGER。如果它設(shè)置為空字符串或值“cat”,Git 將不會(huì)啟動(dòng)尋呼機(jī)。另請(qǐng)參閱core.pager git-config [1] 中的選項(xiàng)。

GIT_EDITOR

這個(gè)環(huán)境變量覆蓋$EDITOR$VISUAL。當(dāng)在交互模式下,編輯器將被啟動(dòng)時(shí),它被幾個(gè) Git 命令使用。另請(qǐng)參閱 git-var [1] 和core.editor git-config [1] 中的選項(xiàng)。

GIT_SSH   GIT_SSH_COMMAND

如果這些環(huán)境變量的設(shè)置,那么git fetchgit push將使用指定的命令,而不是ssh當(dāng)他們需要連接到遠(yuǎn)程系統(tǒng)。該命令將只有兩個(gè)或四個(gè)參數(shù):(username@host或者僅僅host)來自 URL 和 shell 命令,以便在遠(yuǎn)程系統(tǒng)上執(zhí)行,可選地,前面的-p(字面意思)和port URL 指定的內(nèi)容不是默認(rèn)的 SSH 港口。

$GIT_SSH_COMMAND優(yōu)先于$GIT_SSH,并且由 shell 解釋,這允許包括額外的參數(shù)。$GIT_SSH另一方面必須是程序的路徑(如果需要額外的參數(shù),它可以是包裝程序的外殼腳本)。

通常情況下,通過個(gè)人.ssh/config文件配置任何所需的選項(xiàng)比較容易。有關(guān)更多詳細(xì)信息,請(qǐng)參閱您的 ssh 文檔。

GIT_SSH_VARIANT

如果這個(gè)環(huán)境變量設(shè)置,它將覆蓋 Git 的自動(dòng)檢測是否GIT_SSH/ GIT_SSH_COMMAND/ core.sshCommand參考的 OpenSSH ,plink 或 TortoisePlink。該變量覆蓋了ssh.variant用于相同目的的配置設(shè)置。

GIT_ASKPASS

如果設(shè)置了此環(huán)境變量,那么需要獲取密碼或密碼(例如,用于HTTP或IMAP身份驗(yàn)證)的 Git 命令將使用適當(dāng)?shù)奶崾咀鳛槊钚袇?shù)調(diào)用該程序,并從其 STDOUT 讀取密碼。另請(qǐng)參閱core.askPass git-config [1] 中的選項(xiàng)。

GIT_TERMINAL_PROMPT

如果此環(huán)境變量設(shè)置為0,則git不會(huì)在終端上提示(例如,請(qǐng)求 HTTP 身份驗(yàn)證時(shí))。

GIT_CONFIG_NOSYSTEM

是否跳過從系統(tǒng)范圍$(prefix)/etc/gitconfig文件讀取設(shè)置。此環(huán)境變量可以搭配一起$HOME,并$XDG_CONFIG_HOME為挑剔的腳本來創(chuàng)建一個(gè)可預(yù)測的環(huán)境,也可以暫時(shí)將其設(shè)置為避免使用 buggy /etc/gitconfig文件,而等待有人具有足夠的權(quán)限來修復(fù)它。

GIT_FLUSH

如果該環(huán)境變量被設(shè)置為“1”,則命令,比如git blame(在增量模式下),git rev-list ,git loggit check-attrgit check-ignore 將迫使輸出流的一個(gè)齊平的每個(gè)記錄已經(jīng)刷新之后。如果此變量設(shè)置為“0”,則這些命令的輸出將使用完全緩沖的 I / O 完成。如果這個(gè)環(huán)境變量沒有設(shè)置,Git 會(huì)根據(jù)標(biāo)準(zhǔn)輸出是否被重定向到文件來選擇緩沖或面向記錄的刷新。

GIT_TRACE

啟用常規(guī)跟蹤消息,例如別名擴(kuò)展,內(nèi)置命令執(zhí)行和外部命令執(zhí)行。

如果此變量設(shè)置為“1”,“2”或“true”(比較不區(qū)分大小寫),則跟蹤消息將會(huì)被打印到 stderr。

如果變量設(shè)置為大于2且小于10的整數(shù)值(嚴(yán)格),那么 Git 會(huì)將此值解釋為打開的文件描述符,并嘗試將跟蹤消息寫入此文件描述符。

或者,如果變量設(shè)置為絕對(duì)路徑(以/字符開頭),Git 會(huì)將其解釋為文件路徑,并嘗試將跟蹤消息寫入其中。

取消設(shè)置變量或?qū)⑵湓O(shè)置為空,“0”或“false”(不區(qū)分大小寫)將禁用跟蹤消息。

GIT_TRACE_PACK_ACCESS

為所有包訪問啟用跟蹤消息。對(duì)于每次訪問,都會(huì)記錄包中的包文件名和偏移量。這可能有助于解決某些與包相關(guān)的性能問題。請(qǐng)參閱GIT_TRACE可用的跟蹤輸出選項(xiàng)。

GIT_TRACE_PACKET

為進(jìn)入或離開給定程序的所有數(shù)據(jù)包啟用跟蹤消息。這可以幫助調(diào)試對(duì)象協(xié)商或其他協(xié)議問題。在以“PACK”開頭的數(shù)據(jù)包中關(guān)閉跟蹤(但見GIT_TRACE_PACKFILE下文)。請(qǐng)參閱GIT_TRACE可用的跟蹤輸出選項(xiàng)。

GIT_TRACE_PACKFILE

啟用對(duì)給定程序發(fā)送或接收的包文件的跟蹤。與其他跟蹤輸出不同,此跟蹤是逐字的:沒有標(biāo)題,也沒有引用二進(jìn)制數(shù)據(jù)。你幾乎肯定希望直接進(jìn)入一個(gè)文件(例如GIT_TRACE_PACKFILE=/tmp/my.pack),而不是在終端上顯示它或?qū)⑺c其他跟蹤輸出混合。

請(qǐng)注意,目前這只適用于克隆和提取的客戶端。

GIT_TRACE_PERFORMANCE

啟用性能相關(guān)的跟蹤消息,例如每個(gè) Git 命令的總執(zhí)行時(shí)間。請(qǐng)參閱GIT_TRACE可用的跟蹤輸出選項(xiàng)。

GIT_TRACE_SETUP

在 Git 完成設(shè)置階段后,啟用跟蹤消息打印 .git ,工作樹和當(dāng)前工作目錄。請(qǐng)參閱GIT_TRACE可用的跟蹤輸出選項(xiàng)。

GIT_TRACE_SHALLOW

啟用可幫助調(diào)試淺存儲(chǔ)庫的提取/克隆的跟蹤消息。請(qǐng)參閱GIT_TRACE可用的跟蹤輸出選項(xiàng)。

GIT_TRACE_CURL

啟用 git 傳輸協(xié)議的所有傳入和傳出數(shù)據(jù)(包括描述性信息)的卷曲完全跟蹤轉(zhuǎn)儲(chǔ)。這與--trace-ascii在命令行上進(jìn)行卷曲相似。該選項(xiàng)將覆蓋設(shè)置GIT_CURL_VERBOSE環(huán)境變量。請(qǐng)參閱GIT_TRACE可用的跟蹤輸出選項(xiàng)。

GIT_LITERAL_PATHSPECS

設(shè)置這個(gè)變量1將導(dǎo)致 Git 字面上處理所有的 pathspecs ,而不是作為 glob 模式。例如,運(yùn)行GIT_LITERAL_PATHSPECS=1 git log -- '*.c'將搜索觸摸該路徑的提交*.c,而不搜索該 glob *.c匹配的任何路徑。如果你正在向 Git 提供文字路徑(例如,先前給出的路徑git ls-tree--raw diff 輸出等),你可能會(huì)想要這樣做。

GIT_GLOB_PATHSPECS

設(shè)置這個(gè)變量1將導(dǎo)致 Git 將所有的 pathspecs 視為 glob 模式(又名“glob” magic )。

GIT_NOGLOB_PATHSPECS

設(shè)置這個(gè)變量1將導(dǎo)致 Git 將所有的 pathspecs 視為文字(又名 “l(fā)iteral” magic )。

GIT_ICASE_PATHSPECS

設(shè)置這個(gè)變量1將使 Git 將所有的 pathspecs 視為不區(qū)分大小寫。

GIT_REFLOG_ACTION

當(dāng) ref 被更新時(shí),reflog 條目被創(chuàng)建以跟蹤 ref 為什么被更新的原因(通常是更新 ref 的高級(jí)命令的名稱),以及舊的和新的 ref 值。腳本 Porcelain 命令可以使用 set_reflog_action 輔助函數(shù)git-sh-setup將其名稱設(shè)置為該變量,當(dāng)它由最終用戶作為頂級(jí)命令調(diào)用時(shí),將記錄在 reflog 的主體中。

GIT_REF_PARANOIA

如果設(shè)置為1,則在遍歷參考列表時(shí)包含破損或嚴(yán)重名稱的參考。在一個(gè)正常的,沒有損壞的存儲(chǔ)庫中,這沒有任何作用。但是,啟用它可能會(huì)幫助 git 檢測并中止一些操作,在出現(xiàn)斷點(diǎn)的情況下。Git 在執(zhí)行破壞性操作(如 git-prune [1] )時(shí)會(huì)自動(dòng)設(shè)置此變量。你不需要自己設(shè)置它,除非你想要確保一個(gè)操作觸及每個(gè)參考(例如,因?yàn)槟阏诳寺∫粋€(gè)存儲(chǔ)庫來進(jìn)行備份)而偏執(zhí)。

GIT_ALLOW_PROTOCOL

如果設(shè)置為以冒號(hào)分隔的協(xié)議列表,則表現(xiàn)得好像protocol.allow設(shè)置為never,并且列出的每個(gè)協(xié)議都已protocol.<name>.allow設(shè)置為always(覆蓋任何現(xiàn)有配置)。換句話說,任何未提及的協(xié)議都將被禁止(即,這是白名單,而不是黑名單)。有關(guān)protocol.allow更多詳細(xì)信息,請(qǐng)參閱 git-config [1] 中的說明。

GIT_PROTOCOL_FROM_USER

設(shè)置為0可防止配置為該user狀態(tài)的 fetch / push / clone 使用的協(xié)議。這對(duì)于限制來自不受信任的存儲(chǔ)庫的遞歸子模塊初始化或?qū)⒖赡懿豢尚诺?URL 提供給 git 命令的程序是有用的。有關(guān)更多詳細(xì)信息,請(qǐng)參閱 git-config [1] 。

討論

有關(guān)以下內(nèi)容的更多詳細(xì)信息,請(qǐng)參閱用戶手冊(cè)和 gitcore-tutorial [7] 的 Git 概念一章。

一個(gè) Git 項(xiàng)目通常包含一個(gè)工作目錄,頂層有一個(gè) “.git” 子目錄。.git 目錄包含一個(gè)表示項(xiàng)目完整歷史記錄的壓縮對(duì)象數(shù)據(jù)庫,一個(gè)將歷史鏈接到工作樹的當(dāng)前內(nèi)容的 “index” 文件,以及指向該歷史記錄的指針,如標(biāo)簽和分支頭。

對(duì)象數(shù)據(jù)庫包含三種主要類型的對(duì)象:blob ,它保存文件數(shù)據(jù); 指向 blob 和其他樹來建立目錄層次結(jié)構(gòu); 和提交,每個(gè)引用一棵樹和一些父類提交。

該提交等同于其他系統(tǒng)稱為“變更集”或“版本”的提交,代表項(xiàng)目歷史記錄中的一個(gè)步驟,每個(gè)父代代表緊接的前一個(gè)步驟。承諾與多個(gè)父母代表合并獨(dú)立的發(fā)展線。

所有對(duì)象都由其內(nèi)容的 SHA-1 散列命名,通常寫為40個(gè)十六進(jìn)制數(shù)字的字符串。這些名稱是全球唯一的。通過對(duì)提交進(jìn)行簽名,可以確保導(dǎo)致提交的整個(gè)歷史記錄。為此提供了第四種對(duì)象類型,即標(biāo)簽。

首次創(chuàng)建時(shí),對(duì)象存儲(chǔ)在單個(gè)文件中,但為了提高效率,以后可以一起壓縮成“包文件”。

命名為 refs 的指針標(biāo)記歷史中的有趣點(diǎn)。一個(gè) ref 可以包含一個(gè)對(duì)象的 SHA-1 名稱或另一個(gè) ref 的名稱。名稱開頭的引用ref/head/包含正在開發(fā)的分支的最近提交(或“頭”)的 SHA-1 名稱。下面存儲(chǔ)感興趣標(biāo)簽的 SHA-1 名稱ref/tags/。一個(gè)名為 ref 的特殊 ref HEAD包含當(dāng)前簽出分支的名稱。

索引文件使用所有路徑的列表進(jìn)行初始化,并且對(duì)于每個(gè)路徑,都會(huì)創(chuàng)建一個(gè) Blob 對(duì)象和一組屬性。blob 對(duì)象代表當(dāng)前分支頭部的文件內(nèi)容。屬性(上次修改時(shí)間,大小等)取自工作樹中的相應(yīng)文件。通過比較這些屬性可以找到對(duì)工作樹的后續(xù)更改。索引可以用新內(nèi)容更新,并且可以從存儲(chǔ)在索引中的內(nèi)容創(chuàng)建新的提交。

該索引還能夠存儲(chǔ)給定路徑名的多個(gè)條目(稱為“階段”)。這些階段用于在合并進(jìn)行時(shí)保存文件的各種未合并版本。

更多文檔

請(qǐng)參閱“說明”部分中的參考資料以開始使用 Git 。以下內(nèi)容可能比第一次使用用戶需要的更詳細(xì)。

用戶手冊(cè)和 gitcore-tutorial [7] 中的 Git 概念章節(jié)都介紹了底層的 Git 體系結(jié)構(gòu)。

有關(guān)推薦的工作流程概述,請(qǐng)參閱 gitworkflows [7] 。

有關(guān)有用的示例,另請(qǐng)參閱 howto 文檔。

內(nèi)部信息記錄在 Git API 文檔中。

從 CVS 遷移的用戶也可能需要閱讀 gitcvs-migration [7] 。

作者

Git 由 Linus Torvalds 創(chuàng)建,目前由 Junio C Hamano 維護(hù)。許多貢獻(xiàn)來自 Git 郵件列表 [git@vger.kernel.org](mailto:git@vger.kernel.org)。http://www.openhub.net/p/git/contributors/summary為您提供了更完整的貢獻(xiàn)者名單。

如果你有一個(gè) git.git 本身的副本,git-shortlog [1] 和 git-blame [1] 的輸出可以顯示作者的項(xiàng)目特定部分。

報(bào)告錯(cuò)誤

將錯(cuò)誤報(bào)告給開發(fā)和維護(hù)主要完成的 Git 郵件列表[git@vger.kernel.org](mailto:git@vger.kernel.org)。您無需訂閱該列表即可在該處發(fā)送消息。

Previous article: Next article: