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

ディレクトリ 検索
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
テキスト

命名

git-config  - 獲取并設置存儲庫或全局選項

概要

git config [<file-option>] [type] [--show-origin] [-z|--null] name [value [value_regex]]git config [<file-option>] [type] --add name value
git config [<file-option>] [type] --replace-all name value [value_regex]git config [<file-option>] [type] [--show-origin] [-z|--null] --get name [value_regex]git config [<file-option>] [type] [--show-origin] [-z|--null] --get-all name [value_regex]git config [<file-option>] [type] [--show-origin] [-z|--null] [--name-only] --get-regexp name_regex [value_regex]git config [<file-option>] [type] [-z|--null] --get-urlmatch name URL
git config [<file-option>] --unset name [value_regex]git config [<file-option>] --unset-all name [value_regex]git config [<file-option>] --rename-section old_name new_name
git config [<file-option>] --remove-section name
git config [<file-option>] [--show-origin] [-z|--null] [--name-only] -l | --list
git config [<file-option>] --get-color name [default]git config [<file-option>] --get-colorbool name [stdout-is-tty]git config [<file-option>] -e | --edit

描述

您可以使用此命令查詢/設置/替換/取消設置選項。名稱實際上是由點分隔的部分和鍵,并且該值將被轉(zhuǎn)義。

通過使用該--add選項可以將多行添加到選項。如果您想要更新或取消可能出現(xiàn)在多行上的選項,則value_regex需要提供 POSIX 正則表達式。只有與正則表達式匹配的現(xiàn)有值才會更新或取消設置。如果要處理與正則表達式匹配的行,只需在前面添加一個感嘆號(另請參閱示例)。

類型說明符可以是--int或者--bool,以git config確保變量具有給定類型并將該值轉(zhuǎn)換為規(guī)范形式(對于int為簡單十進制數(shù),對于 bool 為 “true” 或 “false” 字符串),或者--path,它做了一些路徑擴展(見--path下文)。如果沒有傳入類型說明符,則不會對該值執(zhí)行檢查或轉(zhuǎn)換。

讀取時,值從系統(tǒng)中,默認情況下,全局和本地資源庫的配置文件,并選擇閱讀--system,--global--local--file <filename>可以用來告訴命令只從該位置(查看文件)來讀取。

書寫時,新的值寫入到默認,并選擇存儲庫本地配置文件--system--global,--file <filename>可以用來告訴命令寫入到該位置(你可以說--local那不過是默認值)。

這個命令在發(fā)生錯誤時將失敗并顯示非零狀態(tài)。一些退出代碼是:

  • 該部分或鍵無效(ret = 1),

  • 沒有提供部分或名稱(ret = 2),

  • 配置文件無效(ret = 3),

  • 配置文件不能被寫入(ret = 4),

  • 你嘗試去掉一個不存在的選項(ret = 5),

  • 您嘗試取消設置/設置多行匹配的選項(ret = 5)或

  • 您嘗試使用無效的正則表達式(ret = 6)。

成功時,該命令返回退出代碼0。

選項

--replace-all

默認行為是最多替換一行。這將替換與該鍵匹配的所有行(以及可選的 value_regex )。

--add

在選項中添加新行而不更改任何現(xiàn)有值。這與提供^$ value_regex in 相同--replace-all

--get

獲取給定鍵的值(可選用與值匹配的正則表達式進行過濾)。如果未找到該鍵,則返回錯誤代碼1,如果找到多個鍵值,則返回上一個值。

--get-all

像 get 一樣,但返回多值鍵的所有值。

--get-regexp

像--get-all一樣,但將該名稱解釋為正則表達式并寫出鍵名稱。正則表達式匹配目前是區(qū)分大小寫的,并且針對小節(jié)和變量名稱小寫的密鑰的規(guī)范化版本進行,但小節(jié)名稱不是。

--get-urlmatch name URL

當給定一個由兩部分組成的名稱 section.key 時,會返回部分 <url> .key 的值,該部分的 <url> 部分與給定 URL 匹配的最佳部分將返回(如果不存在此類鍵,則使用 section.key 的值作為后備)。當僅給出該部分作為名稱時,請為該部分中的所有鍵執(zhí)行此操作并列出它們。如果找不到值,則返回錯誤代碼1。

--global

對于編寫選項:寫入全局~/.gitconfig文件而不是存儲庫.git/config$XDG_CONFIG_HOME/git/config如果此文件存在且~/.gitconfig文件不存在,則寫入文件。

閱讀選項:只能從全局文件讀取~/.gitconfig,$XDG_CONFIG_HOME/git/config而不能從所有可用文件中讀取。

另請參閱文件。

--system

對于編寫選項:寫入系統(tǒng)范圍$(prefix)/etc/gitconfig而不是存儲庫.git/config。

對于閱讀選項:只能從系統(tǒng)范圍內(nèi)讀取,$(prefix)/etc/gitconfig而不能從所有可用文件中讀取。

另請參閱文件。

--local

編寫選項:寫入存儲庫.git/config文件。這是默認行為。

閱讀選項:只能從存儲庫中讀取,.git/config而不能從所有可用文件中讀取。

另請參閱文件。

-f config-file   --file config-file

使用給定的配置文件而不是 GIT_CONFIG 指定的配置文件。

--blob blob

類似于--file使用給定的 blob 而不是文件。例如,您可以使用master:.gitmodules.gitmodules主分支中的文件讀取值。請參閱 gitrevisions [7]中的“指定修訂”一節(jié)以獲取拼寫 blob 名稱拼寫方法的更完整列表。

--remove-section

從配置文件中刪除給定的部分。

--rename-section

將給定部分重命名為新名稱。

--unset

從配置文件中刪除與密鑰匹配的行。

--unset-all

從配置文件中刪除所有與密鑰匹配的行。

-l   --list

列出在配置文件中設置的所有變量及其值。

--bool

git config 將確保輸出為“真”或“假”

--int

git config將確保輸出是一個簡單的十進制數(shù)。在輸出前,可選值后綴為kmg在配置文件中將使該值乘以1024,1048576或1073741824。

--bool-or-int

git config 將確保輸出匹配 --bool 或 --int 的格式,如上所述。

--path

git-config將擴展為指定用戶的主目錄~的值$HOME~user主目錄。此設置在設置值時不起作用(但您可以git config bla ~/從命令行使用 shell 來擴展)。

-z   --null

對于輸出值和/或鍵的所有選項,始終使用空字符(而不是換行符)結(jié)束值。使用換行符作為鍵和值之間的分隔符。這允許安全地解析輸出而不會被例如包含換行符的值混淆。

--name-only

輸出--list--get-regexp的配置變量的名稱。

--show-origin

使用原點類型(文件,標準輸入,blob,命令行)和實際原點(配置文件路徑,ref 或 blob id,如果適用)擴大所有查詢配置選項的輸出。

--get-colorbool name stdout-is-tty

找到name(例如color.diff)的顏色設置并輸出“true”或“false”。stdout-is-tty應該是“真”或“假”,并且在配置時稱為“自動”時將其考慮在內(nèi)。如果stdout-is-tty缺少,則檢查命令本身的標準輸出,如果要使用顏色,則退出狀態(tài)0,否則退出狀態(tài)1。當顏色設置為name未定義時,該命令將color.ui用作回退。

--get-color name default

查找為name(例如color.diff.new)配置的顏色并將其作為 ANSI 顏色轉(zhuǎn)義序列輸出到標準輸出。default如果沒有配置顏色,則使用可選參數(shù)name。

-e   --edit

打開一個編輯器來修改指定的配置文件; 或者--system,--global或者存儲庫(默認)。

--no-includes

include.*查找值時,請在配置文件中遵守指令。默認為off當一個特定的文件中給出(例如,使用--file,--global等),on搜索所有配置文件時。

Files

如果沒有明確設置--file,有四個文件git config將搜索配置選項:

$(prefix)/etc/gitconfig

系統(tǒng)范圍的配置文件。

$XDG_CONFIG_HOME/git/config

第二個用戶特定的配置文件。如果 $ XDG_CONFIG_HOME 未設置或為空,$HOME/.config/git/config將被使用。此文件中設置的任何單值變量都將被任何內(nèi)容覆蓋~/.gitconfig。如果你有時使用舊版本的 Git ,不建立這個文件是一個好主意,因為對這個文件的支持最近被添加了。

~/.gitconfig

用戶特定的配置文件。也稱為“全局”配置文件。

$GIT_DIR/config

存儲庫特定的配置文件。

如果沒有其他選項,所有閱讀選項將讀取所有可用的這些文件。如果全局配置文件或全系統(tǒng)配置文件不可用,它們將被忽略。如果存儲庫配置文件不可用或不可讀,git config將以非零錯誤代碼退出。但是,在任何情況下都不會發(fā)布錯誤消息。

這些文件按照上面給出的順序讀取,其中最后一個值優(yōu)先于先前讀取的值。當多個值被采用時,將使用來自所有文件的密鑰的所有值。

使用該-c選項運行任何 git 命令時,您可以覆蓋單個配置參數(shù)。有關詳細信息,請參閱 git [1]。

所有編寫選項將默認寫入存儲庫特定的配置文件。請注意,這也會影響諸如--replace-all和的選項--unsetgit config 一次只能更改一個文件。

您可以通過命令行選項或環(huán)境變量來覆蓋這些規(guī)則。在--global--system選項將限制分別用于全球或全系統(tǒng)文件的文件。該GIT_CONFIG環(huán)境變量有類似的效果,但您可以指定任何你想要的文件名。

環(huán)境

GIT_CONFIG

從給定文件取代 .git / config 的配置。使用 “--global” 選項將強制使用 ?/ .gitconfig 。使用 “--system” 選項將強制使用 $(prefix)/ etc / gitconfig 。

GIT_CONFIG_NOSYSTEM

是否跳過從系統(tǒng)范圍的 $(prefix)/ etc / gitconfig 文件讀取設置。有關詳細信息,請參閱 git [1]。

另請參閱文件。

例子

給定一個像這樣的 .git / config :

#
# This is the config file, and
# a '#' or ';' character indicates
# a comment
#
; core variables[core]        ; Don't trust file modes
        filemode = false
; Our diff algorithm[diff]
        external = /usr/local/bin/diff-wrapper
        renames = true
; Proxy settings[core]
        gitproxy=proxy-command for kernel.org
        gitproxy=default-proxy ; for all the rest
; HTTP[http]
        sslVerify[http "https://weak.example.com"]
        sslVerify = false
        cookieFile = /tmp/cookie.txt

您可以將 filemode 設置為 true

% git config core.filemode true

假設的代理命令條目實際上有一個后綴來辨別它們適用的 URL 。以下是如何將 kernel.org 的條目更改為 “ssh” 。

% git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'

這確保只有 kernel.org 的鍵/值對被替換。

要刪除重命名的條目,請執(zhí)行

% git config --unset diff.renames

如果你想刪除一個多變量的條目(比如上面的 core.gitproxy ),你必須提供一個匹配正好一行的正則表達式。

要查詢給定鍵的值,請執(zhí)行

% git config --get core.filemode

% git config core.filemode

或者,查詢多變量:

% git config --get core.gitproxy "for kernel.org$"

如果您想知道多變量的所有值,請執(zhí)行以下操作:

% git config --get-all core.gitproxy

如果你喜歡危險的生活,你可以用一個新的 core.gitproxy 替換掉所有的 core.gitproxy

% git config --replace-all core.gitproxy ssh

但是,如果您只想替換默認代理的行,即沒有 “for ...” 后綴的行,請執(zhí)行如下操作:

% git config core.gitproxy ssh '! for '

要實際上只將值與感嘆號匹配,您必須

% git config section.key value '[!]'

要添加新代理,而不更改任何現(xiàn)有代理,請使用

% git config --add core.gitproxy '"proxy-command" for example.com'

在腳本中使用來自配置的自定義顏色的示例:

#!/bin/sh
WS=$(git config --get-color color.diff.whitespace "blue reverse")RESET=$(git config --get-color "" "reset")echo "${WS}your whitespace color or blue reverse${RESET}"

對于https://weak.example.com,http.sslVerify中的網(wǎng)址設置為 false ,而為所有其他網(wǎng)址設置true

% git config --bool --get-urlmatch http.sslverify https://good.example.comtrue% git config --bool --get-urlmatch http.sslverify https://weak.example.comfalse% git config --get-urlmatch http https://weak.example.com
http.cookieFile /tmp/cookie.txt
http.sslverify false

配置文件

Git 配置文件包含許多影響 Git 命令行為的變量。.git/config每個存儲庫中的文件都用于存儲該存儲庫的配置,并$HOME/.gitconfig用于將每個用戶的配置存儲為該.git/config文件的后備值。該文件/etc/gitconfig可用于存儲系統(tǒng)范圍的默認配置。

配置變量由 Git 管道和瓷器使用。變量分為多個部分,其中變量本身的完全限定變量名稱是最后一個以點分隔的部分,部分名稱是最后一個點之前的所有內(nèi)容。變量名稱不區(qū)分大小寫,僅允許字母數(shù)字字符-,并且必須以字母字符開頭。一些變量可能會出現(xiàn)多次; 我們說那個變量是多值的。

句法

語法相當靈活和寬容; 空格大多被忽略。在#;字符開頭的注釋行的末尾,空行被忽略。

該文件由部分和變量組成。一節(jié)以方括號中的節(jié)的名稱開始,并一直持續(xù)到下一節(jié)開始。部分名稱不區(qū)分大小寫。只有字母數(shù)字字符,-并且.在部分名稱中是允許的。每個變量必須屬于某個部分,這意味著在首次設置變量之前必須有一個部分標題。

部分可以進一步分為小節(jié)。要開始一個小節(jié),請在節(jié)標題中將其名稱放在雙引號中,用空格與節(jié)名稱分隔,如下例所示:

        [section "subsection"]

