Git 中文参考(一)(6)https://developer.aliyun.com/article/1565875
使用此选项可自定义用于所选签名格式的程序。(参见gpg.program
和gpg.format
)gpg.program
仍可用作gpg.openpgp.program
的遗留同义词。gpg.x509.program
的默认值为“gpgsm”。
gui.commitMsgWidth
定义 git-gui [1] 中提交消息窗口的宽度。 “75”是默认值。
gui.diffContext
指定 git-gui [1] 对 diff 进行调用时应使用的上下文行数。默认值为“5”。
gui.displayUntracked
确定 git-gui [1] 是否显示文件列表中未跟踪的文件。默认值为“true”。
gui.encoding
指定用于在 git-gui [1] 和 gitk [1] 中显示文件内容的默认编码。可以通过为相关文件设置 encoding 属性来覆盖它(参见 gitattributes [5] )。如果未设置此选项,则工具默认为区域设置编码。
gui.matchTrackingBranch
确定使用 git-gui [1] 创建的新分支是否应默认跟踪具有匹配名称的远程分支。默认值:“false”。
gui.newBranchTemplate
在使用 git-gui [1] 创建新分支时用作建议名称。
gui.pruneDuringFetch
如果 git-gui [1] 在执行提取时应修剪远程跟踪分支,则为“true”。默认值为“false”。
gui.trustmtime
确定 git-gui [1] 是否应该信任文件修改时间戳。默认情况下,时间戳不受信任。
gui.spellingDictionary
指定 git-gui [1] 中用于拼写检查提交消息的字典。设置为“none”时,拼写检查将关闭。
gui.fastCopyBlame
如果为真, git gui blame 使用-C
而不是-C -C
进行原始位置检测。它使大型存储库的责任明显加快,但代价是不太彻底的复制检测。
gui.copyBlameThreshold
指定在 git gui blame 原始位置检测中使用的阈值,以字母数字字符测量。有关复制检测的更多信息,请参阅 git-blame [1] 手册。
gui.blamehistoryctx
当从 git gui blame 调用Show History Context
菜单项时,指定在 gitk [1] 中为所选提交显示的历史上下文的半径。如果此变量设置为零,则显示整个历史记录。
guitool.<name>.cmd
指定在调用 git-gui [1] Tools
菜单的相应项时要执行的 shell 命令行。每个工具都必须使用此选项。该命令从工作目录的根目录执行,并在环境中接收工具名称GIT_GUITOOL
,当前所选文件的名称为 FILENAME ,以及当前名称分支为 CUR_BRANCH (如果头被分离, CUR_BRANCH 为空)。
guitool.<name>.needsFile
仅当在 GUI 中选择了差异时才运行该工具。它保证 FILENAME 不为空。
guitool.<name>.noConsole
以静默方式运行命令,而不创建窗口以显示其输出。
guitool.<name>.noRescan
工具完成执行后,请勿重新扫描工作目录以进行更改。
guitool.<name>.confirm
在实际运行该工具之前显示确认对话框。
guitool.<name>.argPrompt
从用户请求字符串参数,并通过ARGS
环境变量将其传递给工具。由于请求参数意味着确认,如果启用此选项,_ 确认 _ 选项无效。如果该选项设置为 true , yes 或 1 ,则对话框使用内置的通用提示;否则使用变量的确切值。
guitool.<name>.revPrompt
从用户请求单个有效修订,并设置REVISION
环境变量。在其他方面,该选项类似于 argPrompt ,可以与它一起使用。
guitool.<name>.revUnmerged
在 revPrompt 子菜单中仅显示未合并的分支。这对于类似于 merge 或 rebase 的工具很有用,但对于 checkout 或 reset 之类的东西却没有用。
guitool.<name>.title
指定用于提示对话框的标题。默认值为工具名称。
guitool.<name>.prompt
指定在 argPrompt 和 revPrompt 的子部分之前显示在对话框顶部的常规提示字符串。默认值包括实际命令。
help.browser
指定将用于以 web 格式显示帮助的浏览器。参见 git-help [1] 。
help.format
覆盖 git-help [1] 使用的默认帮助格式。支持值 man , info , web 和 html 。 man 是默认值。 web 和 html 是一样的。
help.autoCorrect
等待给定的十分之一秒(0.1 秒)后自动纠正并执行错误的命令。如果可以从输入的文本中推导出多个命令,则不会执行任何操作。如果此选项的值为负,则将立即执行更正的命令。如果值为 0 - 将仅显示命令但不执行。这是默认值。
help.htmlPath
指定 HTML 文档所在的路径。支持文件系统路径和 URL。当帮助以 web 格式显示时,HTML 页面将以此路径为前缀。这默认为 Git 安装的文档路径。
http.proxy
覆盖 HTTP 代理,通常使用 http_proxy , https_proxy 和 all_proxy 环境变量配置(参见curl(1)
)。除了 curl 理解的语法之外,还可以指定具有用户名但没有密码的代理字符串,在这种情况下,git 将尝试以与其他凭据相同的方式获取一个代理字符串。有关详细信息,请参阅 gitcredentials [7] 。因此语法是 [protocol://] [user [:password] @] proxyhost [:port] 。这可以在每个远程基础上被覆盖;见远程。.proxy
http.proxyAuthMethod
设置用于针对 HTTP 代理进行身份验证的方法。仅当配置的代理字符串包含用户名部分(即 user @ host 或 user @ host:port )时才会生效。这可以在每个远程基础上被覆盖;见remote..proxyAuthMethod
。两者都可以被GIT_HTTP_PROXY_AUTHMETHOD
环境变量覆盖。可能的值是:
anyauth
- 自动选择合适的身份验证方法。假设代理使用 407 状态代码和一个或多个具有支持的身份验证方法的代理身份验证头来应答未经身份验证的请求。这是默认值。basic
- HTTP 基本身份验证digest
- HTTP 摘要认证;这可以防止密码以明文形式传输到代理negotiate
- GSS-协商认证(比较curl(1)
的–negotiate 选项)ntlm
- NTLM 身份验证(比较curl(1)
的–ntlm 选项)
http.emptyAuth
在不寻求用户名或密码的情况下尝试身份验证。这可以用于尝试 GSS-Negotiate 身份验证而无需在 URL 中指定用户名,因为 libcurl 通常需要用户名进行身份验证。
http.delegation
控制 GSSAPI 凭证委派。默认情况下,自版本 7.21.7 以来,libcurl 中的委派被禁用。设置参数以告知服务器在用户凭据时允许委派的内容。与 GSS/kerberos 一起使用。可能的值是:
none
- 不允许任何授权。policy
- 当且仅当在 Kerberos 服务票证中设置了 OK-AS-DELEGATE 标志时才委派,这是领域政策的问题。always
- 无条件地允许服务器委派。
http.extraHeader
与服务器通信时传递其他 HTTP 标头。如果存在多个此类条目,则将所有条目添加为额外标头。要允许覆盖从系统配置继承的设置,空值会将额外标头重置为空列表。
http.cookieFile
包含先前存储的 cookie 行的文件的路径名,如果它们与服务器匹配,则应在 Git http 会话中使用。从中读取 cookie 的文件的文件格式应该是纯 HTTP 标头或 Netscape/Mozilla cookie 文件格式(参见curl(1)
)。请注意,除非设置了 http.saveCookies,否则使用 http.cookieFile 指定的文件仅用作输入。
http.saveCookies
如果设置,请将请求期间收到的 cookie 存储到 http.cookieFile 指定的文件中。如果未设置 http.cookieFile,则无效。
http.version
与服务器通信时使用指定的 HTTP 协议版本。如果要强制使用默认值。可用和默认版本取决于 libcurl。实际上,此选项的可能值为:
- HTTP / 2
- HTTP / 1.1
http.sslVersion
如果要强制使用默认值,则在协商 SSL 连接时使用的 SSL 版本。可用和默认版本取决于 libcurl 是针对 NSS 还是 OpenSSL 构建的,以及正在使用的加密库的特定配置。在内部设置 CURLOPT_SSL_VERSION 选项;有关此选项的格式以及支持的 ssl 版本的更多详细信息,请参阅 libcurl 文档。实际上,此选项的可能值为:
- SSLV2
- SSLV3
- 使用 TLSv1
- tlsv1.0
- tlsv1.1
- TLSv1.2 工作
- tlsv1.3
可以被GIT_SSL_VERSION
环境变量覆盖。要强制 git 使用 libcurl 的默认 ssl 版本并忽略任何显式的 http.sslversion 选项,请将GIT_SSL_VERSION
设置为空字符串。
http.sslCipherList
协商 SSL 连接时使用的 SSL 密码列表。可用的密码取决于 libcurl 是针对 NSS 还是 OpenSSL 构建的,以及正在使用的加密库的特定配置。在内部设置 CURLOPT_SSL_CIPHER_LIST 选项;有关此列表格式的更多详细信息,请参阅 libcurl 文档。
可以被GIT_SSL_CIPHER_LIST
环境变量覆盖。要强制 git 使用 libcurl 的默认密码列表并忽略任何显式的 http.sslCipherList 选项,请将GIT_SSL_CIPHER_LIST
设置为空字符串。
http.sslVerify
获取或推送 HTTPS 时是否验证 SSL 证书。默认为 true。可以被GIT_SSL_NO_VERIFY
环境变量覆盖。
http.sslCert
获取或推送 HTTPS 时包含 SSL 证书的文件。可以被GIT_SSL_CERT
环境变量覆盖。
http.sslKey
获取或推送 HTTPS 时包含 SSL 私钥的文件。可以被GIT_SSL_KEY
环境变量覆盖。
http.sslCertPasswordProtected
为 SSL 证书启用 Git 密码提示。否则,如果证书或私钥被加密,OpenSSL 可能会多次提示用户。可以被GIT_SSL_CERT_PASSWORD_PROTECTED
环境变量覆盖。
http.sslCAInfo
包含证书的文件,用于在获取或推送 HTTPS 时验证对等方。可以被GIT_SSL_CAINFO
环境变量覆盖。
http.sslCAPath
包含带有 CA 证书的文件的路径,用于在获取或推送 HTTPS 时验证对等方。可以被GIT_SSL_CAPATH
环境变量覆盖。
http.sslBackend
要使用的 SSL 后端的名称(例如“openssl”或“schannel”)。如果 cURL 缺乏在运行时选择 SSL 后端的支持,则忽略此选项。
http.schannelCheckRevoke
用于在 http.sslBackend 设置为“schannel”时强制执行或禁用 cURL 中的证书吊销检查。如果未设置,则默认为true
。只有在 Git 始终出错并且消息是关于检查证书的撤销状态时才需要禁用此功能。如果 cURL 缺少在运行时设置相关 SSL 选项的支持,则忽略此选项。
http.schannelUseSSLCAInfo
从 cURL v7.60.0 开始,安全通道后端可以使用通过http.sslCAInfo
提供的证书包,但这会覆盖 Windows 证书存储区。由于默认情况下不需要这样做,因此当schannel
后端通过http.sslBackend
配置时,Git 会告诉 cURL 默认不使用该捆绑包,除非http.schannelUseSSLCAInfo
覆盖此行为。
http.pinnedpubkey
https 服务的公钥。它可以是 PEM 或 DER 编码的公钥文件的文件名,也可以是以 sha256 // 开头的字符串,后跟公钥的 base64 编码 sha256 哈希。另请参见 libcurl CURLOPT_PINNEDPUBLICKEY 。如果设置了此选项但 cURL 不支持,则 git 将退出并显示错误。
http.sslTry
通过常规 FTP 协议连接时,尝试使用 AUTH SSL / TLS 和加密数据传输。如果 FTP 服务器出于安全原因需要它,或者您希望在远程 FTP 服务器支持时安全地连接,则可能需要这样做。默认值为 false,因为它可能会在配置错误的服务器上触发证书验证错误。
http.maxRequests
并行启动多少 HTTP 请求。可以被GIT_HTTP_MAX_REQUESTS
环境变量覆盖。默认值为 5。
http.minSessions
在请求之间保留的卷曲会话数(跨插槽计数)。在调用 http_cleanup()之前,它们不会以 curl_easy_cleanup()结束。如果未定义 USE_CURL_MULTI,则此值的上限为 1.默认为 1。
http.postBuffer
将数据发送到远程系统时,智能 HTTP 传输使用的缓冲区的最大大小(以字节为单位)。对于大于此缓冲区大小的请求,使用 HTTP / 1.1 和 Transfer-Encoding:chunked 来避免在本地创建大量包文件。默认值为 1 MiB,足以满足大多数请求。
http.lowSpeedLimit, http.lowSpeedTime
如果 HTTP 传输速度小于 http.lowSpeedLimit 的时间超过 http.lowSpeedTime 秒,则传输中止。可以被GIT_HTTP_LOW_SPEED_LIMIT
和GIT_HTTP_LOW_SPEED_TIME
环境变量覆盖。
http.noEPSV
一个布尔值,禁用 curl 使用 EPSV ftp 命令。这对于一些不支持 EPSV 模式的“差”ftp 服务器很有帮助。可以被GIT_CURL_FTP_NO_EPSV
环境变量覆盖。默认值为 false(curl 将使用 EPSV)。
http.userAgent
HTTP USER_AGENT 字符串呈现给 HTTP 服务器。默认值表示客户端 Git 的版本,例如 git / 1.7.1。此选项允许您将此值覆盖为更常见的值,例如 Mozilla / 4.0。例如,如果通过防火墙连接将 HTTP 连接限制为一组常见的 USER_AGENT 字符串(但不包括 git / 1.7.1 之类的字符串),则可能需要这样做。可以被GIT_HTTP_USER_AGENT
环境变量覆盖。
http.followRedirects
git 是否应该遵循 HTTP 重定向。如果设置为true
,git 将透明地遵循它遇到的服务器发出的任何重定向。如果设置为false
,git 会将所有重定向视为错误。如果设置为initial
,git 将仅针对对远程的初始请求进行重定向,但不会对后续的后续 HTTP 请求进行重定向。由于 git 使用重定向的 URL 作为后续请求的基础,因此这通常就足够了。默认值为initial
。
http.<url>.*
上面的任何 http。*选项都可以有选择地应用于某些 URL。对于匹配 URL 的配置键,将按以下顺序将配置键的每个元素与 URL 的元素进行比较:
- 方案(例如
https://example.com/
中的https
)。该字段必须与配置密钥和 URL 完全匹配。 - 主机/域名(例如
https://example.com/
中的example.com
)。该字段必须在配置密钥和 URL 之间匹配。可以将*
指定为主机名的一部分,以匹配此级别的所有子域。https://*.example.com/
例如匹配https://foo.example.com/
,但不匹配https://foo.bar.example.com/
。 - 端口号(例如
http://example.com:8080/
中的8080
)。该字段必须与配置密钥和 URL 完全匹配。在匹配之前,省略的端口号会自动转换为方案的正确默认值。 - 路径(例如,
https://example.com/repo.git
中的repo.git
)。配置密钥的路径字段必须与 URL 的路径字段完全匹配,或者与斜杠分隔的路径元素的前缀匹配。这意味着路径foo/
的配置密钥与 URL 路径foo/bar
匹配。前缀只能在斜杠(/
)边界上匹配。较长的匹配优先(因此具有路径foo/bar
的配置键与 URL 路径foo/bar
比仅具有路径foo/
的配置键更好地匹配)。 - 用户名(例如
https://user@example.com/repo.git
中的user
)。如果配置密钥具有用户名,则它必须与 URL 中的用户名完全匹配。如果配置密钥没有用户名,则该配置密钥将匹配具有任何用户名(包括无)的 URL,但优先级低于具有用户名的配置密钥。
上面的列表按优先顺序排序;与配置密钥的路径匹配的 URL 优先于与其用户名匹配的 URL。例如,如果 URL 为https://user@example.com/foo/bar
,则https://example.com/foo
的配置密钥匹配将优先于https://user@example.com
的配置密钥匹配。
在尝试任何匹配之前,所有 URL 都会进行规范化(密码部分,如果嵌入在 URL 中,为了匹配目的总是被忽略),以便简单拼写的等效 URL 将正确匹配。环境变量设置始终覆盖任何匹配项。匹配的 URL 是直接给予 Git 命令的 URL。这意味着由于重定向而访问的任何 URL 都不参与匹配。
i18n.commitEncoding
编码提交消息的字符存储在; Git 本身并不关心,但这些信息是必要的,例如从电子邮件或 gitk 图形历史浏览器(以及可能在将来的其他地方或其他瓷器中)导入提交时。参见例如 git-mailinfo [1] 。默认为 utf-8 。
i18n.logOutputEncoding
运行 git log 和朋友时,编码提交消息的字符将转换为。
imap.folder
要删除邮件的文件夹,通常是“草稿”文件夹。例如:“INBOX.Drafts”,“INBOX / Drafts”或“[Gmail] / Drafts”。需要。
imap.tunnel
用于设置到 IMAP 服务器的隧道的命令,通过该隧道将管道命令而不是使用到服务器的直接网络连接。未设置 imap.host 时需要。
imap.host
标识服务器的 URL。使用imap://
前缀进行非安全连接,使用imaps://
前缀进行安全连接。设置 imap.tunnel 时忽略,否则需要。
imap.user
登录服务器时使用的用户名。
imap.pass
登录服务器时使用的密码。
imap.port
要连接到服务器的整数端口号。对于 imap:// hosts,默认值为 143;对于 imaps:// hosts,默认值为 993。设置 imap.tunnel 时忽略。
imap.sslverify
一个布尔值,用于启用/禁用 SSL / TLS 连接使用的服务器证书的验证。默认值为true
。设置 imap.tunnel 时忽略。
imap.preformattedHTML
发送补丁时启用/禁用 html 编码的布尔值。 html 编码的补丁将用
括起来。并具有 text / html 的内容类型。具有讽刺意味的是,启用此选项会导致 Thunderbird 将补丁作为普通/文本格式=固定电子邮件发送。默认值为false
。
imap.authMethod
使用 IMAP 服务器指定身份验证的身份验证方法。如果 Git 是使用 NO_CURL 选项构建的,或者如果你的 curl 版本早于 7.34.0,或者你正在使用--no-curl
选项运行 git-imap-send,那么唯一支持的方法是 CRAM-MD5 。如果未设置,则 git imap-send 使用基本的 IMAP 明文 LOGIN 命令。
index.recordEndOfIndexEntries
指定索引文件是否应包含“结束索引条目”部分。这减少了多处理器计算机上的索引加载时间,但在使用 2.20 之前的 Git 版本读取索引时会产生“忽略 EOIE 扩展”的消息。如果已明确启用 index.threads,则默认为 true ,否则为 false 。
index.recordOffsetTable
指定索引文件是否应包含“索引条目偏移表”部分。这减少了多处理器计算机上的索引加载时间,但在使用 2.20 之前的 Git 版本读取索引时会产生消息“忽略 IEOT 扩展”。如果已明确启用 index.threads,则默认为 true ,否则为 false 。
index.threads
指定加载索引时要生成的线程数。这意味着减少多处理器计算机上的索引加载时间。指定 0 或 true 将导致 Git 自动检测 CPU 的数量并相应地设置线程数。指定 1 或 false 将禁用多线程。默认为 true 。
index.version
指定应初始化新索引文件的版本。这不会影响现有存储库。
init.templateDir
指定将从中复制模板的目录。 (参见 git-init [1] 的“TEMPLATE DIRECTORY”部分。)
instaweb.browser
指定将用于在 gitweb 中浏览工作存储库的程序。见 git-instaweb [1] 。
instaweb.httpd
用于在工作存储库上启动 gitweb 的 HTTP 守护程序命令行。见 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
在交互式命令中,允许用户使用单个键提供单字母输入(即,不按 Enter 键)。目前这被 git-add [1] , git-checkout [1] , git-commit [1] 的--patch
模式使用, git-reset [1] 和 git-stash [1] 。请注意,如果便携式击键输入不可用,则会自动忽略此设置;需要 Perl 模块 Term :: ReadKey。
interactive.diffFilter
当交互式命令(例如git add --patch
)显示彩色差异时,git 将通过此配置变量定义的 shell 命令管道 diff。该命令可以进一步标记差异用于人类消费,只要它保持与原始差异中的线一一对应。默认为禁用(无过滤)。
log.abbrevCommit
如果为真,则 git-log [1] , git-show [1] 和 git -whatchanged [1] 假定--abbrev-commit
。您可以使用--no-abbrev-commit
覆盖此选项。
log.date
设置 log 命令的默认日期时间模式。设置 log.date 的值类似于使用 git log 的--date
选项。有关详细信息,请参阅 git-log [1] 。
log.decorate
打印出 log 命令显示的任何提交的引用名称。如果指定 _ 短 _,则引用名称前缀 refs / heads / , refs / tags / 和 refs / remotes / 将不会打印。如果指定了 full ,将打印完整的引用名称(包括前缀)。如果指定了 auto ,那么如果输出到达终端,则 ref 名称显示为 short ,否则不显示 ref 名称。这与git log
的--decorate
选项相同。
log.follow
如果true
,git log
将像单个 一样使用 --follow
选项。给出。这与 --follow
具有相同的限制,即它不能用于跟踪多个文件,并且在非线性历史记录上不能很好地工作。
log.graphColors
由逗号分隔的颜色列表,可用于在git log --graph
中绘制历史记录行。
log.showRoot
如果为 true,则初始提交将显示为大型创建事件。这相当于对空树的差异。像 git-log [1] 或 git -whatchanged [1] 这样的工具,通常会隐藏根提交,现在将显示它。默认为 True。
log.showSignature
如果为真,则 git-log [1] , git-show [1] 和 git -whatchanged [1] 假定--show-signature
。
log.mailmap
如果为真,则 git-log [1] , git-show [1] 和 git -whatchanged [1] 假定--use-mailmap
。
mailinfo.scissors
如果为 true,则默认情况下 git-mailinfo [1] (因此 git-am [1] )会起作用,就像在命令行中提供了–scissors 选项一样。当激活时,该特征在剪刀线之前从消息体中移除所有内容(即主要由“> 8”,“8<”和“ - ”组成)。
mailmap.file
扩充邮件地图文件的位置。首先加载位于存储库根目录中的默认邮件映射,然后加载此变量指向的邮件映射文件。 mailmap 文件的位置可以位于存储库子目录中,也可以位于存储库本身之外的某个位置。参见 git-shortlog [1] 和 git-blame [1] 。
mailmap.blob
与mailmap.file
类似,但请将该值视为存储库中 blob 的引用。如果同时给出mailmap.file
和mailmap.blob
,则两者都被解析,来自mailmap.file
的条目优先。在裸存储库中,默认为HEAD:.mailmap
。在非裸存储库中,它默认为空。
man.viewer
指定可用于以 man 格式显示帮助的程序。参见 git-help [1] 。
man.<tool>.cmd
指定用于调用指定 man 查看器的命令。在 shell 中评估指定的命令,并将 man 页面作为参数传递。 (参见 git-help [1] 。)
man.<tool>.path
覆盖可用于以 man 格式显示帮助的给定工具的路径。参见 git-help [1] 。
merge.conflictStyle
指定在合并时将冲突的行写入工作树文件的样式。默认为“合并”,显示<<<<<<<
冲突标记,一侧更改,=======
标记,另一侧更改,然后是>>>>>>>
标记。另一种样式“diff3”在=======
标记之前添加|||||||
标记和原始文本。
merge.defaultToUpstream
如果在没有任何提交参数的情况下调用 merge,则通过使用存储在其远程跟踪分支中的最后观察值来合并为当前分支配置的上游分支。查询branch..remote
命名的远程分支的branch..merge
值,然后通过remote..fetch
将它们映射到相应的远程跟踪分支,并合并这些跟踪分支的提示。
merge.ff
默认情况下,Git 在合并作为当前提交的后代的提交时不会创建额外的合并提交。相反,当前分支的提示是快进的。当设置为false
时,此变量告诉 Git 在这种情况下创建额外的合并提交(相当于从命令行提供--no-ff
选项)。设置为only
时,仅允许此类快进合并(相当于从命令行提供--ff-only
选项)。
merge.verifySignatures
Git 中文参考(一)(8)https://developer.aliyun.com/article/1565877