小節(jié)名稱區(qū)分大小寫,可以包含除換行符以外的任何字符(雙引號"和反斜線可以通過分別將它們轉(zhuǎn)義為\"\\)來包含。節(jié)標題不能跨越多行。變量可能直接屬于某個部分或給定的子部分。你可以有[section],如果你有[section "subsection"],但你并不需要。

還有一個不贊成的[section.subsection]語法。使用該語法,子部分名稱將轉(zhuǎn)換為小寫,并且也將區(qū)分大小寫。這些小節(jié)名稱遵循與節(jié)名稱相同的限制。

所有其他行(以及段落標題后面的行的其余部分)都以表單的形式被識別為設置變量name = value(或者簡單name地說,這個變量就是布爾值 “true” )。變量名稱不區(qū)分大小寫,僅允許字母數(shù)字字符-,并且必須以字母字符開頭。

定義一個值的行可以通過以\結(jié)尾來繼續(xù)到下一行; 反引號和行結(jié)束被剝離。領先后的空格name =中,第一個注釋字符后,該行剩余部分#;和該行的尾部空格被丟棄,除非它們是雙引號括起來。價值范圍內(nèi)的內(nèi)部空白是逐字保留的。

在雙引號內(nèi),必須轉(zhuǎn)義雙引號"和反斜線\字符:use \"for " and \\for \。

以下轉(zhuǎn)義序列(旁邊\"\\)被識別:\n換行符(NL),\t水平制表符(HT,TAB)和\b退格符(BS)。其他char轉(zhuǎn)義序列(包括八進制轉(zhuǎn)義序列)無效。

包括

includeincludeIf部分允許您包括來自其他來源的配置指令。這些部分的行為彼此完全相同,includeIf只是如果部分條件未評估為真,部分可能會被忽略; 請參閱下面的“有條件包含”。

您可以通過將特殊include.path(或includeIf.*.path)變量設置為要包含的文件的名稱來包含另一個配置文件。該變量將路徑名作為其值,并受波浪擴展影響。這些變量可以多次給出。

包含文件的內(nèi)容會立即插入,就好像它們已經(jīng)在 include 指令的位置找到一樣。如果變量的值是相對路徑,則路徑被認為是相對于在其中找到 include 指令的配置文件。見下面的例子。

有條件的包括

您可以通過將includeIf.<condition>.path變量設置為要包含的文件的名稱,從另一個條件包含配置文件。

條件以關鍵字后跟冒號開頭,一些數(shù)據(jù)的格式和含義取決于關鍵字。支持的關鍵字是:

gitdir

關鍵字gitdir:后面的數(shù)據(jù)用作全局模式。如果 .git 目錄的位置與模式匹配,則滿足包含條件。

.git 位置可以自動發(fā)現(xiàn),也可以來自$GIT_DIR環(huán)境變量。如果存儲庫是通過 .git 文件(例如,從子模塊或鏈接的工作樹)自動發(fā)現(xiàn)的,那么 .git 位置將是 .git 目錄的最終位置,而不是 .git 文件所在的位置。

該模式可以包含標準通配符通配符和另外兩個,**/并且/**可以匹配多個路徑組件。詳情請參閱 gitignore [5] 。為了方便:

  • 如果模式開頭是~/,~將被替換為環(huán)境變量HOME的內(nèi)容。

  • 如果模式開始是./,則將其替換為包含當前配置文件的目錄。

  • 如果模式不以任何啟動~/,./或者/**/將被自動加上。例如,模式foo/bar變成**/foo/bar并且將匹配/any/path/to/foo/bar。

  • 如果模式結(jié)束/**將自動添加。例如,模式foo/變成foo/**。換句話說,它會遞歸匹配 “foo” 和里面的所有內(nèi)容。

gitdir/i

這與gitdir除了不區(qū)分大小寫匹配相同(例如對大小寫不敏感的文件系統(tǒng))

關于通過gitdirgitdir/i匹配的更多注意事項:

  • $GIT_DIR匹配前不解析符號鏈接。

  • 符號鏈接和實際路徑版本的路徑都將在外部匹配$GIT_DIR。例如,如果?/ Git 是一個符號鏈接到/ mnt /存儲/ git 的,都gitdir:~/gitgitdir:/mnt/storage/git匹配。v2.13.0中此功能的最初版本并不是這種情況,它只與實際路徑版本相匹配。希望與此功能的初始版本兼容的配置需要僅指定實際路徑版本或兩個版本。

  • 請注意,“../”不是特別的,并且會直接匹配,這不太可能是您想要的。

# Core variables[core]        ; Don't trust file modes
        filemode = false
# Our diff algorithm[diff]
        external = /usr/local/bin/diff-wrapper
        renames = true
[branch "devel"]
        remote = origin
        merge = refs/heads/devel
# Proxy settings[core]
        gitProxy="ssh" for "kernel.org"
        gitProxy=default-proxy ; for the rest
[include]
        path = /path/to/foo.inc ; include by absolute path
        path = foo.inc ; find "foo.inc" relative to the current file
        path = ~/foo.inc ; find "foo.inc" in your `$HOME` directory
; include if $GIT_DIR is /path/to/foo/.git[includeIf "gitdir:/path/to/foo/.git"]
        path = /path/to/foo.inc
; include for all repositories inside /path/to/group[includeIf "gitdir:/path/to/group/"]
        path = /path/to/foo.inc
; include for all repositories inside $HOME/to/group[includeIf "gitdir:~/to/group/"]
        path = /path/to/foo.inc
; relative paths are always relative to the including; file (if the condition is true); their location is not; affected by the condition[includeIf "gitdir:/path/to/group/"]
        path = foo.inc

許多變量的值被視為一個簡單的字符串,但有些變量會接受特定類型的值,并且有關如何拼寫它們的規(guī)則。

boolean

當稱取一個布爾值的變量,許多同義詞接受truefalse; 這些都是不區(qū)分大小寫的。

true

布爾真正的文字是yes,on,true,和1。另外,沒有定義的變量= <value>被視為是真的。

false

布爾值 false 文字是nooff,false0和空字符串。

使用--bool類型說明符將值轉(zhuǎn)換為規(guī)范形式時,git config將確保輸出為“true”或“false”(拼寫為小寫)。

integer

指定各種大小的許多變量的值可以后綴為k,M...以表示“將數(shù)字縮放1024”,“由1024x1024”等。

color

采用顏色的變量的值是顏色列表(最多兩個,一個用于前景,一個用于背景)和屬性(盡可能多),用空格分隔。

接受基本的顏色normal,black,redgreen,yellow,blue,magenta,cyanwhite。第一種顏色是前景; 第二個是背景。

顏色也可以用0到255之間的數(shù)字給出; 這些使用 ANSI 256色模式(但請注意,并非所有終端都可以支持此模式)。如果你的終端支持它,你也可以指定24位的 RGB 值,如十六進制#ff0ab3

接受的屬性bold,dimul,blink,reverse,italic,和strike(用于打叉或“刪除線”字母)。任何屬性相對于顏色的位置(之前,之后或之間)無關緊要。特定屬性可以用前綴被關閉nono-(例如,noreverse,no-ul等等)。

一個空的顏色字符串根本不產(chǎn)生顏色效果。這可以用來避免在完全禁用顏色的情況下著色特定元素。

對于 git 的預定義顏色槽,這些屬性意味著在彩色輸出中每個項目的開始處重置。因此,即使在同一輸出行上的前一個事物(例如,在log --decoratebold輸出中的分支名稱列表之前的開放圓括號)設置為使用其他屬性進行繪制,設置color.decorate.branchblack將以明文形式black繪制該分支名稱。然而,自定義日志格式可能會做更復雜和分層的著色,否定形式可能在那里很有用。

路徑

該接受的路徑名值的變量可以給出以“開始的字符串~/”或“ ~user/”,和通常的波浪線擴展發(fā)生這樣的字符串:~/擴展到的值$HOME,和~user/被指定的用戶的主目錄。

變量

請注意,此列表不全面,不一定完整。對于特定于命令的變量,您可以在相應的手冊頁中找到更詳細的說明。

其他與 git 相關的工具可能會使用自己的變量。在發(fā)明新變量以供您自己的工具使用時,請確保它們的名稱與 Git 本身和其他常用工具使用的名稱不沖突,并在文檔中對其進行描述。

advice.*

這些變量控制旨在幫助新用戶的各種可選幫助消息。所有的advice.*變量默認為true,你可以通過設置這些變量來告訴 Git 你不需要幫助來處理這些false

pushUpdateRejected

設置這個變量false,如果要禁用pushNonFFCurrentpushNonFFMatching,pushAlreadyExists,pushFetchFirst,和pushNeedsForce同時進行。

pushNonFFCurrent

由于對當前分支的非快進更新,git-push [1] 失敗時顯示的建議。

pushNonFFMatching

當您運行 git-push [1] 并matching refs顯式推送(即您使用:或指定了不是您當前分支的 refspec )時顯示的建議,并導致非快進錯誤。

pushAlreadyExists

當 git-push [1] 拒絕不符合快速轉(zhuǎn)發(fā)資格的更新時顯示(例如,標簽)。

pushFetchFirst

當 git-push [1] 拒絕試圖覆蓋指向我們沒有的對象的遠程參考的更新時顯示。

pushNeedsForce

當 git-push [1] 拒絕嘗試覆蓋指向非 commit-ish 對象的遠程 ref 的更新或使遠程 ref 位于非 commit-ish 對象時顯示。

statusHints

在 git-status [1] 的輸出中顯示如何從當前狀態(tài)開始,在 git-commit [1] 中寫入提交消息時顯示的模板中以及 git-checkout [1] 顯示的幫助消息中顯示方向。切換分支時。

statusUoption

建議考慮使用-u git-status [1]選項,當命令需要2秒鐘以上才能枚舉未跟蹤的文件。

commitBeforeMerge

當 git-merge [1] 拒絕合并以避免覆蓋本地更改時顯示建議。

resolveConflict

在沖突阻止執(zhí)行操作時由各種命令顯示的建議。

implicitIdentity

當您的信息從系統(tǒng)用戶名和域名中被猜出時,提供關于如何設置您的身份配置的建議。

detachedHead

當您使用 git-checkout [1] 移至分離 HEAD 狀態(tài)時,顯示的建議指示如何在事實之后創(chuàng)建本地分支。

amWorkDir

在 git-am [1] 未能應用時顯示補丁文件位置的建議。

rmHints

如果 git-rm [1] 輸出失敗,請指示如何從當前狀態(tài)繼續(xù)。

addEmbeddedRepo

當你意外地在另一個 git 倉庫中添加了一個 git 倉庫時,建議做些什么。

core.fileMode

告訴 Git 工作樹中的文件的可執(zhí)行位是否被尊重。

當標記為可執(zhí)行的文件被簽出時,某些文件系統(tǒng)會丟失可執(zhí)行文件位,或檢出可執(zhí)行文件位置不可執(zhí)行的文件。git-clone [1] 或 git-init [1] 探測文件系統(tǒng),看它是否正確處理可執(zhí)行位,并根據(jù)需要自動設置此變量。

但是,存儲庫可能位于正確處理文件模式的文件系統(tǒng)上,并且該變量true在創(chuàng)建時設置為,但后來可以從其他丟失文件模式的環(huán)境訪問(例如,通過 CIFS 掛載導出 ext4 ,訪問創(chuàng)建的 Cygwin 用于 Windows 或 Eclipse 的 Git 倉庫)。在這種情況下,可能需要將此變量設置為false。參見 git-update-index [1]。

缺省值為 true(當 core.filemode 未在配置文件中指定時)。

core.hideDotFiles

(僅限Windows)如果為 true,則將新創(chuàng)建的目錄和名稱以點開頭的文件標記為隱藏。如果dotGitOnly只有.git/目錄被隱藏,但沒有以點開頭的其他文件。默認模式是dotGitOnly。

core.ignoreCase

如果為 true,則此選項啟用各種解決方法,以使 Git 能夠更好地處理不區(qū)分大小寫的文件系統(tǒng),如 FAT 。例如,如果一個目錄列表在 Git 期望 “Makefile” 時發(fā)現(xiàn) “makefile” ,Git 會認為它是真正的同一個文件,并繼續(xù)記住它為 “Makefile” 。

缺省值為 false,除非 git-clone [1] 或 git-init [1] 將在創(chuàng)建存儲庫時探測并設置 core.ignoreCase為true(如果適用)。

core.precomposeUnicode

此選項僅適用于 Git 的 Mac OS 實施。當 core.precomposeUnicode = true 時,Git 恢復由 Mac OS 完成的文件名的 Unicode 分解。在 Mac OS 和 Linux 或 Windows 之間共享存儲庫時,這非常有用。(需要 Git for Windows 1.7.10 或更高版本,或者在 Cygwin 1.7 下使用 Git )。如果為 false ,則 Git 將文件名處理為完全透明,這與舊版 Git 向后兼容。

core.protectHFS

如果設置為 true ,則不允許簽出.git在 HFS +文件系統(tǒng)上認為等效的路徑。默認為true在 Mac OS 和false其他地方。

core.protectNTFS

如果設置為 true ,則不允許簽出會導致 NTFS 文件系統(tǒng)問題的路徑,例如與8.3“short”名稱沖突。默認true在 Windows 和false其他地方。

core.trustctime

如果為 false ,索引和工作樹之間的 ctime 差異將被忽略; 當 inode 更改時間由 Git(文件系統(tǒng)搜尋器和某些備份系統(tǒng))之外的某些東西定期修改時,這一點很有用。參見 git-update-index [1]。默認情況下為真。

core.splitIndex

如果為 true,則將使用索引的分割索引功能。參見 git-update-index [1]。默認為 False。

core.untrackedCache

確定如何處理索引的未跟蹤緩存功能。如果此變量未設置或設置為,它將被保留keep。如果設置為,它將自動添加true。如果設置為,它會自動刪除false。在設置之前true,您應該檢查您的系統(tǒng)上的 mtime 是否正常工作。參見 git-update-index [1] 。keep默認。

core.checkStat

確定在索引和工作樹之間匹配哪些統(tǒng)計字段。用戶可以將其設置為defaultminimal。默認(或明確default)是檢查所有字段,包括 mtime 和 ctime 的第二部分。

core.quotePath

命令,輸出路徑(例如ls-filesdiff),將引用中的路徑名“異常”的字符通過以相同的方式 C 逸出控制字符(例如,用反斜杠包圍在雙引號的路徑名和避開這些字符\t用于TAB,\n對于LF,\\用于反斜杠)或值大于0x80的字節(jié)(例如\302\265UTF-8中的 “micro” 的八進制)。如果此變量設置為 false ,則高于0x80的字節(jié)不再被視為“異?!?。無論此變量的設置如何,雙引號,反斜杠和控制字符總是會被轉(zhuǎn)義。一個簡單的空間字符不被認為是“不尋常的”。許多命令可以使用該-z選項完全逐字輸出路徑名。默認值是 true 。

core.eol

text在 core.autocrlf 為 false 時,設置在工作目錄中用于具有屬性設置的文件的行結(jié)束類型。替代品是lf,crlf并且native,它使用平臺的本地行結(jié)束。默認值是native。請參閱 gitattributes [5] 了解有關換行結(jié)束的更多信息。

core.safecrlf

如果為 true ,則使 Git 檢查CRLF在行末換算處于活動狀態(tài)時轉(zhuǎn)換是否可逆。Git 將驗證命令是直接還是間接地修改工作樹中的文件。例如,提交文件后檢出相同的文件應該在工作樹中產(chǎn)生原始文件。如果當前設置不是這樣core.autocrlf,Git 將拒絕該文件。變量可以設置為“警告”,在這種情況下,Git 只會警告不可逆的轉(zhuǎn)換,但會繼續(xù)操作。

CRLF 轉(zhuǎn)換承擔破壞數(shù)據(jù)的輕微機會。當它被啟用時,Git 會在提交期間將 CRLF 轉(zhuǎn)換為 LF ,并在結(jié)帳期間將LF轉(zhuǎn)換為 CRLF 。在提交之前包含 LF 和 CRLF 混合的文件無法由 Git 重新創(chuàng)建。對于文本文件,這是正確的做法:它糾正行結(jié)束,以便我們在存儲庫中只有 LF 行結(jié)束符。但對于意外分類為文本的二進制文件,轉(zhuǎn)換可能會破壞數(shù)據(jù)。

如果您提前認識到這種腐敗,可以通過在 .gitattributes 中明確設置轉(zhuǎn)換類型來輕松修復它。提交后立即在工作樹中保留原始文件,并且此文件尚未損壞。你可以明確地告訴 Git 這個文件是二進制的,Git 會適當?shù)靥幚磉@個文件。

不幸的是,用混合行結(jié)束清除文本文件的理想效果和破壞二進制文件的不良效果無法區(qū)分。在這兩種情況下,CRLF 都以不可逆的方式被移除。對于文本文件,這是正確的,因為 CRLF 是行結(jié)束符,而對于二進制文件,轉(zhuǎn)換 CRLF 會破壞數(shù)據(jù)。

請注意,這個安全檢查并不意味著一個結(jié)帳時會產(chǎn)生的不同的設置與原始文件的文件core.eolcore.autocrlf,但只適用于當前的一個。例如,一個帶有文本文件的文件LF將被接受,core.eol=lf并且隨后可以被檢出core.eol=crlf,在這種情況下,生成的文件將包含CRLF,盡管包含原始文件LF。但是,在這兩種工作樹中,行結(jié)束都是一致的,即全部LF或全部CRLF,但從不混合。該core.safecrlf機制會報告具有混合行結(jié)尾的文件。

core.autocrlf

將此變量設置為 “true” 與將text所有文件和 core.eol 中的屬性設置為 “auto” 為 “crlf” 相同。如果你想CRLF在你的工作目錄中有行結(jié)尾并且存儲庫有 LF 行結(jié)束符,那么設置為 true 。該變量可以設置為input,在這種情況下不執(zhí)行輸出轉(zhuǎn)換。

core.symlinks

如果為 false ,則將符號鏈接檢出為包含鏈接文本的小純文件。git-update-index [1] 和 git-add [1] 不會將記錄類型更改為常規(guī)文件。在不支持符號鏈接的 FAT 等文件系統(tǒng)上很有用。

缺省值為 true ,除了創(chuàng)建存儲庫時,git-clone [1] 或 git-init [1] 將探測并設置 core.symlinks為false(如果適用)。

core.gitProxy

command host port當使用 Git 協(xié)議進行抓取時,執(zhí)行(as )“代理命令” 而不是建立與遠程服務器的直接連接。如果變量值處于 “COMMAND for DOMAIN” 格式中,則該命令僅應用于以指定域字符串結(jié)尾的主機名。這個變量可以設置多次,并按照給定的順序進行匹配; 第一場比賽獲勝。

可以被GIT_PROXY_COMMAND環(huán)境變量覆蓋(它總是普遍適用,沒有特殊的 “for” 處理)。

特殊的字符串none可以用作代理命令來指定沒有代理用于給定的域模式。這對排除防火墻內(nèi)的服務器使用代理非常有用,而默認為外部域的通用代理。

core.sshCommand

如果設置了這個變量,git fetchgit push將使用指定的命令而不是ssh當他們需要連接到遠程系統(tǒng)時。該命令與GIT_SSH_COMMAND環(huán)境變量的形式相同,并且在設置環(huán)境變量時被覆蓋。

core.ignoreStat

如果為 true,Git 將避免使用 lstat()調(diào)用來檢測文件是否已更改,方法是為索引文件和工作樹中相同更新的跟蹤文件設置“假定 - 不變”位。

當文件在 Git 之外被修改時,用戶將需要顯式地修改已修改的文件(例如參見Examples git-update-index [1] 中的部分)。Git 通常不會檢測到這些文件的變化。

這對于 lstat()調(diào)用非常慢的系統(tǒng)非常有用,例如 CIFS / Microsoft Windows 。

默認為 False 。

core.preferSymlinkRefs

使用符號鏈接代替 HEAD 和其他符號參考文件的默認 “symref” 格式。有時需要使用舊的腳本來處理 HEAD ,這是一個符號鏈接。

core.bare

如果該屬性值為 true ,則假定該存儲庫為bare并且沒有與其關聯(lián)的工作目錄。如果是這種情況,需要工作目錄的許多命令將被禁用,例如 git-add [1] 或 git-merge [1] 。

當創(chuàng)建倉庫時,這個設置會被 git-clone [1] 或者 git-init [1] 自動猜到。默認情況下,以 “/.git” 結(jié)尾的存儲庫被假定為不是空(空=假),而所有其他存儲庫被假定為空(空=真)。

core.worktree

將路徑設置為工作樹的根目錄。如果GIT_COMMON_DIR設置了環(huán)境變量,core.worktree 將被忽略,不用于確定工作樹的根。這可以被GIT_WORK_TREE環(huán)境變量和--work-tree命令行選項覆蓋。該值可以是絕對路徑,也可以是相對于 .git 目錄的路徑,該目錄由 --git-dir 或 GIT_DIR 指定,或者自動發(fā)現(xiàn)。如果指定了 --git-dir 或 GIT_DIR ,但沒有指定 --work-tree , GIT_WORK_TREE 和 core.worktree ,則當前工作目錄被視為工作樹的頂層。

請注意,即使將該變量設置在目錄的 “.git” 子目錄中的配置文件中,其值也不同于后者目錄(例如 “/path/to/.git/config” 將 core.worktree 設置為“/不同/路徑”),這很可能是錯誤配置。在 “/ path / to” 目錄中運行 Git 命令仍然使用 “/ different / path” 作為工作樹的根目錄,除非你知道自己在做什么,否則會引起混淆(例如,你正在創(chuàng)建只讀的快照相同的索引指向與存儲庫常用工作樹不同的位置)。

core.logAllRefUpdates

啟用 reflog 。$GIT_DIR/logs/<ref>通過附加新的和舊的 SHA-1 ,日期/時間和更新原因,但只有當文件存在時,才會將 ref <ref> 的更新記錄到文件“ ”中。如果這個配置變量設置為true,缺少“ $GIT_DIR/logs/<ref>”文件是自動創(chuàng)建的分支頭(即下refs/heads/),遠程裁判(即下refs/remotes/),注意裁判(即下refs/notes/),和符號 ref HEAD。如果它被設置為always,那么會自動為任何下方的 ref 創(chuàng)建缺失的 reflog refs/。

此信息可用于確定“2天前”分支的提示是什么。

默認情況下,此值在具有與其關聯(lián)的工作目錄的存儲庫中為 true ,在裸存儲庫中默認為 false 。

core.repositoryFormatVersion

標識存儲庫格式和布局版本的內(nèi)部變量。

core.sharedRepository

group(或true)時,存儲庫可以在一個組中的多個用戶之間共享(確保所有文件和對象都是可寫組的)。當all(或worldeverybody)時,存儲庫將為所有用戶可讀,另外還可以分組。當umask(或false)時,Git 將使用由 umask(2)報告的權(quán)限。何時0xxx,哪里0xxx是八進制數(shù),存儲庫中的文件將具有此模式值。0xxx將覆蓋用戶的 umask 值(而其他選項將只覆蓋用戶的 umask 值的所需部分)。示例:0660將使所有者和組能夠進行 repo 讀/寫,但其他人無法訪問(相當于group除非umask是例如0022)。0640是一個組可讀但不可分組寫的存儲庫。請參閱 git-init [1]。默認為False。

core.warnAmbiguousRefs

如果為 true,Git 會警告您,如果您傳遞的 ref 名稱不明確,并且可能與存儲庫中的多個 ref 匹配。默認情況下為真。

core.compression

一個整數(shù)-1..9,表示默認的壓縮級別。-1是 zlib 的默認值。0代表沒有壓縮,1..9代表不同的速度/尺寸折衷,9代表最慢。如果設置,則會為其他壓縮變量(如core.looseCompression和)提供默認值pack.compression。

core.looseCompression

一個整數(shù)-1..9,表示不在包文件中的對象的壓縮級別。-1是 zlib 的默認值。0代表沒有壓縮,1..9代表不同的速度/尺寸折衷,9代表最慢。如果未設置,則默認為 core.compression 。如果沒有設置,默認為1(最佳速度)。

core.packedGitWindowSize

在單個映射操作中映射到內(nèi)存中的包文件的字節(jié)數(shù)。較大的窗口大小可能允許您的系統(tǒng)更快速地處理較小數(shù)量的大型文件包文件。由于增加了對操作系統(tǒng)內(nèi)存管理器的調(diào)用,較小的窗口大小會對性能產(chǎn)生負面影響,但可能會在訪問大量大型文件包時提高性能。

如果在編譯時設置 NO_MMAP ,則默認值為1 MiB ,否則在32位平臺上為32 MiB ,在64位平臺上為1 GiB 。這對所有用戶/操作系統(tǒng)都應該是合理的。你可能不需要調(diào)整這個值。

常見的單元后綴k,mg支持。

core.packedGitLimit

從包文件同時映射到內(nèi)存的最大字節(jié)數(shù)。如果 Git 需要一次訪問超過這么多字節(jié)來完成操作,它將取消映射現(xiàn)有區(qū)域以回收進程中的虛擬地址空間。

32位平臺上的默認值為256 MiB ,64位平臺上的默認值為32 TiB(實際無限制)。對于所有用戶/操作系統(tǒng)來說,這應該是合理的,但最大的項目除外。你可能不需要調(diào)整這個值。

常見的單元后綴k,mg支持。

core.deltaBaseCacheLimit

為了緩存可能被多個分類對象引用的基礎對象而預留的最大字節(jié)數(shù)。通過將整個解壓縮的基礎對象存儲在緩存中,Git 可以避免多次拆包和解壓縮常用的基礎對象。

所有平臺上的默認值為96 MiB 。對于所有用戶/操作系統(tǒng)來說,這應該是合理的,但最大的項目除外。你可能不需要調(diào)整這個值。

常見的單元后綴kmg支持。

core.bigFileThreshold

大于此大小的文件將被縮減存儲,而不會嘗試增量壓縮。在不進行增量壓縮的情況下存儲大文件可以避免過多的內(nèi)存使用量,但會增加磁盤使用量。此外,大于此大小的文件始終視為二進制文件。

所有平臺上的默認值為512 MiB 。對于大多數(shù)項目來說,這應該是合理的,因為源代碼和其他文本文件仍然可以進行 delta 壓縮,但是較大的二進制媒體文件不會。

常見的單元后綴k,mg支持。

core.excludesFile

.gitignore((每個目錄)和)之外,指定文件的路徑名,該文件包含用于描述不打算跟蹤的路徑的模式.git/info/exclude。默認為$XDG_CONFIG_HOME/git/ignore。如果$XDG_CONFIG_HOME未設置或為空,$HOME/.config/git/ignore則代替使用。見gitignore [5]。

core.askPass

交互式地詢問密碼的一些命令(例如 svn 和 http 接口)可以被告知使用通過該變量的值給出的外部程序。可以被GIT_ASKPASS環(huán)境變量覆蓋。如果沒有設置,則回退到SSH_ASKPASS環(huán)境變量的值,否則,提示一個簡單的密碼。應該給外部程序一個合適的提示符作為命令行參數(shù),并在其 STDOUT 上寫入密碼。

core.attributesFile

除了.gitattributes( per-directory )之外.git/info/attributes,Git 會查看此文件的屬性(請參閱 gitattributes [5] )。路徑擴展的制作方式與以前相同core.excludesFile。它的默認值是$XDG_CONFIG_HOME/git/attributes。如果$XDG_CONFIG_HOME未設置或為空,$HOME/.config/git/attributes則代替使用。

core.hooksPath

默認情況下,Git 會在$GIT_DIR/hooks目錄中查找你的鉤子。將其設置為不同的路徑,例如/etc/git/hooks,Git 將嘗試在該目錄中找到您的掛鉤,例如,/etc/git/hooks/pre-receive而不是在 $GIT_DIR/hooks/pre-receive。

路徑可以是絕對路徑或相對路徑。相對于掛鉤運行的目錄采取相對路徑(請參閱 githooks [5] 的“描述”部分)。

這個配置變量在你希望集中配置你的 Git 鉤子而不是在每個存儲庫上配置它們的情況下是有用的,或者作為一個更靈活和集中的替代方法來使init.templateDir你有一個你已經(jīng)改變了默認鉤子的地方。

core.editor

諸如此類的命令commit以及tag允許您通過啟動編輯器來編輯消息的命令會在設置時使用此變量的值,并且GIT_EDITOR未設置環(huán)境變量。參見 git-var [1] 。

core.commentChar

諸如committag可讓您編輯消息的命令考慮以該字符注釋開頭的行,并在編輯器返回后將其刪除(默認#)。

如果設置為“auto”,git-commit將選擇不是現(xiàn)有提交消息中任何行的開始字符的字符。

core.packedRefsTimeout

嘗試鎖定packed-refs文件時要重試的時間長度(以毫秒為單位)。值0意味著根本不會重試; -1意味著無限期地嘗試。默認值是1000(即,重試1秒)。

sequence.editor

文本編輯器用于git rebase -i編輯 rebase 指令文件。該值用于在 shell 中進行解釋。它可以被GIT_SEQUENCE_EDITOR環(huán)境變量覆蓋。未配置時,將使用默認的提交消息編輯器。

core.pager

供 Git 命令使用的文本查看器(例如,less)。該值旨在由 shell 解釋。首選項的順序是$GIT_PAGER環(huán)境變量,然后是core.pager配置,然后$PAGER是編譯時(通常less)選擇的默認值。

LESS環(huán)境變量未設置時,Git 將其設置為FRX(如果LESS設置了環(huán)境變量,則 Git 根本不會更改它)。如果你想有選擇地覆蓋 Git 的默認設置LESS,你可以設置core.pager為例如less -S。這將通過 Git 傳遞給 shell ,該命令將最終命令轉(zhuǎn)換為LESS=FRX less -S。環(huán)境不會設置該S選項,但命令行會執(zhí)行此操作,從而減少截斷長行的問題。同樣,設置core.pagerless -+FF從命令行中禁用環(huán)境指定的選項,取消激活“如果一個屏幕退出”行為less。人們可以特別激活某些特定命令的標志:例如,設置pager.blameless -S啟用行截斷僅用于git blame

同樣,當LV環(huán)境變量未設置時,Git 將其設置為-c。您可以通過LV使用另一個值或設置core.pager為導出來覆蓋此設置lv +c

core.whitespace

用逗號分隔的常見空白問題列表需要注意。git diffcolor.diff.whitespace用來突出顯示它們,并將git apply --whitespace=error它們視為錯誤。你可以用前綴-來禁用它們中的任何一個(例如-trailing-space):

  • blank-at-eol 將行末尾的空格視為錯誤(默認情況下啟用)。

  • space-before-tab 將行的最初縮進部分中的制表符之前出現(xiàn)的空格字符視為錯誤(默認情況下啟用)。

  • indent-with-non-tab 將用空格字符縮進的行代替等效的制表符作為錯誤(默認情況下未啟用)。

  • tab-in-indent 將行的初始縮進部分中的制表符視為錯誤(默認情況下未啟用)。

  • blank-at-eof 將在文件末尾添加的空行視為錯誤(默認情況下啟用)。

  • trailing-space是一種短手為覆蓋blank-at-eolblank-at-eof。

  • cr-at-eol將行結(jié)束處的回車符視為行結(jié)束符的一部分,即使用它,trailing-space如果此回車符之前的字符不是空格(默認情況下未啟用),則不會觸發(fā)。

  • tabwidth=<n>告訴標簽占據(jù)多少個字符位置; 這indent-with-non-tab與 Git 修復tab-in-indent錯誤有關。默認的標簽寬度是8.允許的值是1到63。

core.fsyncObjectFiles

這個布爾值將fsync()在寫入目標文件時啟用。

這是一個浪費時間和精力的文件系統(tǒng),它可以正確地命令數(shù)據(jù)寫入,但對于不使用日記功能(傳統(tǒng) UNIX 文件系統(tǒng))的文件系統(tǒng)或只有日志元數(shù)據(jù)而不是文件內(nèi)容( OS X的HFS +或 Linux 帶有 “data = writeback” 的 ext3 )。

core.preloadIndex

為類似的操作啟用并行索引預加載 git diff

這可以加快像操作git diffgit status特別是像 NFS 有弱緩存語義,因此相對較高的 IO 延遲的文件系統(tǒng)。啟用后,Git 將并行執(zhí)行與文件系統(tǒng)數(shù)據(jù)的索引比較,從而允許重疊 IO 。默認為 true 。

core.createObject

您可以將其設置為link,在這種情況下,將使用硬鏈接并刪除源,以確保創(chuàng)建對象不會覆蓋現(xiàn)有對象。

在某些文件系統(tǒng)/操作系統(tǒng)組合上,這是不可靠的。將此配置設置設置為rename此處; 但是,這將刪除確保現(xiàn)有對象文件不會被覆蓋的檢查。

core.notesRef

顯示提交消息時,還會顯示存儲在給定 ref 中的注釋。參考資料必須完全合格。如果給定的 ref 不存在,這不是錯誤,但意味著不應打印任何注釋。

該設置默認為 “refs / notes / commits” ,并且可以被GIT_NOTES_REF環(huán)境變量覆蓋。參見 git-notes [1] 。

core.sparseCheckout

啟用“sparse checkout”功能。有關更多信息,請參閱 git-read-tree [1] 中的 “Sparse checkout” 一節(jié)。

core.abbrev

設置長度對象名稱縮寫為。如果未指定或設置為 “auto” ,則根據(jù)存儲庫中的打包對象的近似數(shù)量計算適當?shù)闹?,這對于縮寫對象名稱在一段時間內(nèi)保持唯一性來說足夠了。最小長度是4。

add.ignoreErrors   add.ignore-errors (deprecated)

git add當由于索引錯誤而無法添加某些文件時,告訴繼續(xù)添加文件。相當于--ignore-errors git-add [1] 的選項。add.ignore-errors已被棄用,因為它不遵循配置變量的通常命名約定。

alias.*

git [1] 命令包裝的命令別名 - 例如在定義 “alias.last = cat-file commit HEAD” 之后,調(diào)用 “git last” 等同于 “git cat-file commit HEAD” 。為避免混淆和腳本使用的麻煩,隱藏現(xiàn)有 Git 命令的別名將被忽略。參數(shù)用空格分開,支持常用的 shell 引用和轉(zhuǎn)義。引用對或反斜杠可用于引用它們。

如果別名擴展以感嘆號為前綴,則將其視為 shell 命令。例如,定義 “alias.new =!gitk  -  all  -  not ORIG_HEAD” ,調(diào)用 “git new” 相當于運行shell命令 “gitk  -  all  -  not ORIG_HEAD” 。請注意,shell 命令將從存儲庫的頂級目錄中執(zhí)行,該目錄可能不一定是當前目錄。GIT_PREFIX被設置為git rev-parse --show-prefix從原始當前目錄運行返回。參見 git-rev-parse [1] 。

am.keepcr

如果為 true,那么 git-am 會調(diào)用 git-mailsplit 來獲取帶有參數(shù)的 mbox 格式的補丁--keep-cr。在這種情況下,git-mailsplit 不會\r從以\r\n。結(jié)尾的行中刪除??梢酝ㄟ^--no-keep-cr從命令行提供來覆蓋。參見 git-am [1] ,git-mailsplit [1] 。

am.threeWay

默認情況下,git am如果修補程序不能干凈地應用,將會失敗。當設置為true時,git am如果補丁記錄了它應該應用到的斑點的標識,并且我們在本地提供了這些斑點(相當于--3way從命令行提供選項),則此設置將告訴回退3路合并。默認為false。見 git-am [1] 。

apply.ignoreWhitespace

設置為change時,將以與選項相同的方式告訴git apply忽略空白中的更改--ignore-space-change。當設置為:no,none,never 時,false  表示git apply尊重所有空白區(qū)別。參見 git-apply [1]。

apply.whitespace

講述git apply如何處理空格,以同樣的方式作為--whitespace選項。參見 git-apply [1]。

branch.autoSetupMerge

告訴git branchgit checkout設置新分支,以便 git-pull [1] 將從起點分支適當合并。請注意,即使未設置此選項,也可以使用--track--no-track選項為每個分支選擇此行為。有效的設置是:false- 沒有自動設置完成; true - 當起始點是遠程跟蹤分支時,自動設置完成; always - 當起始點是本地分支或遠程跟蹤分支時,自動設置完成。該選項默認為 true 。

branch.autoSetupRebase

當一個新的分支被創(chuàng)建git branchgit checkout跟蹤另一個分支時,這個變量告訴 Git 設置 pull 來代替合并(參見 “branch。<name> .rebase” )。何時never,rebase 永遠不會自動設置為 true 。何時local,其他地方分行的追蹤分行的 rebase 設置為 true 。remote對于遠程跟蹤分支的跟蹤分支,當 rebase 設置為 true 時。何時always,所有跟蹤分支的 rebase 將設置為 true 。有關如何設置分支以跟蹤其他分支的詳細信息,請參閱 “branch.autoSetupMerge” 。該選項默認為從不。

branch.<name>.remote

在分支<名稱>上時,它會告知git fetch以及git push從哪個遠程獲取/推送。推送到遠程可能會覆蓋remote.pushDefault(對于所有分支機構(gòu))。推送到當前分支的遠程可能會被進一步覆蓋branch.<name>.pushRemote。如果沒有配置遠程設備,或者您不在任何分支上,則默認為origin進行抓取和remote.pushDefault推送。此外,.(一段時間)是當前的本地存儲庫(一個點存儲庫),請參見branch.<name>.merge下面的最終注釋。

branch.<name>.pushRemote

在分支 <name> 上時,它將覆蓋branch.<name>.remote推送。它也覆蓋remote.pushDefault從分支 <name> 推送。當你從一個地方(例如你的上游)拉到另一個地方(例如你自己的發(fā)布庫)時,你需要設置remote.pushDefault指定遠程推送到所有分支,并使用這個選項覆蓋特定的科。

branch.<name>.merge

與branch。<name> .remote 一起定義給定分支的上游分支。它告訴git fetch/ git pull/ git rebase該分支合并,也可以影響git push(見 push.default )。當在分支 <name> 中時,它告訴git fetch默認refspec被標記為在 FETCH_HEAD 中合并。該值的處理方式與 refspec 的遠程部分相同,并且必須匹配從 “branch。<name> .remote” 給出的來自遠程的 ref 。合并信息由git pull(首先調(diào)用git fetch)查找用于合并的默認分支使用。如果沒有這個選項,git pull默認情況下合并第一個獲取的 refspec 。指定多個值以獲得章魚合并。如果你想設置git pull以便它從本地存儲庫中的另一個分支合并到 <name> 中,可以將分支。<name> .merge 指向所需的分支,并使用分支的相對路徑設置.(句點)。<name> .remote 。

branch.<name>.mergeOptions

設置合并到分支 <name> 的默認選項。語法和支持的選項與 git-merge [1] 的相同,但包含空白字符的選項值目前不受支持。

branch.<name>.rebase

如果為 true,則在獲取的分支上重新分支分支 <name> ,而不是在運行 “git pull” 時將默認分支與默認分支合并。請參閱 “pull.rebase” 以非分支特定的方式執(zhí)行此操作。

當保存時,也會傳遞--preserve-merges到,git rebase以便本地提交的合并提交不會因運行而變得平坦git pull。

當值為時interactive,rebase 以交互模式運行。

注意:這是一個可能危險的操作; 你,除非你理解的含義使用它(請查看 git-rebase[1]了解詳細信息)。

branch.<name>.description

分支描述,可以用編輯git branch --edit-description。分支描述將自動添加到格式補丁封面信或請求摘要中。

browser.<tool>.cmd

指定要調(diào)用指定瀏覽器的命令。指定的命令在 shell 中使用作為參數(shù)傳遞的 URL 進行評估。(請參閱 git-web {litdd} 瀏覽[1]。)

browser.<tool>.path

覆蓋可能用于瀏覽 HTML 幫助的指定工具的路徑(請參閱-w git-help [1] 中的選項)或 gitweb 中的工作存儲庫(請參閱 git-instaweb [1] )。

clean.requireForce

一個布爾值使 git-clean 除非給出 -f ,-i 或 -n ,否則不會執(zhí)行任何操作。默認為 true 。

color.branch

在 git-branch [1] 的輸出中啟用/禁用顏色的布爾值??梢栽O置為always,false(或never)或auto(或true),在這種情況下,顏色僅在輸出到終端時使用。如果未設置,則使用該值color.uiauto默認情況下)。

color.branch.<slot>

使用自定義顏色進行分支著色。<slot>current(當前分支),local(本地分支),remote(遠程跟蹤分支在 refs / remotes / ),upstream(上游跟蹤分支),plain(其他參考)之一。

color.diff

是否使用 ANSI 轉(zhuǎn)義序列為補丁添加顏色。如果設置為always,git-diff [1],git-log [1] 和 git-show [1] 將為所有補丁使用顏色。如果設置為trueauto,則這些命令僅在輸出到終端時才使用顏色。如果未設置,則使用該值color.uiauto默認情況下)。

這不會影響 git-format-patch [1] 或git-diff-*管道命令??梢允褂迷?code>--color[=<when>]選項在命令行上覆蓋。

color.diff.<slot>

使用自定義顏色進行差異著色。<slot>指定補丁的哪個部分使用指定的顏色,并且是context(上下文文本 - plain是歷史同義詞),meta(元信息),frag( hunk 標題),func( hunk 標題中的功能),old(刪除的行),new(添加的行),commit(提交標題)或whitespace(突出顯示空白錯誤)。

color.decorate.<slot>

使用自定義顏色進行git log --decorate輸出。<slot>是以下之一branch,remoteBranchtag,stashHEAD為本地分支機構(gòu),遠程跟蹤分支,標簽,分別藏匿和 HEAD 。

color.grep

設置為always時,始終突出顯示匹配項。何時false(或never),永遠不會。設置為true或時auto,僅在輸出寫入終端時使用顏色。如果未設置,則使用該值color.uiauto默認情況下)。

color.grep.<slot>

使用自定義顏色進行 grep 著色。<slot>指定使用指定顏色的線的哪一部分,并且是其中之一

context

上下文行中不匹配的文本(使用-A-B,或-C

filename

文件名前綴(不使用時-h

function

功能名稱行(使用時-p

linenumber

行號前綴(使用時-n

match

匹配的文本(同設定matchContextmatchSelected

matchContext

匹配上下文行中的文本

matchSelected

匹配選定行中的文本

selected

選定行中不匹配的文本

separator

上的線之間的字段分離器(:,-,和=)和厚片之間(--

color.interactive

設置為時always,總是使用交互式提示和顯示的顏色(例如 “git-add --interactive” 和 “git-clean --interactive” 使用的顏色)。當錯誤(或never),從不。設置為true或時auto,僅在輸出到終端時才使用顏色。如果未設置,則使用該值color.uiauto默認情況下)。

color.interactive.<slot>

使用自定義的顏色git add --interactivegit clean --interactive輸出。<slot>可以是prompt,headerhelperror,用于從交互式命令四個不同類型的正常輸出的。

color.pager

當傳呼機正在使用時啟用/禁用彩色輸出的布爾值(默認值為 true )。

color.showBranch

在 git-show-branch [1] 的輸出中啟用/禁用顏色的布爾值??梢栽O置為always,false(或never)或auto(或true),在這種情況下,顏色僅在輸出到終端時使用。如果未設置,則使用該值color.uiauto默認情況下)。

color.status

在 git-status [1] 的輸出中啟用/禁用顏色的布爾值??梢栽O置為always,false(或never)或auto(或true),在這種情況下,顏色僅在輸出到終端時使用。如果未設置,則使用該值color.uiauto默認情況下)。

color.status.<slot>

使用自定義顏色進行狀態(tài)著色。<slot>header(狀態(tài)消息的標題文本),addedupdated(已添加但未提交的changed文件),(已更改但未添加到索引中的untracked文件),(未由 Git 跟蹤的文件),branch(當前分支),nobranchno branch警告顯示的顏色,默認為紅色)localBranchremoteBranch(當分支和跟蹤信息以狀態(tài)短格式顯示時,分別為本地和遠程分支名稱)或unmerged(未合并更改的文件)。

color.ui

此變量確定變量的默認值,例如color.diffcolor.grep控制每個命令系列的顏色使用。隨著更多命令學習配置以設置--color選項的默認值,其范圍將擴大。將其設置為false或者never如果您希望 Git 命令不使用顏色,除非通過某些其他配置或--color選項明確啟用。將它設置為always你希望不希望所有的輸出機消費使用的顏色,來trueauto(這是因為 Git 的1.8.4默認值),如果你希望在寫入到終端,輸出使用的顏色。

column.ui

指定是否應以列的形式輸出支持的命令。該變量由用空格或逗號分隔的令牌列表組成:

這些選項控制何時啟用該功能(默認為never):

always

始終顯示在列中

never

從不顯示在列中

auto

如果輸出到終端,則以列顯示

這些選項控制布局(默認為column)。將上述任何暗示always,如果沒有的alwaysneverauto指定。

column

在行之前填充列

row

在列之前填充行

plain

顯示在一列中

最后,這些選項可以與布局選項(默認為nodense)結(jié)合使用:

dense

制造不同尺寸的列以利用更多的空間

nodense

制作相同大小的列

column.branch

指定是否git branch在列中輸出分支列表。詳情請參閱column.ui

column.clean

列出項目時指定布局git clean -i,它總是以列顯示文件和目錄。詳情請參閱column.ui。

column.status

指定是否git status在列中輸出未跟蹤文件。詳情請參閱column.ui。

column.tag

指定是否git tag在列中輸出標簽列表。詳情請參閱column.ui。

commit.cleanup

此設置將覆蓋該--cleanup選項的默認值git commit。有關詳細信息,請參閱 git-commit [1] 。如果您始終想要#在日志消息中保留以注釋字符開頭的行,那么更改默認值可能很有用,在這種情況下您會這樣做git config commit.cleanup whitespace(請注意,您必須自己移除#以提交日志模板開頭的幫助行,如果你這樣做)。

commit.gpgSign

一個布爾值,指定是否所有提交都應該進行 GPG 簽名。在執(zhí)行諸如 rebase 之類的操作時使用此選項可能會導致大量提交被簽名。使用代理可能會很方便,以避免多次輸入您的 GPG 密碼。

commit.status

使用編輯器準備提交消息時,在提交消息模板中啟用/禁用包含狀態(tài)信息的布爾值。默認為 true 。

commit.template

指定要用作新提交消息模板的文件的路徑名。

commit.verbose

一個 boolean 或 int 來指定詳細級別git commit。請參閱 git-commit [1] 。

credential.helper

指定需要用戶名或密碼憑證時調(diào)用的外部助手; 幫助者可以咨詢外部存儲器以避免提示用戶輸入憑證。請注意,可能會定義多個助手。有關詳細信息,請參閱 gitcredentials [7] 。

credential.useHttpPath

在獲取憑證時,請考慮 http 或 https URL 的“路徑”組件非常重要。默認為 false 。請參閱 gitcredentials [7] 了解更多信息。

credential.username

如果沒有為網(wǎng)絡身份驗證設置用戶名,則默認使用此用戶名。請參閱憑證。<context>.* 以下和 gitcredentials [7] 。

credential.<url>.*

以上任何 credential.* 選項都可以選擇性地應用于某些憑證。例如,“credential.https://example.com.username” 將只為 https 連接到 example.com 設置默認用戶名。有關 URL 如何匹配的詳細信息,請參閱 gitcredentials [7] 。

credentialCache.ignoreSIGHUP

Tell git-credential-cache—daemon to ignore SIGHUP, instead of quitting.

diff.autoRefreshIndex

在使用git diff與工作樹文件進行比較時,不要將僅統(tǒng)計更改視為已更改。相反,靜靜地運行git update-index --refresh以更新其工作樹中的內(nèi)容與索引中的內(nèi)容匹配的路徑的緩存統(tǒng)計信息。該選項默認為 true 。請注意,這僅影響git diff瓷器,而不影響較低等級的diff命令git diff-files

diff.dirstat

以逗號分隔的--dirstat參數(shù)列表,指定--dirstat選項的默認行為,以 git-diff [1] and friends. The defaults can be overridden on the command line (using --dirstat = < param1,param2,... > ). The fallback defaults (when not changed bydiff.dirstat ) are更改,非累積,3`。以下參數(shù)可用:

changes

通過計算已從源中刪除或添加到目標的行來計算 dirstat 數(shù)字。這會忽略文件中純代碼移動的數(shù)量。換句話說,重新排列文件中的行數(shù)不會與其他更改一樣多。這是沒有給出參數(shù)時的默認行為。

lines

通過執(zhí)行常規(guī)基于行的差異分析來計算 dirstat 數(shù)字,并且將移除/添加的行數(shù)相加。(對于二進制文件,取而代之的是計算64字節(jié)的塊,因為二進制文件沒有自然的行概念)。這是一種--dirstatchanges行為更為昂貴的行為,但它可以像其他更改一樣對文件中的重新排列的行進行計數(shù)。結(jié)果輸出與您從其他--*stat選項中獲得的結(jié)果一致。

files

通過計算更改的文件數(shù)量來計算 dirstat 數(shù)字。dirstat 分析中每個更改的文件都相同。這是計算上最便宜的--dirstat行為,因為它根本不需要查看文件內(nèi)容。

cumulative

計數(shù)父目錄的子目錄中的更改。請注意,使用時cumulative,報告的百分比總和可能超過100%。默認(非累積)行為可以用noncumulative參數(shù)指定。

<limit>

整數(shù)參數(shù)指定截斷百分比(默認為3%)。輸出中不顯示貢獻小于此百分比的目錄。

示例:以下內(nèi)容將計數(shù)已更改的文件,同時忽略占已更改文件總數(shù)少于10%的目錄,并累積父目錄中的子目錄計數(shù):files,10,cumulative。

diff.statGraphWidth

在 --stat  輸出中限制圖形部分的寬度。如果設置,則適用于所有生成 --stat 輸出的命令,格式補丁除外。

diff.context

使用 <n> 行上下文生成差異,而不是缺省值3.此值由 -U 選項覆蓋。

diff.interHunkContext

顯示差異 hunk 之間的上下文,直到指定的行數(shù),從而融合彼此接近的 hunk 。該值用作--inter-hunk-context命令行選項的默認值。

diff.external

如果此配置變量已設置,則不會使用內(nèi)部差異機制執(zhí)行差異生成,而是使用給定的命令??梢杂?'GIT_EXTERNAL_DIFF' 環(huán)境變量覆蓋。如 git [1] 中的 “git Diffs” 所述,使用參數(shù)調(diào)用該命令。注意:如果您只想在文件的子集上使用外部差異程序,則可能需要使用 gitattributes [5] 。

diff.ignoreSubmodules

設置 --ignore 子模塊的默認值。請注意,這僅影響git diff瓷器,而不影響較低等級的diff命令git diff-files。git checkout在報告未提交的更改時也會尊重此設置。將其設置為all禁用通常顯示的子模塊摘要,git commit并設置git status何時status.submoduleSummary設置,除非使用 --ignore-submodules 命令行選項覆蓋子摘要。該git submodule命令不受此設置的影響。

diff.mnemonicPrefix

如果設置,則git diff使用與標準 “a /” 和 “b /” 不同的前綴對,具體取決于所比較的內(nèi)容。當此配置生效時,反向差分輸出也會交換前綴的順序:

git diff

比較(i)ndex 和(w)ork 樹;

git diff HEAD

比較(c)ommit 和(w)ork 樹;

git diff --cached

比較(c)ommit 和(i)ndex ;

git diff HEAD:file1 file2

比較(o)bject 和(w)ork 樹實體;

git diff --no-index a b

比較兩個非 Git 事物(1)和(2)。

diff.noprefix

如果設置,git diff則不顯示任何源或目標前綴。

diff.orderFile

指示如何在差異中排序文件的文件。有關-O詳細信息,請參閱 git-diff [1] 選項。如果diff.orderFile是相對路徑名,則將其視為相對于工作樹的頂部。

diff.renameLimit

執(zhí)行復制/重命名檢測時要考慮的文件數(shù)量; 相當于git diff選項-l。

diff.renames

Git 是否以及如何檢測重命名。如果設置為 “false” ,則重命名檢測被禁用。如果設置為 “true” ,則啟用基本重命名檢測。如果設置為“復制”或“復制”,Git 也會檢測副本。默認為 true 。請注意,這只會影響git diff瓷器,如 git-diff [1] 和 git-log [1] ,而不是像 git-diff-files [1] 這樣的低級命令。

diff.suppressBlankEmpty

一個布爾值,用于禁止在每個空輸出行之前打印空間的標準行為。默認為 false 。

diff.submodule

指定顯示子模塊差異的格式?!皊hort” 格式只顯示范圍開始和結(jié)束處的提交名稱?!叭罩尽备袷搅谐隽讼?git-submodule [1] summary這樣的提交范圍?!癲iff” 格式顯示子模塊已更改內(nèi)容的內(nèi)嵌比較。默認為“short”。

diff.wordRegex

POSIX 擴展正則表達式用于在執(zhí)行逐字差異計算時確定什么是“單詞”。與正則表達式匹配的字符序列是“單詞”,所有其他字符都是可忽略的空格。

diff.<driver>.command

自定義比較驅(qū)動程序命令。有關詳細信息,請參閱 gitattributes [5]。

diff.<driver>.xfuncname

diff 驅(qū)動程序應該用來識別大塊頭的正則表達式。內(nèi)置模式也可以使用。有關詳細信息,請參閱 gitattributes [5] 。

diff.<driver>.binary

將此選項設置為 true 以使 diff 驅(qū)動程序?qū)⑽募暈槎M制文件。有關詳細信息,請參閱 gitattributes [5] 。

diff.<driver>.textconv

diff 驅(qū)動程序應調(diào)用的命令來生成文件的文本轉(zhuǎn)換版本。轉(zhuǎn)換結(jié)果用于生成人類可讀的差異。有關詳細信息,請參閱 gitattributes [5] 。

diff.<driver>.wordRegex

diff 驅(qū)動程序應該用來將文本分成一行的正則表達式。有關詳細信息,請參閱 gitattributes [5] 。

diff.<driver>.cachetextconv

將此選項設置為 true 可使 diff 驅(qū)動程序緩存文本轉(zhuǎn)換輸出。有關詳細信息,請參閱 gitattributes [5] 。

diff.tool

控制哪些 diff 工具被 git-difftool [1] 使用。此變量覆蓋在中配置的值merge.tool。下面的列表顯示了有效的內(nèi)置值。任何其他值都被視為自定義比較工具,并要求定義相應的 difftool 。<tool> .cmd 變量。

  • araxis

  • bc

  • bc3

  • codecompare

  • deltawalker

  • diffmerge

  • diffuse

  • ecmerge

  • emerge

  • examdiff

  • gvimdiff

  • gvimdiff2

  • gvimdiff3

  • kdiff3

  • kompare

  • meld

  • opendiff

  • p4merge

  • tkdiff

  • vimdiff

  • vimdiff2

  • vimdiff3

  • winmerge

  • xxdiff

diff.indentHeuristic

將此選項設置true為啟用實驗啟發(fā)式方法,可以改變差異邊界以使修補程序更易于閱讀。

diff.algorithm

選擇一種差異算法。變體如下:

default, myers

基本 diff 算法。目前,這是默認設置。

minimal

花費額外的時間來確保生成最小可能的差異。

patience

生成補丁時使用“耐心差異”算法。

histogram

該算法將耐心算法擴展為“支持低出現(xiàn)率的通用元素”。

diff.wsErrorHighlight

突出顯示空白的錯誤context,old或者new把差異線。多個值以逗號分隔,none重置以前的值,default將列表重置為newall簡寫為old,new,context??瞻族e誤使用了顏色color.diff.whitespace。命令行選項--ws-error-highlight=<kind>覆蓋此設置。

difftool.<tool>.path

覆蓋給定工具的路徑。如果您的工具不在 PATH 中,這非常有用。

difftool.<tool>.cmd

指定用于調(diào)用指定的 diff 工具的命令。指定的命令在 shell 中用以下可用變量評估:LOCAL設置為包含 diff 預映像REMOTE內(nèi)容的臨時文件的名稱,并設置為包含 diff 后映像內(nèi)容的臨時文件的名稱。

difftool.prompt

在每次調(diào)用 diff 工具前提示。

fastimport.unpackLimit

如果通過 git-fast-import [1] 導入的對象數(shù)量低于此限制,則這些對象將被解壓縮為松散的對象文件。但是,如果導入對象的數(shù)量等于或超過此限制,那么該包將作為一個包進行存儲。從快速導入存儲包可以使導入操作更快完成,特別是在慢速文件系統(tǒng)上。如果未設置,transfer.unpackLimit則使用其值。

fetch.recurseSubmodules

該選項可以設置為布爾值或設置為on-demand。將其設置為布爾變量時,會將抓取和拉動的行為更改為設置為 true 時無條件地遞歸到子模塊中,或者在設置為 false 時將其無法遞歸。設置為on-demand(默認值)時,只有在其超級項目檢索用于更新子模塊參考的提交時,提取和拉取才會遞歸到已填充的子模塊中。

fetch.fsckObjects

如果它設置為 true ,git-fetch-pack 將檢查所有提取的對象。如果格式錯誤的對象或鏈接斷開,它將中止。中止的結(jié)果只是懸掛的對象。默認為 false 。如果未設置,transfer.fsckObjects則使用其值。

fetch.unpackLimit

如果通過 Git 本地傳輸獲取的對象數(shù)量低于此限制,則這些對象將被解包為松散的對象文件。但是,如果接收到的對象數(shù)量等于或超過此限制,則在添加任何缺少的增量基數(shù)后,接收的數(shù)據(jù)包將作為一個包存儲。從推存儲包可以使推送操作更快完成,特別是在慢速文件系統(tǒng)上。如果未設置,transfer.unpackLimit則使用其值。

fetch.prune

如果為 true ,那么 fetch 將自動運行,就像--prune在命令行上給出選項一樣。另見remote.<name>.prune。

fetch.output

控制如何打印參考更新狀態(tài)。有效值是fullcompact。默認值是full。有關詳細信息,請參見 git-fetch [1] 中的 OUTPUT 部分。

format.attach

啟用多部分/混合附件作為默認值format-patch。該值也可以是一個雙引號字符串,它將啟用附件作為默認值并將該值設置為邊界。請參閱 git-format-patch [1] 中的 --attach 選項。

format.from

提供--from format-patch 選項的默認值。接受布爾值,或名稱和電子郵件地址。如果為 false ,format-patch 默認為--no-from,直接在補丁郵件的 “From:” 字段中使用提交作者。如果為 true ,format-patch 將默認為--from:在補丁郵件的“發(fā)件人:”字段中使用提交者標識,如果不同,則在補丁郵件正文中包含“發(fā)件人:”字段。如果設置為非布爾值,format-patch 將使用該值而不是提交者標識。默認為 false 。

format.numbered

一個布爾值,可以啟用或禁用補丁主題中的序列號。它默認為“自動”,只有在有多個補丁時才啟用它。通過將其設置為 “true” 或 “false” ,可以啟用或禁用所有消息。請參閱 git-format-patch [1] 中的 --numbered 選項。

format.headers

要通過郵件提交的補丁包含的其他電子郵件標題。參見 git-format-patch [1] 。

format.to   format.cc

其他收件人將包含在通過郵件提交的補丁中。請參閱 git-format-patch [1] 中的 --to 和 --cc 選項。

format.subjectPrefix

format-patch 的默認設置是輸出帶有[PATCH]主題前綴的文件。使用此變量來更改該前綴。

format.signature

format-patch 的默認值是輸出包含 Git 版本號的簽名。使用此變量來更改該默認值。將此變量設置為空字符串(“”)以抑制簽名生成。

format.signatureFile

與 format.signature 一樣工作,除了由該變量指定的文件內(nèi)容將用作簽名。

format.suffix

format-patch 的默認值是輸出帶有后綴的文件.patch。使用此變量來更改該后綴(如果需要,請確保包含點)。

format.pretty

log / show / whatchanged 命令的默認漂亮格式,請參閱 git-log [1],git-show [1],git-whatchanged [1]。

format.thread

默認的線程風格git format-patch。可以是布爾值或shallowor deep。shallow線程使得每一封郵件都可以回復該系列的頭部,頭部從封面信件,--in-reply-to第一個補丁郵件中按順序選擇。deep線程使每個郵件回復到前一個郵件。一個真正的布爾值是相同的shallow,而一個錯誤的值會禁用線程。

format.signOff

-s/--signoff默認情況下允許啟用 format-patch 選項的布爾值。注意:將Signed-off-by:行添加到補丁應該是有意識的行為,并且意味著您證明您有權(quán)在相同的開源許可下提交此項工作。請參閱SubmittingPatches文檔以作進一步討論。

format.coverLetter

一個布爾值,用于控制是否在調(diào)用 format-patch 時生成封面字母,但另外可以設置為“auto”,以便僅在存在多個修補程序時才生成封面字母。

format.outputDirectory

設置一個自定義目錄來存儲結(jié)果文件,而不是當前的工作目錄。

format.useAutoBase

--base=auto默認情況下允許啟用 format-patch 選項的布爾值。

filter.<driver>.clean

簽入時用于將工作樹文件的內(nèi)容轉(zhuǎn)換為斑點的命令。有關詳細信息,請參閱 gitattributes [5]。

filter.<driver>.smudge

用于在簽出時將 blob 對象的內(nèi)容轉(zhuǎn)換為工作樹文件的命令。有關詳細信息,請參閱 gitattributes [5]。

fsck.<msg-id>

允許覆蓋特定消息標識的消息類型(錯誤,警告或忽略),例如missingEmail。

為了方便起見,fsck 在錯誤/警告前添加了消息 ID,例如“missingEmail:invalid author / committer line  -  missing email”意味著該設置fsck.missingEmail = ignore將隱藏該問題。

此功能旨在支持使用舊版存儲庫,而這些存儲庫在不發(fā)生破壞性更改的情況下無法修復。

fsck.skipList

已知以非致命方式破壞的對象名稱的排序列表(即每行一個 SHA-1)的路徑應被忽略。如果盡早提交包含可安全忽略的錯誤(如無效的提交者電子郵件地址)的應用程序,則應接受已建立的項目,此功能非常有用。注意:使用此設置不能跳過損壞的對象。

gc.aggressiveDepth

深度參數(shù)用于由 delta 壓縮算法使用git gc --aggressive。默認值為50。

gc.aggressiveWindow

窗口大小參數(shù)用于由 delta 壓縮算法使用git gc --aggressive。這默認為250。

gc.auto

如果存儲庫中的這些松散對象的數(shù)量大約超過了這個數(shù)量,git gc --auto則會將它們打包。一些 Porcelain 命令使用此命令不時執(zhí)行輕量級垃圾回收。默認值為6700.將其設置為0將禁用它。

gc.autoPackLimit

如果*.keep存儲庫中存在多個未標記文件的包,則會git gc --auto將它們合并到一個更大的包中。默認值為50.將其設置為0將禁用它。

gc.autoDetach

git gc --auto立即返回,并在后臺運行,如果系統(tǒng)支持它。默認值是 true。

gc.logExpiry

如果文件 gc.log 存在,則git gc --auto不會運行,除非該文件比gc.logExpiry舊版本更老。默認是“1.day”。請參閱gc.pruneExpire更多指定其值的方法。

gc.packRefs

git pack-refs在存儲庫中運行會使其無法通過1.5.1.2之前的Git版本在諸如HTTP之類的啞傳輸上進行克隆。這個變量決定了是否git gc運行git pack-refs??梢詫⑵湓O置為notbare在所有非裸回購庫中啟用它,或者可以將其設置為布爾值。默認是true

gc.pruneExpire

什么時候git gc運行,它會調(diào)用prune --expire 2.weeks.ago。用此配置變量覆蓋寬限期。值“now”可用于禁用此寬限期并且總是立即修剪不可到達的對象,或者可以使用“never”來抑制修剪。此功能有助于防止在git gc與另一個寫入存儲庫的進程同時運行時發(fā)生損壞; 請參閱git-gc [1]的“NOTES”部分。

gc.worktreePruneExpire

git gc運行時,它調(diào)用git worktree prune --expire 3.months.ago。此配置變量可用于設置不同的寬限期。值“now”可用于禁用寬限期并$GIT_DIR/worktrees立即修剪,或者“never”可用于抑制修剪。

gc.reflogExpire   gc.<pattern>.reflogExpire

git reflog expire刪除比此時早的reflog條目; 默認為90天。值“now”立即使所有條目到期,并且“never”完全禁止到期。在中間,使用“<pattern>”(例如“refs / stash”),該設置僅適用于匹配<pattern>的ref。

gc.reflogExpireUnreachable   gc.<pattern>.reflogExpireUnreachable

git reflog expire刪除比這次更早的reflog條目,并且不能從當前提示中獲得; 默認為30天。值“now”立即使所有條目到期,并且“never”完全禁止到期。在中間使用“<pattern>”(例如“refs / stash”),該設置僅適用于匹配<pattern>的ref。

gc.rerereResolved

您以前解決的沖突合并記錄在git rerere gc運行時會保留這么多天。缺省值是60天。參見git-rerere [1]。

gc.rerereUnresolved

運行時,您尚未解決的沖突合并記錄會保留多天git rerere gc。默認值是15天。參見git-rerere [1]。

gitcvs.commitMsgAnnotation

追加此字符串到每個提交消息。設置為空字符串以禁用此功能。默認為“通過git-CVS模擬器”。

gitcvs.enabled

是否為此存儲庫啟用了 CVS 服務器接口。參見git-cvsserver [1]。

gitcvs.logFile

指向 CVS 服務器接口的日志文件的路徑...記錄各種東西。參見git-cvsserver [1]。

gitcvs.usecrlfattr

如果為 true,則服務器將查找文件的行尾轉(zhuǎn)換屬性以確定-k要使用的模式。如果這些屬性強制 Git 將文件視為文本,則該-k模式將保留為空,以便 CVS 客戶端將其視為文本。如果他們禁止文本轉(zhuǎn)換,文件將被設置為-kb模式,這會抑制客戶端可能執(zhí)行的任何換行。如果屬性不允許確定文件類型,則gitcvs.allBinary使用該屬性。見gitattributes [5]。

gitcvs.allBinary

如果gitcvs.usecrlfattr不解決使用正確的-kb模式,則使用此選項。如果為true,則所有未解析的文件將以模式發(fā)送到客戶端-kb。這會導致客戶端將它們視為二進制文件,這會壓制任何換行符,否則可能會這樣做?;蛘撸绻辉O置為“猜測”,則檢查文件的內(nèi)容以確定它是否是二進制的,類似于core.autocrlf。

gitcvs.dbName

數(shù)據(jù)庫由 git-cvsserver 用來緩存來自 Git 倉庫的修訂信息。確切的含義取決于使用的數(shù)據(jù)庫驅(qū)動程序,對于 SQLite(這是默認驅(qū)動程序),這是一個文件名。支持變量替換(詳情請參閱git-cvsserver [1])。不能包含分號(;)。默認:%Ggitcvs.%m.sqlite

gitcvs.dbDriver

使用 Perl DBI 驅(qū)動程序。你可以在這里指定任何可用的驅(qū)動程序,但它可能不起作用。git-cvsserver已經(jīng)過測試DBD::SQLite,報告可以使用DBD::Pg,并報告不能使用DBD::mysql。實驗功能。不能包含雙冒號(:)。默認:SQLite。參見git-cvsserver [1]。

gitcvs.dbUser, gitcvs.dbPass

數(shù)據(jù)庫用戶和密碼。只有在設置時才有用gitcvs.dbDriver,因為SQLite 沒有數(shù)據(jù)庫用戶和/或密碼的概念。gitcvs.dbUser支持變量替換(詳見git-cvsserver [1])。

gitcvs.dbTableNamePrefix

數(shù)據(jù)庫表名稱前綴。用于所使用的任何數(shù)據(jù)庫表的名稱,允許單個數(shù)據(jù)庫用于多個存儲庫。支持變量替換(詳情請參閱 git-cvsserver [1])。任何非字母字符將被替換為下劃線。

所有 gitcvs 變量,除了gitcvs.usecrlfattrgitcvs.allBinary也可以被指定為gitcvs.<access_method>.<varname>(其中access_method是“ext”和“pserver”之一),使它們僅適用于給定的訪問方法。

gitweb.category   gitweb.description   gitweb.owner   gitweb.url

有關說明,請參閱gitweb [1]。

gitweb.avatar   gitweb.blame   gitweb.grep   gitweb.highlight   gitweb.patches   gitweb.pickaxe   gitweb.remote_heads   gitweb.showSizes   gitweb.snapshot

有關說明,請參閱gitweb.conf [5]。

grep.lineNumber

如果設置為true,則-n默認啟用選項。

grep.patternType

設置默認的匹配行為。使用值basic,extendedfixed,或perl將啟用--basic-regexp,--extended-regexp--fixed-strings,或--perl-regexp相應的選項,而值default將返回到默認匹配行為。

grep.extendedRegexp

如果設置為 true,則--extended-regexp默認啟用選項。當該grep.patternType選項設置為非。時,該選項將被忽略default。

grep.threads

要使用的 grep 工作線程數(shù)。請參閱grep.threadsgit-grep [1] 以獲取更多信息。

grep.fallbackToNoIndex

如果設置為 true,則回退到 git grep --no-index,如果 git grep 在git 存儲庫之外執(zhí)行。默認為 false。

gpg.program

在制作或驗證 PGP 簽名時使用此自定義程序而不是“ gpg$PATH。該程序必須支持與 GPG 相同的命令行界面,即驗證分離的簽名,“ gpg --verify $file - <$signature”已運行,并且該程序應通過以代碼0退出來發(fā)出良好的簽名,并生成 ASCII 裝甲的分離簽名時,“ gpg -bsau $key” 的標準輸入將與要簽名的內(nèi)容一起提供,程序應將結(jié)果發(fā)送至其標準輸出。

gui.commitMsgWidth

定義 git-gui [1] 中提交消息窗口的寬度?!?5”是默認值。

gui.diffContext

指定在由 git-gui [1] 進行的 diff 調(diào)用中應該使用多少上下文行。默認值是“5”。

gui.displayUntracked

確定 git-gui [1] 是否在文件列表中顯示未跟蹤文件。默認值是“true”。

gui.encoding

指定用于顯示 git-gui [1] 和 gitk [1] 中文件內(nèi)容的默認編碼??梢酝ㄟ^設置encoding相關文件的屬性來覆蓋它(請參閱gitattributes [5])。如果未設置此選項,則工具默認為區(qū)域設置編碼。

gui.matchTrackingBranch

確定使用 git-gui [1] 創(chuàng)建的新分支是否應默認跟蹤具有匹配名稱的遠程分支。默認值:“false”。

gui.newBranchTemplate

在使用 git-gui 創(chuàng)建新分支時用作建議名稱[1]。

gui.pruneDuringFetch

如果git-gui [1]在執(zhí)行提取時應修剪遠程跟蹤分支,則為“true”。默認值是“false”。

gui.trustmtime

確定 git-gui [1] 是否應該信任文件修改時間戳。默認情況下,時間戳不受信任。

gui.spellingDictionary

指定在 git-gui [1] 中用于拼寫檢查提交消息的字典。當設置為“無”時,拼寫檢查被關閉。

gui.fastCopyBlame

如果為 true,則git gui blame用于-C替代-C -C原始位置檢測。它會以巨大的副本檢測為代價,在巨大的存儲庫上大大加快責任。

gui.copyBlameThreshold

指定用于git gui blame原始位置檢測的閾值,以字母數(shù)字字符度量。有關復制檢測的更多信息,請參閱 git-blame [1]手冊。

gui.blamehistoryctx

指定從 gitk [1] 中顯示所選提交時歷史上下文的半徑(以天為單位),當Show History Context從中調(diào)用菜單項時git gui blame。如果此變量設置為零,則顯示整個歷史記錄。

guitool.<name>.cmd

指定在Tools調(diào)用 git-gui [1] 菜單的相應項時執(zhí)行的 shell 命令行。每個工具都必須使用此選項。該命令從工作目錄的根目錄開始執(zhí)行,并且在環(huán)境中它接收工具GIT_GUITOOL的名稱,當前選擇的文件FILENAME的名稱為,當前分支的名稱為CUR_BRANCH(如果頭已分離,CUR_BRANCH則為空)。

guitool.<name>.needsFile

只有在 GUI 中選擇差異時才運行該工具。它保證FILENAME不是空的。

guitool.<name>.noConsole

以靜默方式運行該命令,而不創(chuàng)建窗口來顯示其輸出。

guitool.<name>.noRescan

工具完成執(zhí)行后,不要重新掃描工作目錄以進行更改。

guitool.<name>.confirm

在實際運行該工具之前顯示一個確認對話框。

guitool.<name>.argPrompt

從用戶請求一個字符串參數(shù),并通過ARGS環(huán)境變量將其傳遞給工具。由于請求參數(shù)意味著確認,confirm如果啟用該選項,則該選項不起作用。如果該選項設置為true,,yes1,則該對話框使用內(nèi)置的通用提示; 否則使用變量的確切值。

guitool.<name>.revPrompt

從用戶請求一個有效的修訂,并設置REVISION環(huán)境變量。在其他方面,這個選項類似于argPrompt,并且可以與它一起使用。

guitool.<name>.revUnmerged

僅顯示子revPrompt對話框中的未合并分支。這對類似于合并或重新綁定的工具很有用,但不適用于結(jié)帳或重置等工具。

guitool.<name>.title

指定用于提示對話框的標題。默認值是工具名稱。

guitool.<name>.prompt

argPrompt和之前的小節(jié)前面指定要顯示在對話框頂部的常規(guī)提示字符串revPrompt。默認值包括實際的命令。

help.browser

指定將用于以web格式顯示幫助的瀏覽器。請參閱 git-help [1]。

help.format

覆蓋 git-help [1] 使用的默認幫助格式。值man,info,webhtml支持。man是默認值。web并且html是相同的。

help.autoCorrect

在等待給定的十分之一秒(0.1秒)后,自動糾正并執(zhí)行錯誤輸入的命令。如果可以從輸入的文本中推斷出多個命令,則不執(zhí)行任何操作。如果此選項的值為負數(shù),則會立即執(zhí)行更正的命令。如果該值為0  - 該命令將僅顯示但不執(zhí)行。這是默認設置。

help.htmlPath

指定 HTML 文檔所在的路徑。支持文件系統(tǒng)路徑和 URL。當幫助以web格式顯示時,HTML 頁面將以此路徑作為前綴。這默認為Git安裝的文檔路徑。

http.proxy

重寫的 HTTP 代理,使用通常被配置http_proxyhttps_proxyall_proxy環(huán)境變量(見curl(1))。除了 curl 理解的語法外,還可以指定一個帶有用戶名但沒有密碼的代理字符串,在這種情況下,git將嘗試以與其他憑據(jù)相同的方式獲取一個代理字符串。請參閱gitcredentials [7]了解更多信息。語法就是這樣[protocol://][user[:password]@]proxyhost[:port]。這可以在每個遠程的基礎上被覆蓋; 請參閱remote。<name> .proxy

http.proxyAuthMethod

設置對 HTTP 代理進行身份驗證的方法。這只有在配置的代理字符串包含用戶名部分(即具有表格user@hostuser@host:port)的情況下才會生效。這可以在每個遠程的基礎上被覆蓋; 見remote.<name>.proxyAuthMethod。兩者都可以被GIT_HTTP_PROXY_AUTHMETHOD環(huán)境變量覆蓋。可能的值是:

  • anyauth - 自動選擇合適的認證方法。假設代理使用407狀態(tài)代碼和一個或多個具有支持的認證方法的代理認證頭來回答未經(jīng)身份驗證的請求。這是默認設置。

  • basic  -  HTTP基本認證

  • digest -  HTTP摘要認證; 這可以防止密碼以明文形式傳輸?shù)酱矸掌?/p>

  • negotiate-  GSS協(xié)商認證(比較 - 協(xié)商選項curl(1)

  • ntlm-  NTLM身份驗證(比較--ntlm選項curl(1)

http.emptyAuth

嘗試認證而不尋求用戶名或密碼。這可用于嘗試 GSS 協(xié)商身份驗證,而無需在 URL 中指定用戶名,因為 libcurl 通常需要用戶名進行身份驗證。

http.delegation

控制 GSSAPI 憑據(jù)委派。從版本7.21.7開始,代理在libcurl中默認處于禁用狀態(tài)。設置參數(shù)以告訴服務器當涉及到用戶憑證時允許委派什么。與GSS / Kerberos一起使用??赡艿闹凳牵?/p>

  • none  - 不允許任何代表團。

  • policy  - 當且僅當在Kerberos服務票據(jù)中設置了OK-AS-DELEGATE標志時才委派,這是領域策略的問題。

  • always  - 無條件允許服務器委派。

http.extraHeader

與服務器通信時傳遞額外的 HTTP 標頭。如果存在多個這樣的條目,則將它們?nèi)刻砑訛轭~外的標題。要允許覆蓋從系統(tǒng)配置繼承的設置,一個空值會將額外的標題重置為空列表。

http.cookieFile

包含先前存儲的 cookie 行的文件的路徑名,如果它們與服務器匹配,則應該在Git http會話中使用該行。從中讀取 cookie 的文件的文件格式應該是普通的HTTP頭文件或Netscape / Mozilla的 cookie 文件格式(請參閱參考資料curl(1))。請注意,除非設置了http.saveCookies,否則使用http.cookieFile指定的文件僅用作輸入。

http.saveCookies

如果設置,則將請求期間收到的 cookie 存儲到由 http.cookieFile 指定的文件中。如果 http.cookieFile 未設置,則不起作用。

http.sslVersion

協(xié)商 SSL 連接時要使用的 SSL 版本,如果要強制使用默認值。可用和默認版本取決于 libcurl 是針對 NSS 還是 OpenSSL 構(gòu)建的,以及正在使用的加密庫的特定配置。在內(nèi)部設置CURLOPT_SSL_VERSION選項; 請參閱 libcurl 文檔以獲取有關此選項格式和支持的ssl版本的更多詳細信息。其實這個選項的可能值是:

  • sslv2

  • sslv3

  • tlsv1

  • tlsv1.0

  • tlsv1.1

  • tlsv1.2

可以被GIT_SSL_VERSION環(huán)境變量覆蓋。要強制 git 使用 libcurl 的默認 ssl 版本并忽略任何明確的 http.sslversion選項,請設置GIT_SSL_VERSION為空字符串。

http.sslCipherList

協(xié)商 SSL 連接時使用的 SSL 密碼列表??捎玫拿艽a取決于 libcurl 是否針對 NSS 或 OpenSSL 構(gòu)建,以及正在使用的加密庫的特定配置。在內(nèi)部設置CURLOPT_SSL_CIPHER_LIST選項; 請參閱libcurl文檔以獲取有關此列表格式的更多詳細信息。

可以被GIT_SSL_CIPHER_LIST環(huán)境變量覆蓋。要強制 git 使用 libcurl 的默認密碼列表并忽略任何明確的http.sslCipherList選項,請設置GIT_SSL_CIPHER_LIST為空字符串。

http.sslVerify

在獲取或推送 HTTPS 時是否驗證 SSL 證書。可以被GIT_SSL_NO_VERIFY環(huán)境變量覆蓋。

http.sslCert

提取或推送HTTPS時包含SSL證書的文件??梢员?code>GIT_SSL_CERT環(huán)境變量覆蓋。

http.sslKey

在獲取或推送 HTTPS 時包含 SSL 私鑰的文件??梢员?code>GIT_SSL_KEY環(huán)境變量覆蓋。

http.sslCertPasswordProtected

啟用 Git 的密碼提示輸入 SSL 證書。否則 OpenSSL 會提示用戶,可能很多次,如果證書或私鑰是加密的??梢员?code>GIT_SSL_CERT_PASSWORD_PROTECTED環(huán)境變量覆蓋。

http.sslCAInfo

包含證書的文件,用于在獲取或推送 HTTPS 時驗證對等體??梢员?code>GIT_SSL_CAINFO環(huán)境變量覆蓋。

http.sslCAPath

包含帶有CA證書的文件的路徑,用于在獲取或推送HTTPS時驗證對等體??梢员?code>GIT_SSL_CAPATH環(huán)境變量覆蓋。

http.pinnedpubkey

https服務的公鑰。它可以是 PEM 或 DER 編碼的公鑰文件的文件名,或者是以公鑰sha256//的 base64 編碼的 sha256 哈希開頭的字符串。另請參閱 libcurl CURLOPT_PINNEDPUBLICKEY。如果設置了此選項但cURL不支持,git將退出并顯示錯誤。

http.sslTry

嘗試在通過常規(guī)FTP協(xié)議連接時使用AUTH SSL / TLS和加密數(shù)據(jù)傳輸。如果FTP服務器出于安全原因需要FTP服務器,或者希望在遠程FTP服務器支持時安全地連接,則可能需要這樣做。默認值為false,因為它可能會在錯誤配置的服務器上觸發(fā)證書驗證錯誤。

http.maxRequests

并行啟動多少個HTTP請求??梢员?code>GIT_HTTP_MAX_REQUESTS環(huán)境變量覆蓋。缺省值是5。

http.minSessions

請求中保留的卷發(fā)會話數(shù)(跨槽計數(shù))。在調(diào)用http_cleanup()之前,它們不會以curl_easy_cleanup()結(jié)束。如果未定義USE_CURL_MULTI,則此值將被限制為1.默認為1。

http.postBuffer

將數(shù)據(jù)發(fā)布到遠程系統(tǒng)時,智能HTTP傳輸所使用的緩沖區(qū)的最大大?。ㄒ宰止?jié)為單位)。對于大于此緩沖區(qū)大小的請求,使用HTTP / 1.1和Transfer-Encoding:chunked來避免在本地創(chuàng)建大量的包文件。默認值是1 MiB,這對大多數(shù)請求來說已經(jīng)足夠了。

http.lowSpeedLimit, http.lowSpeedTime

如果HTTP傳輸速度小于http.lowSpeedLimit用于長于http.lowSpeedTime秒,傳送被中止。可以通過覆蓋GIT_HTTP_LOW_SPEED_LIMITGIT_HTTP_LOW_SPEED_TIME環(huán)境變量。

http.noEPSV

通過curl禁止使用EPSV ftp命令的布爾值。這對于一些不支持EPSV模式的“差”ftp服務器可能會有所幫助??梢员?code>GIT_CURL_FTP_NO_EPSV環(huán)境變量覆蓋。默認值為false(卷曲將使用EPSV)。

http.userAgent

提供給 HTTP 服務器的 HTTP USER_AGENT 字符串。默認值表示客戶端 Git 的版本,例如 git / 1.7.1。此選項允許您將此值覆蓋為更常見的值,例如 Mozilla / 4.0。例如,如果通過限制HTTP連接的防火墻連接到一組通用的 USER_AGENT 字符串(但不包括像git / 1.7.1那樣的字符串),這可能是必要的??梢员?code>GIT_HTTP_USER_AGENT環(huán)境變量覆蓋。

http.followRedirects

git 是否應該遵循 HTTP 重定向。如果設置為true,git將透明地遵循由它遇到的服務器發(fā)出的任何重定向。如果設置為false,git會將所有重定向視為錯誤。如果設置為initial,git只會將重定向追蹤到遠程的初始請求,而不是后續(xù)的后續(xù)HTTP請求。由于git使用重定向的URL作為后續(xù)請求的基礎,這通常就足夠了。默認是initial。

http.<url>.*

上面的任何 http。*選項都可以選擇性地應用于某些 URL。要使配置鍵匹配 URL,需要按照以下順序?qū)⑴渲面I的每個元素與 URL 的元素進行比較:

  1. Scheme(例如,httpsin https://example.com/)。該字段必須與配置密鑰和URL完全匹配。

  2. 主機/域名(例如,example.comin https://example.com/)。該字段必須在配置密鑰和URL之間匹配。可以*將主機名的一部分指定為匹配此級別的所有子域。https://*.example.com/例如會匹配https://foo.example.com/,但不會https://foo.bar.example.com/。

  3. 端口號(例如,8080in http://example.com:8080/)。該字段必須與配置密鑰和URL完全匹配。匹配前,省略的端口號會自動轉(zhuǎn)換為方案的正確默認值。

  4. 路徑(例如,repo.gitin https://example.com/repo.git)。配置密鑰的路徑字段必須與URL的路徑字段完全匹配或作為以斜杠分隔的路徑元素的前綴。這意味著具有路徑foo/匹配URL路徑的配置密鑰foo/bar。前綴只能匹配斜線(/)邊界。較長的匹配優(yōu)先(因此,帶路徑的配置鍵與foo/barURL路徑的匹配性好于foo/bar僅帶路徑的配置鍵foo/)。

  5. 用戶名(例如,userin https://user@example.com/repo.git)。如果配置密鑰具有用戶名,則它必須完全匹配URL中的用戶名。如果配置密鑰沒有用戶名,則該配置密鑰將匹配具有任何用戶名(包括無)的URL,但優(yōu)先級低于具有用戶名的配置密鑰。

上面的列表按優(yōu)先順序排列; 與配置鍵路徑相匹配的URL優(yōu)于匹配其用戶名的 URL。例如,如果 URL 是https://user@example.com/foo/bar一個配置密鑰匹配項,https://example.com/foo將優(yōu)先于配置密鑰匹配項https://user@example.com

在嘗試任何匹配之前,所有的 URL 都被標準化(如果嵌入在 URL 中,密碼部分總是被忽略以便匹配),以便簡單拼寫不同的等效 URL 可以正確匹配。環(huán)境變量設置總是覆蓋任何匹配。匹配的 URL 是直接指向Git 命令的 URL。這意味著由于重定向而訪問的任何 URL 都不參與匹配。

ssh.variant

取決于環(huán)境變量的值GIT_SSHGIT_SSH_COMMAND,或配置設置core.sshCommand,GIT 中自動檢測是否需要調(diào)整其命令行參數(shù)用于與PLINK 或使用的 TortoisePlink,而不是默認值(的OpenSSH)。

配置變量ssh.variant可以設置為覆蓋此自動檢測; 有效值為ssh,plink,puttytortoiseplink。任何其他值將被視為正常的ssh。該設置可以通過環(huán)境變量覆蓋GIT_SSH_VARIANT

i18n.commitEncoding

編碼提交消息的字符存儲在;  Git 本身并不在乎,但是這些信息是必要的,例如從電子郵件或 gitk 圖形歷史瀏覽器(可能在將來其他地方或其他porcelains中)導入提交時。參見例如 git-mailinfo [1]。默認為utf-8

i18n.logOutputEncoding

編碼提交消息的字符將轉(zhuǎn)換為運行時git log和朋友。

imap

imap節(jié)中的配置變量在 git-imap-send [1] 中進行了描述。

index.version

指定用于初始化新索引文件的版本。這不會影響現(xiàn)有的存儲庫。

init.templateDir

指定將從中復制模板的目錄。(請參閱 git-init [1] 的“TEMPLATE DIRECTORY”部分。)

instaweb.browser

指定將用于在 gitweb 中瀏覽工作存儲庫的程序。參見 git-instaweb [1]。

instaweb.httpd

HTTP daemon 命令行在您的工作存儲庫上啟動 gitweb。參見 git-instaweb [1]。

instaweb.local

如果為 true,則由 git-instaweb [1] 啟動的 Web 服務器將綁定到本地IP(127.0.0.1)。

instaweb.modulePath

使用 git-instaweb [1] 而不是/ usr / lib / apache2 / modules的默認模塊路徑。僅在 httpd 是 Apache 時使用。

instaweb.port

將 gitweb httpd 綁定到的端口號。參見 git-instaweb [1]。

interactive.singleKey

在交互式命令中,允許用戶使用單個鍵提供單字母輸入(即不輸入)。目前,這被--patchgit-add [1],git-checkout [1],git-commit [1],git-reset [1 ]和 git-stash [1]使用。請注意,如果便攜式按鍵輸入不可用,則此設置將被忽略; 需要Perl模塊Term :: ReadKey。

interactive.diffFilter

當一個交互式命令(比如git add --patch)顯示一個彩色差異時,git 會通過由該配置變量定義的shell命令來傳遞 diff。該命令可以進一步標記用于人類消費的差異,前提是它保留與原始差異中的行的一一對應關系。默認為禁用(不過濾)。

log.abbrevCommit

如果為 true,則使 git-log [1],git-show [1] 和 git-whatchanged [1]假定--abbrev-commit。您可以使用覆蓋此選項--no-abbrev-commit。

log.date

設置命令的默認日期時間模式log。為 log.date 設置一個值與使用git log's --date選項類似。有關詳細信息,請參閱 git-log [1]。

log.decorate

打印 log 命令顯示的任何提交的 ref 名稱。如果short被指定,裁判名稱前綴refs/heads/,refs/tags/并且refs/remotes/將不被打印。如果full指定,將打印完整的參考名稱(包括前綴)。如果auto被指定,那么如果輸出到達終端,則 ref 名稱顯示為如果short給定,否則不顯示 ref 名稱。這與--decorate選項相同git log。

log.follow

如果truegit log將作為如果--follow當單個<path>在給定的使用選項。這與它具有相同的限制--follow,即它不能用于跟蹤多個文件,并且在非線性歷史記錄上不能很好地工作。

log.graphColors

以逗號分隔的顏色列表,可用于繪制歷史線條git log --graph。

log.showRoot

如果為 true,則初始提交將顯示為一個大創(chuàng)建事件。這相當于針對空樹的差異。諸如 git-log [1] 或 git-whatchanged [1] 之類的工具通常會隱藏根提交,現(xiàn)在將顯示它。默認情況下為真。

log.showSignature

如果為 true,則使 git-log [1],git-show [1] 和 git-whatchanged [1]假定--show-signature

log.mailmap

如果為 true,則使 git-log [1],git-show [1] 和 git-whatchanged [1]假定--use-mailmap。

mailinfo.scissors

如果為 true,默認情況下會使 git-mailinfo [1](因此git-am [1])起作用,就像在命令行上提供了--scissors選項一樣。激活時,此功能可在剪刀線(即主要由“> 8”,“8”和“ - ”)組成的剪刀線之前移除消息體中的所有內(nèi)容。

mailmap.file

擴充郵件地圖文件的位置。位于存儲庫根目錄中的默認郵件地圖首先被加載,然后被加載,然后被該變量指向的郵件地圖文件。郵件地圖文件的位置可能位于存儲庫子目錄中,或者位于存儲庫本身之外的某個位置。參見 git-shortlog [1]和git-blame [1]。

mailmap.blob

就像mailmap.file,但是將該值視為對存儲庫中 blob 的引用。如果兩個mailmap.filemailmap.blob給出,兩者都分析,從項目mailmap.file采取優(yōu)先次序。在裸倉庫中,默認為HEAD:.mailmap。在非裸倉庫中,它默認為空。

man.viewer

指定可用于以man格式顯示幫助的程序。請參閱 git-help [1]。

man.<tool>.cmd

指定命令來調(diào)用指定的 man 查看器。指定的命令在shell中使用作為參數(shù)傳遞的手冊頁進行評估。(請參閱git-help [1]。)

man.<tool>.path

覆蓋可能用于以man格式顯示幫助的給定工具的路徑。請參閱 git-help [1]。

merge.conflictStyle

指定在合并時將沖突的區(qū)塊寫入工作樹文件的樣式。默認值是“合并”,它顯示了一個<<<<<<<沖突標記,一側(cè)=======發(fā)生的變化,一個標記,另一側(cè)發(fā)生的變化,然后是>>>>>>>標記。另一種樣式“diff3”在|||||||標記之前添加了一個標記和原始文本=======。

merge.defaultToUpstream

如果在沒有任何提交參數(shù)的情況下調(diào)用合并,則使用存儲在其遠程跟蹤分支中的上次觀察值合并為當前分支配置的上游分支。查詢branch.<current branch>.merge名稱為遠程命名的遠程分支的值branch.<current branch>.remote,然后將它們映射remote.<remote>.fetch到其對應的遠程跟蹤分支,并合并這些跟蹤分支的提示。

merge.ff

默認情況下,Git 在合并作為當前提交的后代的提交時不會創(chuàng)建額外的合并提交。相反,當前分支的尖端被快速轉(zhuǎn)發(fā)。當設置為false,這個變量告訴Git在這種情況下創(chuàng)建一個額外的合并提交(相當于--no-ff從命令行提供選項)。設置only為時,只允許進行這種快進合并(相當于--ff-only從命令行提供選項)。

merge.branchdesc

除了分支名稱之外,還可以使用與它們關聯(lián)的分支描述文本填充日志消息。默認為 false。

merge.log

除了分支名稱之外,還可以在日志消息中最多填寫指定數(shù)量的來自要合并的實際提交的單行描述。默認為 false,true 為20的同義詞。

merge.renameLimit

在合并期間執(zhí)行重命名檢測時要考慮的文件數(shù)量; 如果未指定,則默認為 diff.renameLimit 的值。

merge.renormalize

告訴 Git 存儲庫中文件的規(guī)范表示已經(jīng)隨時間而改變(例如,較早的提交記錄具有 CRLF 行尾的文本文件,但最近使用LF行結(jié)尾)。在這樣的存儲庫中,Git 可以在提交之前將提交中記錄的數(shù)據(jù)轉(zhuǎn)換為規(guī)范形式,然后再執(zhí)行合并以減少不必要的沖突。有關更多信息,請參閱gitattributes [5]中的“合并具有不同簽入/簽出屬性的分支”部分。

merge.stat

是否在合并結(jié)束時在 ORIG_HEAD 和合并結(jié)果之間打印 diffstat。默認情況下為真。

merge.tool

控制哪個合并工具由 git-mergetool [1] 使用。下面的列表顯示了有效的內(nèi)置值。任何其他值都被視為自定義合并工具,并要求定義相應的mergetool。<tool> .cmd變量。

  • araxis

  • bc

  • bc3

  • codecompare

  • deltawalker

  • diffmerge

  • diffuse

  • ecmerge

  • emerge

  • examdiff

  • gvimdiff

  • gvimdiff2

  • gvimdiff3

  • kdiff3

  • meld

  • opendiff

  • p4merge

  • tkdiff

  • tortoisemerge

  • vimdiff

  • vimdiff2

  • vimdiff3

  • winmerge

  • xxdiff

merge.verbosity

控制遞歸合并策略顯示的輸出量。如果檢測到?jīng)_突,級別0只輸出最終的錯誤消息。1級只輸出沖突,2個輸出沖突和文件更改。5級及以上輸出調(diào)試信息。缺省值是2級。可以由GIT_MERGE_VERBOSITY環(huán)境變量覆蓋。

merge.<driver>.name

為自定義低級合并驅(qū)動程序定義一個人類可讀的名稱。有關詳細信息,請參閱 gitattributes [5]。

merge.<driver>.driver

定義實現(xiàn)自定義低級別合并驅(qū)動程序的命令。有關詳細信息,請參閱gitattributes [5]。

merge.<driver>.recursive

在執(zhí)行公共祖先之間的內(nèi)部合并時,命名一個低級合并驅(qū)動程序。有關詳細信息,請參閱 gitattributes [5]。

mergetool.<tool>.path

覆蓋給定工具的路徑。如果您的工具不在 PATH 中,這非常有用。

mergetool.<tool>.cmd

指定命令來調(diào)用指定的合并工具。在 shell 中使用以下可用變量評估指定的命令:BASE是包含要合并的文件的公共基礎的臨時文件的名稱(如果可用); LOCAL是包含當前分支上文件內(nèi)容的臨時文件的名稱; REMOTE是包含來自合并分支的文件內(nèi)容的臨時文件的名稱; MERGED包含合并工具應將寫入成功合并結(jié)果的文件的名稱。

mergetool.<tool>.trustExitCode

對于自定義合并命令,指定是否可以使用合并命令的退出代碼來確定合并是否成功。如果未設置為 true,則檢查合并目標文件時間戳,如果文件已更新,則假定合并已成功,否則將提示用戶指示合并成功。

mergetool.meld.hasOutput

舊版本meld不支持該--output選項。Git 會嘗試通過檢查輸出來檢測是否meld支持。配置將使 Git 跳過這些檢查并改為使用配置的值。設置要告訴 Git 的無條件使用選項,使用避免。--outputmeld --helpmergetool.meld.hasOutputmergetool.meld.hasOutputtrue--outputfalse--output

mergetool.keepBackup

在執(zhí)行合并之后,具有沖突標記的原始文件可以保存為具有.orig擴展名的文件。如果這個變量被設置為false那么這個文件不會被保留。默認為true(即保留備份文件)。

mergetool.keepTemporaries

在調(diào)用自定義合并工具時,Git 使用一組臨時文件傳遞給該工具。如果該工具返回一個錯誤并將該變量設置為true,則這些臨時文件將被保留,否則它們將在該工具退出后被刪除。默認為false。

mergetool.writeToTemp

Git 的寫入臨時BASE,LOCAL以及REMOTE默認的文件沖突的版本在worktree。設置時,Git 會嘗試使用這些文件的臨時目錄true。默認為false。

mergetool.prompt

在每次調(diào)用合并解決程序之前提示。

notes.mergeStrategy

解決筆記沖突時默認選擇哪種合并策略。必須是一manualours,theirs,union,或cat_sort_uniq。默認為manual。有關每種策略的更多信息,請參閱 git-notes [1]的“注釋合并策略”部分。

notes.<name>.mergeStrategy

在將注釋合并到 refs / notes / <name> 時選擇哪種合并策略。這覆蓋了更一般的“notes.mergeStrategy”。有關可用策略的更多信息,請參閱 git-notes [1] 中的“NOTES MERGE策略”部分。

notes.displayRef

顯示提交消息時顯示備注的(完全限定)refname。這個變量的值可以設置為一個 glob,在這種情況下,所有匹配的ref都會顯示出來。您也可以多次指定此配置變量。對于不存在的 ref,將發(fā)出警告,但不匹配任何 ref 的 glob 默默無視。

該設置可以用GIT_NOTES_DISPLAY_REF環(huán)境變量覆蓋,該變量必須是以冒號分隔的參考或球體列表。

“core.notesRef”的有效值(可能被 GIT_NOTES_REF 覆蓋)也隱式添加到要顯示的 ref 列表中。

notes.rewrite.<command>

當用<command>(當前amend或者rebase)重寫提交并且該變量被設置true為時,Git會自動將筆記從原始文件復制到重寫的提交中。默認為true,但請參閱下面的“notes.rewriteRef”。

notes.rewriteMode

在重寫過程中復制筆記時(請參閱“notes.rewrite。<command>”選項),確定如果目標提交已經(jīng)有筆記要執(zhí)行的操作。必須是一個overwrite,concatenatecat_sort_uniq,或ignore。默認為concatenate

該設置可以用GIT_NOTES_REWRITE_MODE環(huán)境變量覆蓋。

notes.rewriteRef

在重寫過程中復制備注時,指定應該復制其備注的(完全限定)參考。ref 可以是一個 glob,在這種情況下,所有匹配參考中的備注都將被復制。您也可以多次指定此配置。

沒有默認值; 您必須配置此變量以啟用音符重寫。將其設置refs/notes/commits為啟用默認提交備注的重寫。

該設置可以用GIT_NOTES_REWRITE_REF環(huán)境變量覆蓋,該變量必須是以冒號分隔的參考或球體列表。

pack.window

當命令行沒有給出窗口大小時,git-pack-objects [1]使用的窗口大小。默認為10。

pack.depth

當命令行沒有給出最大深度時,git-pack-objects [1] 使用的最大增量深度。默認為50。

pack.windowMemory

在命令行中未給出限制時,包裝窗口內(nèi)存的 git-pack-objects [1] 中的每個線程占用的最大內(nèi)存大小。該值可以后綴“k”,“m”或“g”。當未配置(或明確設置為0)時,不會有任何限制。

pack.compression

一個整數(shù)-1..9,表示包文件中對象的壓縮級別。-1是zlib的默認值。0代表沒有壓縮,1..9代表不同的速度/尺寸折衷,9代表最慢。如果未設置,則默認為 core.compression。如果沒有設置,默認為-1,默認為zlib,這是“速度和壓縮之間的默認折衷(當前等同于級別6)”。

請注意,更改壓縮級別不會自動重新壓縮所有現(xiàn)有對象。您可以通過將-F選項傳遞給 git-repack [1] 來強制再壓縮。

pack.deltaCacheSize

用于緩存 git-pack-objects [1] 中的增量的最大內(nèi)存(以字節(jié)為單位),然后將它們寫出到一個包中。該緩存用于加速寫入對象階段,因為一旦找到所有對象的最佳匹配,就不必重新計算最終的增量結(jié)果。在內(nèi)存緊張的機器上重新包裝大型軟件倉庫可能會受到嚴重影響,特別是如果此緩存將系統(tǒng)推入交換。值為0意味著沒有限制。1字節(jié)的最小尺寸可以用于虛擬地禁用該緩存。默認為256 MiB。

pack.deltaCacheLimit

增量的最大大小,即緩存在 git-pack-objects [1] 中。該緩存用于加速寫入對象階段,因為一旦找到所有對象的最佳匹配,就不必重新計算最終的增量結(jié)果。默認為1000。

pack.threads

指定搜索最佳增量匹配時產(chǎn)生的線程數(shù)。這要求用 pthread 編譯 git-pack-objects [1],否則這個選項會被忽略并帶有警告。這是為了減少多處理器機器的打包時間。然而,增量搜索窗口所需的內(nèi)存量乘以線程數(shù)量。指定0將導致Git自動檢測CPU的數(shù)量并相應地設置線程數(shù)量。

pack.indexVersion

指定默認包裝索引版本。對于1.5.2之前的 Git 版本使用的舊版包裝索引,有效值為1,對于包裝容量大于4 GB的新包裝索引,有效值為2,并且對重新包裝損壞的包裝提供適當?shù)谋Wo。版本2是默認值。請注意,強制執(zhí)行版本2,并且只要相應的包大于2 GB,就會忽略此配置選項。

如果您有一個舊的 Git 不理解版本2 *.idx文件,通過非本地協(xié)議(例如“http”)克隆或獲取將從另一端復制*.pack文件和相應*.idx文件的可能會給您一個無法訪問的存儲庫與你的老版本的Git。*.pack但是,如果文件小于2 GB,則可以使用* .pack文件上的git-index-pack [1]來重新生成該*.idx文件。

pack.packSizeLimit

包的最大尺寸。此設置僅影響重新包裝到文件,即 git://協(xié)議不受影響。它可以被--max-pack-sizegit-repack [1]選項覆蓋。達到此限制會導致創(chuàng)建多個包裝文件; 這反過來又防止了位圖的創(chuàng)建。允許的最小尺寸限制為1 MiB。默認值是無限的。常見的單元后綴k,mg支持。

pack.useBitmaps

如果為 true,則 git 在打包到標準輸出時(例如,在獲取的服務器端期間)將使用包位圖(如果可用)。默認為true。除非您正在調(diào)試包位圖,否則通常不需要關閉此功能。

pack.writeBitmaps (deprecated)

這是一個不贊成的同義詞repack.writeBitmaps

pack.writeBitmapHashCache

如果為true,git 將在位圖索引中包含一個“散列緩存”部分(如果寫入的話)。這個緩存可以用來提供 git 的 delta 啟發(fā)式,可能會導致位圖對象和非位圖對象之間更好的增量(例如,在較舊的位圖包和自上次gc以來推送的對象之間提供提取時)。缺點是每個對象的磁盤空間消耗4個字節(jié),JGi t的位圖實現(xiàn)不理解它,如果在同一個存儲庫上使用 Git和JGit,會導致它投訴。默認為false。

pager.<cmd>

如果值是布爾值,則在寫入 tty 時打開或關閉特定 Git 子命令輸出的分頁。否則,使用由值的指定的尋呼機打開子命令的分頁pager.<cmd>。如果--paginate--no-pager在命令行上指定,則優(yōu)先于此選項。要為所有命令,設置禁用分頁core.pagerGIT_PAGERcat。

pretty.<name>

--git-log [1]中指定的 --pretty = format 字符串的別名。這里定義的任何別名都可以像內(nèi)置的漂亮格式一樣使用。例如,運行git config pretty.changelog "format:* %H %s"會導致調(diào)用git log --pretty=changelog等同于運行git log "--pretty=format:* %H %s"。請注意,與內(nèi)置格式同名的別名將被忽略。

protocol.allow

如果設置,為所有沒有明確規(guī)定策略的協(xié)議提供用戶定義的默認策略(protocol.<name>.allow)。默認情況下,如果未設置,已知安全協(xié)議(http,https,git,ssh,文件)具有默認策略always,則已知危險協(xié)議(ext)具有默認策略never,并且所有其他協(xié)議具有默認策略user。支持的策略:

  • always  - 協(xié)議總是可以使用的。

  • never  - 協(xié)議永遠不能使用。

  • user- 只有在GIT_PROTOCOL_FROM_USER未設置或值為1時才能使用協(xié)議。當您希望協(xié)議可以被用戶直接使用但不希望被執(zhí)行克隆/獲取的命令使用時,應使用此策略/推命令沒有用戶輸入,例如遞歸子模塊初始化。

protocol.<name>.allow

使用<name>clone / fetch / push 命令設置要由協(xié)議使用的策略。請參閱protocol.allow上面的可用政策。

git 目前使用的協(xié)議名稱為:

  • file:任何本地基于文件的路徑(包括file://URL或本地路徑)

  • git:通過直接TCP連接(或代理,如果已配置)的匿名git協(xié)議

  • ssh:git over ssh(包括host:path語法ssh://,等)。

  • http:通過http的git,“智能http”和“啞巴http”。請注意,這not包括https; 如果你想配置兩者,你必須單獨做。

  • 任何外部助手都按其協(xié)議命名(例如,用于hg允許git-remote-hg助手)

pull.ff

默認情況下,Git在合并作為當前提交的后代的提交時不會創(chuàng)建額外的合并提交。相反,當前分支的尖端被快速轉(zhuǎn)發(fā)。當設置為false,這個變量告訴Git在這種情況下創(chuàng)建一個額外的合并提交(相當于--no-ff從命令行提供選項)。設置only為時,只允許進行這種快進合并(相當于--ff-only從命令行提供選項)。此設置merge.ff在拔取時覆蓋。

pull.rebase

如果為true,則rebase分支位于提取分支的頂部,而不是在運行“git pull”時合并默認分支和默認分支。請參閱“分支。<名稱> .rebase”以每個分支為基礎進行設置。

當保存時,也會傳遞--preserve-merges到,git rebase以便本地提交的合并提交不會因運行而變得平坦git pull。

當值為時interactive,rebase 以交互模式運行。

注意:這是一個可能危險的操作; ,不要用它除非你理解的含義才能使用(請查看git-變基[1]了解詳細信息)。

pull.octopus

一次拉多個分支時使用的默認合并策略。

pull.twohead

拉動單個分支時使用的默認合并策略。

push.default

定義git push如果沒有明確給出 refspec 就應該采取的行動。不同的值非常適合特定的工作流程; 例如,在一個純粹的中央工作流程(即提取源等于推送目的地),upstream可能是你想要的??赡艿闹凳牵?/p>

  • nothing - 除非明確給出refspec,否則不要推送任何東西(錯誤輸出)。這主要是針對那些想要通過始終明確避免錯誤的人。

  • current - 推送當前分支以更新接收端具有相同名稱的分支。適用于中央和非中央工作流程。

  • upstream- 將當前分支推回到其更改通常集成到當前分支(稱為@{upstream})的分支中。這種模式只有在您推送到您通常需要的同一個存儲庫(例如中央工作流程)時才有意義。

  • tracking- 這是一個不贊成的同義詞upstream

  • simple- 在集中式工作流程中,upstream如果上游分支的名稱與本地名稱不同,則可以像增加安全性一樣拒絕推送。當推送到與通常從中拉出的遠程不同的遠程時,按照current。這是最安全的選擇,適合初學者。該模式已成為Git 2.0中的默認模式。

  • matching - 推送兩端同名的所有分支。這使得你正在推動記住設置將要推出的分支(例如,如果你總是推存儲庫maintmaster有其他分支機構(gòu),你推到會有這兩個分支的庫,和當?shù)氐?code>maint和master將在那里推)。要有效地使用這種模式,你必須確保all你推出的分支在運行之前已經(jīng)準備好被推出git push,因為這種模式的重點在于讓您一次推送所有分支。如果您通常只完成一個分支的工作并推出結(jié)果,而其他分支未完成,則此模式不適合您。此外,此模式不適合推入共享的中央存儲庫,因為其他人可能會在該處添加新的分支,或者更新您的控制之外的現(xiàn)有分支的提示。這曾經(jīng)是默認的,但從Git 2.0開始(這simple是新的默認設置)。

push.followTags

如果--follow-tags默認設置為 true 啟用選項。您可以在推送時通過指定覆蓋此配置--no-follow-tags。

push.gpgSign

可能被設置為布爾值或字符串if-asked。一個真正的值會導致所有推送被GPG簽名,就好像--signed被傳遞給 git-push [1]一樣。if-asked如果服務器支持該字符串,該字符串將導致推送被簽名,就像--signed=if-asked傳遞給它一樣git push。假值可能會覆蓋來自低優(yōu)先級配置文件的值。一個明確的命令行標志總是會覆蓋這個配置選項。

push.recurseSubmodules

確保遠程跟蹤分支上提供了要推送的修訂版所使用的所有子模塊提交。如果該值是checkGit,那么 Git 將驗證所有要修改的子模塊提交在子模塊的至少一個遠程模塊上可用。如果任何提交丟失,推送將被中止并以非零狀態(tài)退出。如果該值是,on-demand那么將推送修訂中要更改的所有子模塊。如果按需無法推送所有必需的修訂,它也會被中止并以非零狀態(tài)退出。如果該值no是保留推送時忽略子模塊的默認行為。您可以在推送時通過指定覆蓋此配置--recurse-submodules=check|on-demand|no。

rebase.stat

是否顯示自上次變基期以來上游變化的差異。默認為 False。

rebase.autoSquash

如果--autosquash默認設置為 true 啟用選項。

rebase.autoStash

設置為 true 時,在操作開始之前自動創(chuàng)建臨時存儲條目,并在操作結(jié)束后應用它。這意味著你可以在骯臟的工作樹上運行 rebase。但是,謹慎使用:成功重新綁定后的最終隱藏應用程序可能會導致不平凡的沖突。默認為 false。

rebase.missingCommitsCheck

如果設置為“警告”,git rebase -i 將在一些提交被刪除時(例如,一行被刪除)打印警告,但是 rebase 仍然會繼續(xù)。如果設置為“錯誤”,它將打印先前的警告并停止重設,git rebase --edit-todo然后可用于糾正錯誤。如果設置為“忽略”,則不進行檢查。要刪除沒有警告或錯誤的提交,請使用drop待辦事項列表中的命令。默認為“忽略”。

rebase.instructionFormat

格式字符串,如 git-log [1] 中所指定的,用于交互式重新綁定期間的指令列表。該格式將自動具有格式前面的長提交哈希。

receive.advertiseAtomic

默認情況下,git-receive-pack 會向其客戶端通告原子推送功能。如果您不想公布此功能,請將此變量設置為 false。

receive.advertisePushOptions

當設置為 true 時,git-receive-pack 會將推送選項功能通告給它的客戶端。默認為 False。

receive.autogc

默認情況下,從 git-push 接收數(shù)據(jù)并更新引用后,git-receive-pack將運行“git-gc --auto”。您可以通過將此變量設置為 false 來停止它。

receive.certNonceSeed

通過將此變量設置為字符串,git receive-pack將接受git push --signed并通過使用由 HMAC 保護的“nonce”使用此字符串作為密鑰來驗證它。

receive.certNonceSlop

git push --signed發(fā)送一個推送證書時,這個推送證書由在此數(shù)秒鐘內(nèi)為同一個存儲庫提供服務的接收包發(fā)布的“隨機數(shù)”,將證書中發(fā)現(xiàn)的“隨機數(shù)”導出GIT_PUSH_CERT_NONCE到掛鉤(而不是接收包問包括發(fā)送方)。這可能允許寫入檢查pre-receive并且post-receive更容易一些。而不是檢查GIT_PUSH_CERT_NONCE_SLOP環(huán)境變量的記錄是由多少秒nonce是陳舊的,以決定他們是否要接受證書,他們只能檢查GIT_PUSH_CERT_NONCE_STATUSOK

receive.fsckObjects

如果它設置為 true,git-receive-pack 將檢查所有收到的對象。如果格式錯誤的對象或鏈接斷開,它將中止。中止的結(jié)果只是懸掛的對象。默認為 false。如果未設置,transfer.fsckObjects則使用其值。

receive.fsck.<msg-id>

receive.fsckObjects被設置為 true 時,誤差可以通過配置切換到警告,反之亦然receive.fsck.<msg-id>設置其中<msg-id>是 fsck 的消息ID和值為之一errorwarnignore。為了方便起見,fsck在錯誤/警告前添加了消息ID,例如“missingEmail:invalid author / committer line  -  missing email”意味著該設置receive.fsck.missingEmail = ignore將隱藏該問題。

此功能旨在支持使用傳統(tǒng)存儲庫時不會推送時間receive.fsckObjects = true,允許主機接受存在某些已知問題但仍捕獲其他問題的存儲庫。

receive.fsck.skipList

已知以非致命方式破壞的對象名稱的排序列表(即每行一個SHA-1)的路徑應被忽略。如果盡早提交包含可安全忽略的錯誤(如無效的提交者電子郵件地址)的應用程序,則應接受已建立的項目,此功能非常有用。注意:使用此設置不能跳過損壞的對象。

receive.keepAlive

從客戶端收到包后,在處理包時receive-pack可能沒有輸出(如果--quiet指定),導致某些網(wǎng)絡斷開 TCP 連接。通過設置此選項,如果receive-pack在此階段中不傳輸任何數(shù)據(jù)達receive.keepAlive數(shù)秒鐘,它將發(fā)送一個短保持數(shù)據(jù)包。默認值是5秒; 設置為0將完全禁用Keepalive。

receive.unpackLimit

如果在推送中收到的對象數(shù)量低于此限制,則對象將被解壓縮為松散的對象文件。但是,如果接收到的對象數(shù)量等于或超過此限制,則在添加任何缺少的增量基數(shù)后,接收的數(shù)據(jù)包將作為一個包存儲。從推存儲包可以使推送操作更快完成,特別是在慢速文件系統(tǒng)上。如果未設置,transfer.unpackLimit則使用其值。

receive.maxInputSize

如果傳入包的大小大于此限制,那么 git-receive-pack 將會出錯,而不是接受包文件。如果沒有設置或設置為0,那么大小是無限的。

receive.denyDeletes

如果設置為 true,git-receive-pack 將拒絕刪除 ref 的 ref更新。使用它來防止通過推送刪除這樣的引用。

receive.denyDeleteCurrent

如果設置為 true,那么 git-receive-pack 將拒絕一個 ref更新,它會刪除非裸倉庫的當前檢出分支。

receive.denyCurrentBranch

如果設置為 true 或“拒絕”,git-receive-pack將拒絕對非裸倉庫的當前簽出分支的 ref更新。這樣的推送是潛在的危險,因為它會使HEAD 與索引和工作樹不同步。如果設置為“警告”,則將這種推送警告打印到標語,但允許推送繼續(xù)。如果設置為 false 或“忽略”,則允許在沒有消息的情況下推送。默認為“拒絕”。

另一種選擇是“updateInstead”,如果推入當前分支,它將更新工作樹。此選項用于同步工作目錄,當通過交互式 ssh 無法輕松訪問一個工作目錄時(例如實時網(wǎng)站,因此要求工作目錄清潔)。在虛擬機內(nèi)部進行開發(fā)以在不同的操作系統(tǒng)上測試和修復代碼時,此模式也會派上用場。

默認情況下,如果工作樹或索引與 HEAD 有任何不同,“updateInstead”將拒絕推送,但push-to-checkout可以使用掛鉤來自定義此操作。見githooks [5]。

receive.denyNonFastForwards

如果設置為 true,那么 git-receive-pack 會拒絕不是快進的 ref 更新。即使強制推送,也可以通過推送來阻止這種更新。該配置變量在初始化共享存儲庫時設置。

receive.hideRefs

這個變量是相同的transfer.hideRefs,但只適用于receive-pack(并且因此影響推送,但不提?。L試更新或刪除隱藏參考git push被拒絕。

receive.updateServerInfo

如果設置為 true,git-receive-pack 在從 git-push 接收數(shù)據(jù)并更新 refs 后將運行 git-update-server-info。

receive.shallowUpdate

如果設置為 true,則當新引用需要新的淺根時,可以更新.git / shallow。否則,這些裁判將被拒絕。

remote.pushDefault

遙控器默認為推送。覆蓋branch.<name>.remote所有分支,并由branch.<name>.pushRemote特定分支覆蓋。

remote.<name>.url

遠程存儲庫的 URL。請參閱git-fetch [1]或git-push [1]。

remote.<name>.pushurl

遠程存儲庫的推送網(wǎng)址。見 git-push [1]。

remote.<name>.proxy

對于需要 curl(http,https和ftp)的遙控器,用于該遙控器的代理的URL。設置為空字符串以禁用該遠程代理。

remote.<name>.proxyAuthMethod

對于需要 curl(http,https和ftp)的遙控器,用于對正在使用的代理(可能設置remote.<name>.proxy)進行認證的方法。看http.proxyAuthMethod。

remote.<name>.fetch

git-fetch [1]的默認設置“refspec”。參見git-fetch [1]。

remote.<name>.push

git-push [1]的默認設置“refspec”。見git-push [1]。

remote.<name>.mirror

如果為 true,則推送到此遠程將自動運行,就像--mirror在命令行上給出選項一樣。

remote.<name>.skipDefaultUpdate

如果為 true,那么當使用 git-fetch [1] 或updategit-remote [1] 的子命令進行更新時,該遠程將默認跳過。

remote.<name>.skipFetchAll

如果為 true,那么當使用 git-fetch [1] 或updategit-remote [1] 的子命令進行更新時,該遠程將默認跳過。

remote.<name>.receivepack

推送時在遠端執(zhí)行的默認程序。請參閱選項 - 接收 git-push [1] 的包。

remote.<name>.uploadpack

獲取時在遠程端執(zhí)行的默認程序。查看選項 --upload-pack的 git-fetch-pack [1]。

remote.<name>.tagOpt

如果將此值設置為 --no-tags,則從遠程<名稱>獲取時將禁用自動標記跟蹤。將它設置為 --tags 將從遠程<name>中獲取每個標記,即使它們不能從遠程分支頭到達。將這些標志直接傳遞給 git-fetch [1] 可以覆蓋此設置。查看選項--tags 和 --no-tags的git-fetch [1]。

remote.<name>.vcs

將其設置為<vcs>值將使 Git 通過 git-remote- <vcs> helper與遠程進行交互。

remote.<name>.prune

設置為 true 時,默認從此遠程訪存將刪除遠程中不再存在的任何遠程跟蹤引用(就像--prune在命令行上給出該選項一樣)。覆蓋fetch.prune設置,如果有的話。

remotes.<group>

由“git remote update <group>”獲取的遙控器列表。見 git-remote [1]。

repack.useDeltaBaseOffset

默認情況下,git-repack [1]創(chuàng)建使用 delta-base 偏移量的包。如果您需要使用比版本1.4.4更高的 Git 來共享您的存儲庫,請直接或通過諸如 http 之類的啞協(xié)議來共享您的存儲庫,那么您需要將此選項設置為“false”并重新打包。通過本地協(xié)議從舊的Git版本訪問不受此選項的影響。

repack.packKeptObjects

如果設置為 true,則git repack表示好像--pack-kept-objects已通過。有關詳細信息,請參閱 git-repack [1]。默認為false正常,但是true如果正在寫入位圖索引(通過--write-bitmap-indexrepack.writeBitmaps)。

repack.writeBitmaps

如果為 true,git會在將所有對象打包到磁盤時寫入一個位圖索引(例如,當git repack -a運行時)。此索引可以加速為克隆和提取創(chuàng)建的后續(xù)包的“計數(shù)對象”階段,但需要花費一些磁盤空間和花費在初始重新包裝上的額外時間。如果創(chuàng)建多個包文件,這不起作用。默認為false。

rerere.autoUpdate

設置為 true 時,git-rerere使用先前記錄的分辨率干凈地解決沖突后,使用結(jié)果內(nèi)容更新索引。默認為 false。

rerere.enabled

激活已解決沖突的記錄,以便相同的沖突塊可以自動解決,如果再次遇到?jīng)_突塊。默認情況下,如果在該rr-cache目錄下有一個目錄,則啟用 git-rerere [1] $GIT_DIR,例如,如果以前在資源庫中使用了“rerere”。

sendemail.identity

配置標識。給出時,導致sendemail.<identity>sendemail部分中的值優(yōu)先于部分中的值。默認標識是的值sendemail.identity。

sendemail.smtpEncryption

有關說明,請參閱 git-send-email [1]。請注意,此設置不受該identity機制的約束。

sendemail.smtpssl (deprecated)

sendemail.smtpEncryption = ssl已棄用的別名。

sendemail.smtpsslcertpath

ca證書的路徑(目錄或單個文件)。將其設置為空字符串以禁用證書驗證。

sendemail.<identity>.*

sendemail.*通過命令行或命令行選擇的身份特定版本的參數(shù)優(yōu)先于選擇此身份的參數(shù)sendemail.identity

sendemail.aliasesFile   sendemail.aliasFileType   sendemail.annotate   sendemail.bcc   sendemail.cc   sendemail.ccCmd   sendemail.chainReplyTo   sendemail.confirm   sendemail.envelopeSender   sendemail.from   sendemail.multiEdit   sendemail.signedoffbycc   sendemail.smtpPass   sendemail.suppresscc   sendemail.suppressFrom   sendemail.to   sendemail.smtpDomain   sendemail.smtpServer   sendemail.smtpServerPort   sendemail.smtpServerOption   sendemail.smtpUser   sendemail.thread   sendemail.transferEncoding   sendemail.validate   sendemail.xmailer

有關說明,請參閱git-send-email [1]。

sendemail.signedoffcc(已棄用)

endemail.signedoffbycc已棄用的別名。

sendemail.smtpBatchSize

每個連接發(fā)送的消息數(shù)量,之后會發(fā)生重新登錄。如果值為0或未定義,則在一個連接中發(fā)送所有消息。另請參閱--batch-sizegit-send-email [1] 的選項。

sendemail.smtpReloginDelay

秒重新連接到SMTP服務器之前等待。另請參閱--relogin-delaygit-send-email [1] 的選項。

showbranch.default

git-show-branch [1]的默認分支集合。參見git-show-branch [1]。

splitIndex.maxPercentChange

使用拆分索引功能時,這將指定拆分索引可以包含的條目的百分比,與寫入新共享索引之前拆分索引和共享索引中的條目總數(shù)相比。值應該介于0和100之間。如果值為0,則總是寫入新的共享索引,如果為100,則永遠不會寫入新的共享索引。默認情況下,該值為20,因此如果分割索引中的條目數(shù)大于條目總數(shù)的20%,則會寫入新的共享索引。參見git-update-index [1]。

splitIndex.sharedIndexExpire

使用拆分索引功能時,自從該變量指定時間以來未修改的共享索引文件將在創(chuàng)建新的共享索引文件時被刪除。值“now”立即使所有條目到期,并且“never”完全禁止到期。默認值是“2.weeks.ago”。請注意,每次基于它創(chuàng)建或讀取新的分割索引文件時,都會將共享索引文件修改(用于過期)。參見 git-update-index [1]。

status.relativePaths

默認情況下,git-status [1]顯示相對于當前目錄的路徑。設置此變量以false顯示相對于存儲庫根目錄的路徑(這是v1.5.4之前的Git的默認值)。

status.short

設置為 true 以在 git-status [1]中默認啟用--short。--no-short選項優(yōu)先于此變量。

status.branch

設置為 true 以在 git-status [1]中默認啟用--branch。--no-branch選項優(yōu)先于此變量。

status.displayCommentPrefix

如果設置為 true,git 的狀態(tài)[1]將插入每條輸出線之前注釋前綴(開始core.commentChar,即#由默認值)。這是 Git 1.8.4和之前的 git-status [1]的行為。默認為 false。

status.showStash

如果設置為 true,git-status [1] 將顯示當前隱藏的條目數(shù)量。默認為false。

status.showUntrackedFiles

默認情況下,git-status [1] 和 git-commit [1] 顯示當前未被Git跟蹤的文件。僅包含未跟蹤文件的目錄僅以目錄名稱顯示。顯示未跟蹤的文件意味著Git需要lstat()整個存儲庫中的所有文件,這在某些系統(tǒng)上可能會很慢。所以,這個變量控制著命令如何顯示未跟蹤文件??赡艿闹凳牵?/p>

  • no  - 不顯示未跟蹤的文件。

  • normal  - 顯示未跟蹤的文件和目錄。

  • all  - 顯示未跟蹤目錄中的單個文件。

如果未指定此變量,則默認為normal。這個變量可以用 git-status [1]和git-commit [1] 的 -u | --untracked-files選項覆蓋。

status.submoduleSummary

默認為false。如果將其設置為非零數(shù)字或true(與-1或無限制數(shù)字相同),則將啟用子模塊摘要,并顯示修改子模塊的提交摘要(請參閱--git -summary-limit選項)子模塊[1])。請注意,對于所有子模塊,匯總輸出命令將被diff.ignoreSubmodules設置為all或僅針對其中的子模塊submodule.<name>.ignore=all。該規(guī)則的唯一例外是狀態(tài)和提交將顯示暫存的子模塊更改。要查看忽略子模塊的摘要,可以使用--ignore-submodules = dirty命令行選項或git submodule summary命令,該命令顯示類似的輸出,但不遵守這些設置。

stash.showPatch

如果設置為true,則git stash show沒有選項的命令將以補丁形式顯示隱藏條目。默認為false。請參閱showgit-stash [1]中的命令說明。

stash.showStat

如果設置為true,則git stash show沒有選項的命令將顯示存儲條目的diffstat。默認為true。請參閱showgit-stash [1]中的命令說明。

submodule.<name>.url

子模塊的 URL。這個變量通過 .gitmodules 文件復制到 git config git submodule init。用戶可以在通過獲取子模塊之前更改配置的 URL git submodule update。如果子模塊 <name> .active 或submodule.active 都未設置,則將此變量的存在用作后備,以指示子模塊是否對 git 命令感興趣。有關詳細信息,請參閱 git-submodule [1]和gitmodules [5]。

submodule.<name>.update

子模塊的默認更新過程。該變量由git submodule initgitmodules [5]文件填充。請參閱updategit-submodule [1]中的命令說明。

submodule.<name>.branch

子模塊的遠程分支名稱,由git submodule update --remote。設置此選項以覆蓋.gitmodules文件中找到的值。有關詳細信息,請參閱git-submodule [1]和gitmodules [5]。

submodule.<name>.fetchRecurseSubmodules

該選項可用于控制此子模塊的遞歸提取。它可以通過使用 --no-recurse-submodules命令行選項“git fetch”和“git pull”來覆蓋。該設置將覆蓋 gitmodules [5]文件中的設置。

submodule.<name>.ignore

定義在什么情況下,“git status”和 diff 系列顯示已修改的子模塊。當設置為“全部”時,它永遠不會被視為已修改(但它仍會顯示在狀態(tài)的輸出中,并在已執(zhí)行時進行提交),“臟”將忽略對子模塊工作樹的所有更改,并且只會帶來差異考慮子模塊的 HEAD 和超級項目中記錄的提交之間的關系?!拔锤櫋边€會讓子模塊在工作樹中顯示修改過的跟蹤文件。使用“none”(未設置此選項時的默認值)還顯示在更改后的工作樹中未追蹤文件的子模塊。此設置將覆蓋此子模塊的 .gitmodules 中的任何設置,兩個設置都可以在命令行上使用“git submodule 命令不受此設置的影響。

submodule.<name>.active

指示子模塊是否對git命令感興趣的布爾值。此配置選項優(yōu)先于 submodule.active  配置選項。

submodule.active

重復字段,其中包含一個用于匹配子模塊路徑的 pathspec,以確定子模塊是否對 git 命令感興趣。

submodule.recurse

指定默認情況下,命令是否遞歸到子模塊中。這適用于所有有--recurse-submodules選項的命令。默認為 false。

submodule.fetchJobs

指定同時獲取/克隆多少個子模塊。正整數(shù)允許多達并行獲取的子模塊的數(shù)量。值為0會給出一些合理的默認值。如果未設置,則默認為1。

submodule.alternateLocation

指定克隆子模塊時子模塊如何獲得替代??赡艿闹凳?code>no,superproject。默認情況下no,假定不添加引用。當該值設置為superproject要克隆的子模塊時,計算其相對于超級項目替代項的替代位置。

submodule.alternateErrorStrategy

指定如何通過經(jīng)由計算得到的子模塊的交替來處理錯誤submodule.alternateLocation。可能的值是ignore,info,die。默認是die

tag.forceSignAnnotated

一個布爾值,指定創(chuàng)建的帶注釋的標簽是否應該由GPG簽名。如果--annotate在命令行中指定,則優(yōu)先于此選項。

tag.sort

該變量控制git-tag [1]顯示標簽時的排序順序。如果沒有提供“--sort = <value>”選項,則此變量的值將用作默認值。

tar.umask

這個變量可以用來限制tar歸檔項的權(quán)限位。默認值是0002,這將關閉世界寫入位。特殊值“user”表示將使用歸檔用戶的umask。請參閱umask(2)和git-archive [1]。

transfer.fsckObjects

當設置fetch.fsckObjects或未receive.fsckObjects設置時,將使用此變量的值。默認為false。

transfer.hideRefs

字符串receive-packupload-pack用于決定哪些引用從他們的初始廣告中省略。使用多個定義來指定多個前綴字符串。排除了此變量的值中列出的層次結(jié)構(gòu)下的 ref,并在響應git push或時隱藏git fetch。見receive.hideRefsuploadpack.hideRefs此配置的具體方案版本。

您也可以!在ref名稱的前面添加一個否定條目,并將其明確地公開,即使先前的條目將其標記為隱藏。如果您有多個 hideRefs 值,則稍后的條目會覆蓋較早的條目(并且更具體的配置文件中的條目會覆蓋較不特定的條目)。

如果正在使用命名空間,則在與transfer.hiderefs模式匹配之前,命名空間前綴會從每個引用中剝離。例如,如果refs/heads/master在中指定transfer.hideRefs并且當前命名空間是foo,則refs/namespaces/foo/refs/heads/master在廣告中將被省略,refs/heads/master并且refs/namespaces/bar/refs/heads/master仍然被廣告為所謂的“有”行。為了在裁剪之前匹配裁判^,請在裁判名稱前添加一個裁判。如果合并!^!必須先指定。

即使你隱藏了引用,客戶仍然可以通過 gitnamespaces [7] 手冊頁的“安全”部分描述的技術(shù)竊取目標對象; 最好將私人數(shù)據(jù)保存在單獨的存儲庫中。

transfer.unpackLimit

當設置fetch.unpackLimit或未receive.unpackLimit設置時,將使用此變量的值。默認值是100。

uploadarchive.allowUnreachable

如果為 true,則允許客戶端使用git archive --remote請求任何樹,無論是否可以從 ref 參考中獲得。有關更多詳細信息,請參閱 git-upload-archive [1]的“安全性”部分中的討論。默認為false

uploadpack.hideRefs

這個變量是相同的transfer.hideRefs,但只適用于upload-pack(并且因此只影響提取,不推進)。嘗試獲取隱藏參考git fetch將失敗。另見uploadpack.allowTipSHA1InWant。

uploadpack.allowTipSHA1InWant

uploadpack.hideRefs有效時,允許upload-pack接受一個提取請求,要求在隱藏參考的頂端提供一個對象(默認情況下,這樣的請求被拒絕)。另見uploadpack.hideRefs。即使這是錯誤的,客戶端也可以通過gitnamespaces [7]手冊頁的“安全”部分中描述的技術(shù)竊取對象; 最好將私人數(shù)據(jù)保存在單獨的存儲庫中。

uploadpack.allowReachableSHA1InWant

允許upload-pack接受一個提取請求,要求提供可從任何參考提示中獲得的對象。但是,請注意,計算對象可達性的計算成本很高。默認為false。即使這是錯誤的,客戶端也可以通過gitnamespaces [7]手冊頁的“安全”部分中描述的技術(shù)竊取對象; 最好將私人數(shù)據(jù)保存在單獨的存儲庫中。

uploadpack.allowAnySHA1InWant

允許upload-pack接受請求任何對象的獲取請求。默認為false。

uploadpack.keepAlive

何時upload-pack開始pack-objects,在pack-objects準備包裝時可能會有一段安靜的時間。通常情況下,它會輸出進度信息,但如果--quiet用于提取,pack-objects則在包數(shù)據(jù)開始之前不會輸出任何內(nèi)容。有些客戶和網(wǎng)絡可能會認為服務器被掛起并放棄。設置此選項將指示upload-pack每隔uploadpack.keepAlive幾秒發(fā)送一個空的Keepalive數(shù)據(jù)包。將此選項設置為0將完全禁用 Keepalive 數(shù)據(jù)包。默認值是5秒。

uploadpack.packObjectsHook

如果設置了此選項,upload-pack則將運行時git pack-objects為客戶端創(chuàng)建一個packfile,它將運行此shell命令。pack-objects它所would運行的命令和參數(shù)(包括git pack-objects開始處)被附加到shell命令中。掛鉤的stdin和stdout被視為pack-objects自己運行。也就是說,upload-pack將喂入用于pack-objects鉤子的輸入,并期望在stdout上完成一個包文件。

請注意,如果在配置庫級配置中看到此配置變量(這是針對從不受信任的存儲庫中獲取的安全措施),則忽略此配置變量。

url.<base>.insteadOf

任何以此值開頭的URL都將被重寫為啟動,而<base>。如果某個站點提供大量存儲庫并以多種訪問方式提供服務,并且某些用戶需要使用不同的訪問方法,則此功能允許用戶指定任何等效的 URL 并讓 Git 自動將 URL 重寫為對于特定用戶來說,這是最好的選擇,即使對于網(wǎng)站上從未見過的存儲庫也是如此。如果多個字符串匹配給定的URL,則使用最長匹配。

請注意,任何協(xié)議限制都將應用于重寫的URL。如果重寫將URL更改為使用自定義協(xié)議或遠程助手,則可能需要調(diào)整protocol.*.allow配置以允許請求。特別是,您希望用于子模塊的協(xié)議必須設置為always默認值而不是默認值user。請參閱protocol.allow上面的描述。

url.<base>.pushInsteadOf

任何以此值開頭的網(wǎng)址都不會被推送到; 相反,它將被重寫為以<base>開始,并且生成的 URL 將被推送到。在某些站點提供大量存儲庫并使用多種訪問方法(其中一些不允許推送)訪問它們的情況下,此功能允許用戶指定只能拉的 URL 并讓 Git 自動使用適當?shù)?URL 來推送,即使是在網(wǎng)站上一個從未見過的存儲庫。當多個 pushInsteadOf字符串匹配給定的 URL 時,將使用最長匹配。如果遠程有明確的pushurl,Git 會忽略該遠程的這個設置。

user.email

您的電子郵件地址將記錄在任何新創(chuàng)建的提交中??梢酝ㄟ^覆蓋GIT_AUTHOR_EMAIL,GIT_COMMITTER_EMAIL以及EMAIL環(huán)境變量。參見git-commit-tree [1]。

user.name

您的全名將記錄在任何新創(chuàng)建的提交中??梢酝ㄟ^覆蓋GIT_AUTHOR_NAMEGIT_COMMITTER_NAME環(huán)境變量。參見git-commit-tree [1]。

user.useConfigOnly

Git 的指導,避免試圖猜測默認值user.emailuser.name,而是只從配置檢索值。例如,如果您有多個電子郵件地址,并且希望為每個存儲庫使用不同的配置,那么將此配置選項設置為true全局配置以及名稱,Git 會在提交新提交之前提示您設置電子郵件在一個新克隆的倉庫中。默認為false。

user.signingKey

如果在創(chuàng)建簽名標記或提交時 git-tag [1]或 git-commit [1]沒有選擇您希望它自動使用的密鑰,則可以使用此變量覆蓋缺省選擇。這個選項不變地傳遞給 gpg 的--local-user參數(shù),所以你可以使用 gpg 支持的任何方法指定一個鍵。

versionsort.prereleaseSuffix (deprecated)

已棄用的別名versionsort.suffix。如果versionsort.suffix已設置,則忽略。

versionsort.suffix

即使在git-tag [1]中使用版本排序,具有相同基本版本但不同后綴的標記名仍然按照字典順序排序,從而導致例如在主版本之后出現(xiàn)預發(fā)布標簽(例如,“1.0”之后的“1.0-rc1”) 。可以指定該變量來確定具有不同后綴的標簽的排序順序。

通過在此變量中指定單個后綴,包含該后綴的任何標記名都將出現(xiàn)在相應的主要版本之前。例如,如果變量設置為“-rc”,則所有“1.0-rcX”標簽將出現(xiàn)在“1.0”之前。如果指定多次(每個后綴一次),則配置中后綴的順序?qū)⒋_定具有這些后綴的標記名的排序順序。例如,如果“-pre”出現(xiàn)在配置中的“-rc”之前,則所有“1.0-preX”標簽將在任何“1.0-rcX”標簽之前列出。主釋放標簽相對于具有各種后綴的標簽的位置可以通過指定這些其他后綴之間的空后綴來確定。例如,如果后綴“-rc”,“”,“-ck”和“-bfs”

如果多個后綴匹配相同的標記名,那么該標記名將根據(jù)標記名中最早位置開始的后綴進行排序。如果多個不同的匹配后綴從最早的位置開始,那么該標記名將根據(jù)這些后綴中最長的那個進行排序。如果它們在多個配置文件中,則不同后綴之間的排序順序未定義。

網(wǎng)頁瀏覽器

指定可能由某些命令使用的Web瀏覽器。目前只有g(shù)it-instaweb [1]和git-help [1]可以使用它。

前の記事: 次の記事: