Git 中文参考(一)(9)

简介: Git 中文参考(一)

Git 中文参考(一)(8)https://developer.aliyun.com/article/1565877


如果推送中接收的对象数低于此限制,则对象将解压缩为松散的对象文件。但是,如果接收到的对象的数量等于或超过此限制,则在添加任何丢失的 delta 基础之后,接收的包将作为包存储。从推送中存储包可以使推送操作更快完成,尤其是在慢速文件系统上。如果未设置,则使用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 或“refuse”,git-receive-pack 将拒绝对非裸存储库的当前已检出分支的 ref  更新。这样的推送有潜在危险,因为它使 HEAD 与索引和工作树不同步。如果设置为“警告”,则向 stderr  打印此类推送的警告,但允许推进继续。如果设置为 false 或“ignore”,则允许此类推送而不显示任何消息。默认为“refuse”。

另一个选项是“updateInstead”,如果进入当前分支,它将更新工作树。此选项用于在通过交互式 ssh 无法轻松访问一侧时同步工作目录(例如,实时网站,因此要求工作目录清洁)。在 VM 内部开发以在不同的操作系统上测试和修复代码时,此模式也很方便。

默认情况下,如果工作树或索引与 HEAD 有任何差异,“updateInstead”将拒绝推送,但push-to-checkout挂钩可用于自定义此操作。见 githooks [5]

receive.denyNonFastForwards 

如果设置为 true,git-receive-pack 将拒绝不是快进的 ref 更新。使用此选项可以防止通过推送进行此类更新,即使强制推送也是如此。初始化共享存储库时设置此配置变量。

receive.hideRefs 

此变量与transfer.hideRefs相同,但仅适用于receive-pack(因此影响推送,但不影响提取)。尝试通过git push更新或删除隐藏的 ref 被拒绝。

receive.updateServerInfo 

如果设置为 true,git-receive-pack 将在从 git-push 接收数据并更新 refs 后运行 git-update-server-info。

receive.shallowUpdate 

如果设置为 true,则当新引用需要新的浅根时,可以更新.git / shallow。否则这些裁判被拒绝。

remote.pushDefault 

默认情况下推送到的遥控器。覆盖所有分支的branch..remote,并由特定分支的branch..pushRemote覆盖。

remote.<name>.url 

远程存储库的 URL。参见 git-fetch [1]git-push [1]

remote.<name>.pushurl 

远程存储库的推送 URL。见 git-push [1]

remote.<name>.proxy 

对于需要 curl(http,https 和 ftp)的远程控制,用于该远程的代理的 URL。设置为空字符串以禁用该远程代理。

remote.<name>.proxyAuthMethod 

对于需要 curl(http,https 和 ftp)的远程控制,用于对正在使用的代理进行身份验证的方法(可能在remote..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]git-remote [1]update子命令进行更新时,默认情况下将跳过此遥控器。

remote.<name>.skipFetchAll 

如果为 true,则在使用 git-fetch [1]git-remote [1]update子命令进行更新时,默认情况下将跳过此遥控器。

remote.<name>.receivepack 

推送时在远程端执行的默认程序。请参阅 git-push [1] 的选项–receive-pack。

remote.<name>.uploadpack 

获取时在远程端执行的默认程序。请参阅 git-fetch-pack [1] 的选项–upload-pack。

remote.<name>.tagOpt 

将此值设置为–no-tags 会在从远程< name>提取时禁用自动标记。将其设置为–tags 将从远程< name>获取每个标记,即使它们无法从远程分支头部访问。将这些标志直接传递给 git-fetch [1] 可以覆盖此设置。请参阅 git-fetch [1] 的选项–tags 和–no-tags。

remote.<name>.vcs 

将其设置为值将导致 Git 与 git-remote-进行远程交互帮手。

remote.<name>.prune 

设置为 true 时,默认情况下从此远程获取也将删除远程不再存在的任何远程跟踪引用(就像在命令行上给出--prune选项一样)。覆盖fetch.prune设置(如果有)。

remote.<name>.pruneTags 

设置为 true 时,如果通常通过remote..prunefetch.prune--prune激活修剪,默认情况下从此遥控器获取也将删除遥控器上不再存在的任何本地标签。覆盖fetch.pruneTags设置(如果有)。

另请参见[HTD0] git-fetch [1] 的remote..prune和 PRUNING 部分。

remotes.<group> 

由“git remote update ”提取的遥控器列表。见 git-remote [1]

repack.useDeltaBaseOffset 

默认情况下, git-repack [1] 会创建使用 delta-base offset 的包。如果您需要直接或通过诸如 http 之类的哑协议与版本低于 1.4.4 的 Git  共享您的存储库,那么您需要将此选项设置为“false”并重新打包。通过本机协议从旧 Git 版本访问不受此选项的影响。

repack.packKeptObjects 

如果设置为 true,则使git repack表现为--pack-kept-objects已通过。有关详细信息,请参阅 git-repack [1] 。默认为false,但如果正在写入位图索引,则为true(通过--write-bitmap-indexrepack.writeBitmaps)。

repack.useDeltaIslands 

如果设置为 true,则使git repack表现为--delta-islands已通过。默认为false

repack.writeBitmaps 

如果为 true,git 会在将所有对象打包到磁盘时写入位图索引(例如,运行git repack -a时)。该索引可以加速为克隆和提取创建的后续包的“计数对象”阶段,代价是一些磁盘空间和在初始重新打包上花费的额外时间。如果创建了多个 packfiles,则无效。默认为 false。

rerere.autoUpdate 

设置为 true 时,git-rerere在使用先前记录的分辨率干净地解决冲突后,使用结果内容更新索引。默认为 false。

rerere.enabled 

激活已解决冲突的记录,以便在再次遇到冲突时,可以自动解决相同的冲突问题。默认情况下,如果$GIT_DIR下有rr-cache目录,则启用 git-rerere [1] 。如果之前在存储库中使用了“rerere”。

reset.quiet 

设置为 true 时, git reset 将默认为 –quiet 选项。

sendemail.identity 

配置标识。给定时,会导致 sendemail 中的值。< identity> 子部分优先于 sendemail 部分中的值。默认标识是sendemail.identity的值。

sendemail.smtpEncryption 

有关说明,请参阅 git-send-email [1] 。请注意,此设置不受 _ 标识 _ 机制的约束。

sendemail.smtpssl (deprecated) 

sendemail.smtpEncryption = ssl 的弃用别名。

sendemail.smtpsslcertpath 

ca 证书的路径(目录或单个文件)。将其设置为空字符串以禁用证书验证。

sendemail.<identity>.* 

下面找到的 sendemail。* 参数的特定于身份的版本,优先于通过命令行或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.tocmd 
sendemail.smtpDomain 
sendemail.smtpServer 
sendemail.smtpServerPort 
sendemail.smtpServerOption 
sendemail.smtpUser 
sendemail.thread 
sendemail.transferEncoding 
sendemail.validate 
sendemail.xmailer 

有关说明,请参阅 git-send-email [1]

sendemail.signedoffcc (deprecated) 

sendemail.signedoffbycc的弃用别名。

sendemail.smtpBatchSize 

每次连接要发送的消息数,之后将发生重新登录。如果值为 0 或未定义,则在一个连接中发送所有消息。另请参阅 git-send-email [1]--batch-size选项。

sendemail.smtpReloginDelay 

秒重新连接到 smtp 服务器之前等待。另请参阅 git-send-email [1]--relogin-delay选项。

sequence.editor 

git rebase -i用于编辑 rebase 指令文件的文本编辑器。该值在使用时由 shell 解释。它可以被GIT_SEQUENCE_EDITOR环境变量覆盖。未配置时,将使用默认提交消息编辑器。

showBranch.default 

git-show-branch [1] 的默认分支集。参见 git-show-branch [1]

splitIndex.maxPercentChange 

使用拆分索引功能时,它指定拆分索引可以包含的条目百分比与写入新共享索引之前拆分索引和共享索引中的条目总数的比较。该值应介于 0 和 100  之间。如果值为 0,则始终写入新的共享索引,如果为 100,则永远不会写入新的共享索引。默认情况下,该值为  20,因此如果拆分索引中的条目数大于条目总数的 20%,则会写入新的共享索引。参见 git-update-index [1]

splitIndex.sharedIndexExpire 

使用拆分索引功能时,在创建新的共享索引文件时,将删除自此变量指定以来未修改的共享索引文件。值“now”立即使所有条目到期,并且“never”完全抑制到期。默认值为“2.weeks.ago”。请注意,每次基于它创建新的拆分索引文件或从中读取新的拆分索引文件时,都会将共享索引文件视为已修改(为了过期)。参见  git-update-index [1]

ssh.variant 

默认情况下,Git 根据配置的 SSH 命令的基本名称(使用环境变量GIT_SSHGIT_SSH_COMMAND或配置设置core.sshCommand配置)确定要使用的命令行参数。如果无法识别 basename,Git 将尝试通过首先使用-G(打印配置)选项调用已配置的 SSH 命令来检测对 OpenSSH 选项的支持,然后使用 OpenSSH 选项(如果成功)或除主机之外没有其他选项和远程命令(如果失败)。

可以设置配置变量ssh.variant以覆盖此检测。有效值为ssh(使用 OpenSSH 选项),plinkputtytortoiseplinksimple(除主机和远程命令外没有其他选项)。可以使用值auto显式请求默认自动检测。任何其他值都被视为ssh。也可以通过环境变量GIT_SSH_VARIANT覆盖此设置。

每个变体使用的当前命令行参数如下:

  • ssh - [-p port] [-4] [-6] [-o option] [username @] host 命令
  • simple - [用户名@]主机命令
  • plinkputty - [-P port] [-4] [-6] [username @] host 命令
  • tortoiseplink - [-P port] [-4] [-6] -batch [username @] host 命令

simple变体外,命令行参数可能会随着 git 获得新功能而改变。

status.relativePaths 

默认情况下, git-status [1] 显示相对于当前目录的路径。将此变量设置为false会显示相对于存储库根目录的路径(这是 v1.5.4 之前的 Git 的默认值)。

status.short 

设置为 true 以在 git-status [1] 中默认启用–short。选项–no-short 优先于此变量。

status.branch 

设置为 true 以在 git-status [1] 中默认启用–branch。选项–no-branch 优先于此变量。

status.displayCommentPrefix 

如果设置为 true, git-status [1] 将在每个输出行之前插入一个注释前缀(以core.commentChar开头,默认为#)。这是 git-status [1] 在 Git 1.8.4 和之前的行为。默认为 false。

status.renameLimit 

git-status [1]git-commit [1] 中执行重命名检测时要考虑的文件数。默认为 diff.renameLimit 的值。

status.renames 

Git 是否以及如何在 git-status [1]git-commit [1] 中检测重命名。如果设置为“false”,则禁用重命名检测。如果设置为“true”,则启用基本重命名检测。如果设置为“复制”或“复制”,Git 也会检测副本。默认为 diff.renames 的值。

status.showStash 

如果设置为 true, git-status [1] 将显示当前隐藏的条目数。默认为 false。

status.showUntrackedFiles 

默认情况下, git-status [1]git-commit [1] 显示当前未被 Git 跟踪的文件。仅包含未跟踪文件的目录仅显示目录名称。显示未跟踪的文件意味着 Git 需要 lstat()整个存储库中的所有文件,这在某些系统上可能很慢。因此,此变量控制命令如何显示未跟踪的文件。可能的值是:

  • no - 不显示未跟踪的文件。
  • normal - 显示未跟踪的文件和目录。
  • all - 显示未跟踪目录中的单个文件。

如果未指定此变量,则默认为 normal 。可以使用 git-status [1]git-commit [1] 的-u | --ntracked-files 选项覆盖此变量。

status.submoduleSummary 

默认为 false。如果将此值设置为非零数字或为真(与-1 或无限数字相同),则将启用子模块摘要,并显示已修改子模块的提交摘要(请参阅[HTG0 的–summary-limit 选项] ] git-submodule [1] )。请注意,当diff.ignoreSubmodules设置为 all 时,或者仅对于那些submodule..ignore=all的子模块,将禁止所有子模块的摘要输出命令。该规则的唯一例外是状态和提交将显示分阶段子模块更改。要查看忽略的子模块的摘要,您可以使用–ignore-submodules  = dirty 命令行选项或 _git 子模块摘要 _ 命令,该命令显示类似的输出但不遵循这些设置。

stash.showPatch 

如果将其设置为 true,则没有选项的git stash show命令将以补丁形式显示存储条目。默认为 false。请参阅 git-stash [1]show 命令的说明。

stash.showStat 

如果将此值设置为 true,则没有选项的git stash show命令将显示存储条目的 diffstat。默认为 true。请参阅 git-stash [1]show 命令的说明。

submodule.<name>.url 

子模块的 URL。该变量通过 git submodule init 从.gitmodules 文件复制到 git  config。用户可以在通过 _git 子模块更新 _ 获取子模块之前更改配置的 URL。如果既未设置 submodule..active 或  submodule.active,则此变量的存在将用作回退以指示子模块是否对 git 命令感兴趣。有关详细信息,请参阅 git-submodule [1]gitmodules [5]

submodule.<name>.update 

通过 git submodule update 更新子模块的方法,这是唯一受影响的命令,其他如 git checkout --recurse-submodules 不受影响。它存在是出于历史原因,当 _git 子模块 _ 是与子模块交互的唯一命令时; submodule.activepull.rebase等设置更具体。它由 gitmodules [5] 文件中的git submodule init填充。请参阅 git-submodule [1]update 命令的说明。

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  系列将子模块显示为已修改。当设置为“all”时,它将永远不会被视为已修改(但它仍将显示在状态输出中并在提交时提交),“脏”将忽略对子模块工作树的所有更改并仅采用差异在子模块的  HEAD 和超级项目中记录的提交之间考虑。  “未跟踪”还将显示其工作树中具有已修改跟踪文件的子模块。使用“none”(未设置此选项时的默认值)还会显示在其工作树中具有未跟踪文件的子模块已更改。此设置将覆盖此子模块的.gitmodules  中的任何设置,可以使用“–ignore-submodules”选项在命令行上覆盖这两个设置。 git submodule 命令不受此设置的影响。

submodule.<name>.active 

布尔值,指示子模块是否对 git 命令感兴趣。此配置选项优先于 submodule.active 配置选项。有关详细信息,请参阅 gitsubmodules [7]

submodule.active 

一个重复字段,其中包含用于匹配子模块路径的 pathspec,以确定子模块是否对 git 命令感兴趣。有关详细信息,请参阅 gitsubmodules [7]

submodule.recurse 

指定默认情况下命令是否递归到子模块。这适用于具有--recurse-submodules选项的所有命令,clone除外。默认为 false。

submodule.fetchJobs 

指定同时获取/克隆的子模块数。正整数允许最多并行获取的子模块数。值为 0 将给出一些合理的默认值。如果未设置,则默认为 1。

submodule.alternateLocation 

指定在克隆子模块时子模块如何获取备用模块。可能的值为nosuperproject。默认情况下,假定no,不添加引用。当该值设置为superproject时,要克隆的子模块将计算其相对于超级项目替代的交替位置。

submodule.alternateErrorStrategy 

指定如何使用submodule.alternateLocation计算的子模块的替代项处理错误。可能的值为ignoreinfodie。默认值为die

tag.forceSignAnnotated 

一个布尔值,用于指定创建的带注释标签是否应该进行 GPG 签名。如果在命令行中指定了--annotate,则它优先于此选项。

tag.sort 

git-tag [1] 显示时,此变量控制标签的排序顺序。没有“–sort =”提供的选项,此变量的值将用作默认值。

tar.umask 

此变量可用于限制 tar 存档条目的权限位。默认值为 0002,关闭世界写入位。特殊值“user”表示将使用归档用户的 umask。请参阅 umask(2)和 git-archive [1]

transfer.fsckObjects 

如果未设置fetch.fsckObjectsreceive.fsckObjects,则使用此变量的值。默认为 false。

设置后,如果格式错误的对象或指向不存在的对象的链接,则提取或接收将中止。此外,还会检查各种其他问题,包括遗留问题(请参阅fsck. ),以及潜在的安全问题,如.GIT目录或恶意.gitmodules文件的存在(请参阅 v2.2.1 的发行说明和 v2.17.1 了解详情)。在将来的版本中可能会添加其他健全性和安全性检查。

在接收方,失败的 fsckObjects 会使这些对象无法访问,请参阅 git-receive-pack [1] 中的“QUARANTINE ENVIRONMENT”。在获取方面,格式错误的对象将在存储库中保持未引用状态。

由于fetch.fsckObjects实现的非隔离性质,不能依赖于像receive.fsckObjects那样保持对象存储区清洁。

当对象被解包时,它们被写入对象存储库,因此可能会出现恶意对象被引入的情况,即使“获取”失败,只有后续的“获取”成功,因为只检查新的传入对象,而不是已经写入对象库的。不应该依赖这种行为上的差异。将来,这些对象也可能被隔离以用于“获取”。

就目前而言,偏执狂需要找到一些方法来模仿隔离环境,如果他们喜欢与“推”相同的保护。例如。在内部镜像的情况下,分两步执行镜像,一个用于获取不受信任的对象,然后执行第二次“推送”(将使用隔离区)到另一个内部存储库,并让内部客户端使用此推送到存储库,或禁止内部提取,只有在完整的“fsck”运行时才允许它们(并且在此期间没有发生新的提取)。

transfer.hideRefs 

字符串receive-packupload-pack用于决定从其初始广告中省略哪些引用。使用多个定义指定多个前缀字符串。排除了此变量值中列出的层次结构下的引用,并在响应git pushgit fetch时隐藏。有关此配置的程序特定版本,请参阅receive.hideRefsuploadpack.hideRefs

您还可以在引用名称前包含!以取消该条目,显式公开它,即使之前的条目将其标记为隐藏。如果您有多个 hideRefs 值,则后面的条目会覆盖之前的条目(并且更具体的配置文件中的条目会覆盖不太具体的条目)。

如果正在使用名称空间,则在与transfer.hiderefs模式匹配之前,会从每个引用中删除名称空间前缀。例如,如果在transfer.hideRefs中指定refs/heads/master并且当前名称空间是foo,则广告中省略refs/namespaces/foo/refs/heads/master,但refs/heads/masterrefs/namespaces/bar/refs/heads/master仍然被宣传为所谓的“有”行。为了在剥离之前匹配 refs,在 ref 名称前面添加^。如果组合!^,则必须首先指定!

即使你隐藏引用,客户端仍然可以通过 gitnamespaces [7] 手册页的“安全”部分中描述的技术窃取目标对象;最好将私有数据保存在单独的存储库中。

transfer.unpackLimit 

如果未设置fetch.unpackLimitreceive.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] 手册页的“SECURITY”部分中描述的技术窃取对象;最好将私有数据保存在单独的存储库中。

uploadpack.allowReachableSHA1InWant 

允许upload-pack接受一个获取请求,该请求要求从任何 ref tip 可以访问的对象。但是,请注意,计算对象可达性在计算上是昂贵的。默认为false。即使这是错误的,客户端也可以通过 gitnamespaces [7] 手册页的“SECURITY”部分中描述的技术窃取对象;最好将私有数据保存在单独的存储库中。

uploadpack.allowAnySHA1InWant 

允许upload-pack接受一个请求任何对象的获取请求。默认为false

uploadpack.keepAlive 

upload-pack启动pack-objects时,pack-objects准备包时可能会有静音期。通常它会输出进度信息,但如果--quiet用于获取,pack-objects将一直输出,直到数据包数据开始。一些客户端和网络可能会认为服务器挂起并放弃。设置此选项会指示upload-packuploadpack.keepAlive秒发送一个空的 keepalive 数据包。将此选项设置为 0 会完全禁用 keepalive 数据包。默认值为 5 秒。

uploadpack.packObjectsHook 

如果设置了此选项,当upload-pack运行git pack-objects为客户端创建 packfile 时,它将运行此 shell 命令。它 _ 将 _ 运行的pack-objects命令和参数(包括开头的git pack-objects)附加到 shell 命令。挂钩的 stdin 和 stdout 被视为pack-objects本身运行。即,upload-pack将为pack-objects提供输入到钩子,并期望在 stdout 上完成一个 packfile。

请注意,如果在存储库级配置中看到此配置变量,则会忽略此配置变量(这是针对从不受信任的存储库获取的安全措施)。

uploadpack.allowFilter 

如果设置了此选项,upload-pack将支持部分克隆和部分提取对象过滤。

uploadpack.allowRefInWant 

如果设置此选项,upload-pack将支持协议版本 2 fetch命令的ref-in-want功能。此功能旨在使负载平衡的服务器受益,因为复制延迟可能无法查看其 ref 引用的 OID 的相同视图。

url.<base>.insteadOf 

任何以此值开头的网址都会被重写,而不是以<  base>开头。如果某些站点提供大量存储库,并使用多种访问方法为其提供服务,并且某些用户需要使用不同的访问方法,则此功能允许人们指定任何等效的  URL 并让 Git 自动将 URL 重写为特定用户的最佳替代方案,即使对于网站上前所未见的存储库也是如此。当多个 insteadOf  字符串与给定的 URL 匹配时,使用最长匹配。

请注意,任何协议限制都将应用于重写的 URL。如果重写更改 URL 以使用自定义协议或远程帮助程序,则可能需要调整protocol.*.allow配置以允许请求。特别是,您希望用于子模块的协议必须设置为always而不是默认的user。参见上面protocol.allow的描述。

url.<base>.pushInsteadOf 

任何以此值开头的 URL 都不会被推送到;相反,它将被重写为以< base>开头,并且结果 URL  将被推送到。如果某些站点提供大量存储库,并使用多种访问方法为其提供服务,其中一些方法不允许推送,则此功能允许人们指定只读 URL 并让 Git  自动使用适当的 URL 进行推送,即使对于网站上前所未见的存储库也是如此。当多个 pushInsteadOf 字符串与给定的 URL  匹配时,将使用最长匹配。如果一个遥控器有一个明确的 pushurl,Git 将忽略该遥控器的这个设置。

user.email 

您的电子邮件地址将记录在任何新创建的提交中。可以被GIT_AUTHOR_EMAILGIT_COMMITTER_EMAILEMAIL环境变量覆盖。参见 git-commit-tree [1]

user.name 

您的全名将记录在任何新创建的提交中。可以被GIT_AUTHOR_NAMEGIT_COMMITTER_NAME环境变量覆盖。参见 git-commit-tree [1]

user.useConfigOnly 

指示 Git 避免尝试猜测user.emailuser.name的默认值,而只是从配置中检索值。例如,如果您有多个电子邮件地址并希望为每个存储库使用不同的电子邮件地址,那么将此配置选项设置为全局配置中的true以及名称,Git 将提示您之前设置电子邮件在新克隆的存储库中进行新提交。默认为false

user.signingKey 

如果 git-tag [1]git-commit [1] 在创建签名标签或提交时未选择您想要的密钥,则可以覆盖默认选择用这个变量。此选项未更改地传递给 gpg 的–local-user 参数,因此您可以使用 gpg 支持的任何方法指定密钥。

versionsort.prereleaseSuffix (deprecated) 

versionsort.suffix的弃用别名。如果设置了versionsort.suffix,则忽略。

versionsort.suffix 

即使在 git-tag [1] 中使用版本排序,具有相同基本版本但不同后缀的标记名仍然按字典顺序排序,例如,在主要版本之后出现的预发布标签中(例如“1.0”之后的“1.0-rc1”)。可以指定此变量以确定具有不同后缀的标签的排序顺序。

通过在此变量中指定单个后缀,包含该后缀的任何标记名将出现在相应的主要版本之前。例如。如果变量设置为“-rc”,那么所有“1.0-rcX”标签将出现在“1.0”之前。如果指定多次,每个后缀一次,则配置中的后缀顺序将确定具有这些后缀的标记名的排序顺序。例如。如果“-pre”出现在配置中的“-rc”之前,那么所有“1.0-preX”标签将在任何“1.0-rcX”标签之前列出。主释放标签相对于具有各种后缀的标签的放置可以通过在这些其他后缀中指定空后缀来确定。例如。如果后缀“-rc”,“”,“  -  hck”和“-bfs”按此顺序出现在配置中,则首先列出所有“v4.8-rcX”标签,然后列出“v4.8”,然后是“v4.8-ckX”,最后是“v4.8-bfsX”。

如果多个后缀匹配相同的标记名,则该标记名将根据从标记名中最早的位置开始的后缀进行排序。如果多个不同的匹配后缀从最早的位置开始,则该标记名将根据这些后缀中最长的一个进行排序。如果它们在多个配置文件中,则不确定不同后缀之间的排序顺序。

web.browser 

指定某些命令可能使用的 Web 浏览器。目前只有 git-instaweb [1]git-help [1] 可以使用它。

worktree.guessRemote 

如果未指定分支且既不使用-b也不使用-B--detach,则git worktree add默认为从 HEAD 创建新分支。如果worktree.guessRemote设置为 true,worktree add会尝试查找名称与新分支名称唯一匹配的远程跟踪分支。如果存在这样的分支,则将其签出并设置为新分支的“上游”。如果找不到这样的匹配,则回退到从当前 HEAD 创建新分支。

BUGS

使用不推荐使用的[section.subsection]语法时,如果子节中至少有一个大写字符,则更改值将导致添加多行键而不是更改。例如,当配置看起来像

[section.subsection]
    key = value1

并运行git config section.Subsection.key value2

[section.subsection]
    key = value1
    key = value2

GIT

部分 git [1] 套件

相关文章
|
29天前
|
监控 程序员 开发工具
如何规范Git提交-参考阿里云开发者社区
这篇文章分享了如何规范Git提交,介绍了commit message的格式规范,并通过webhook监控机制来确保代码提交的规范性,从而提高研发效率和代码维护质量。
|
2月前
|
存储 缓存 网络安全
Git 中文参考(一)(8)
Git 中文参考(一)
26 2
|
2月前
|
存储 网络安全 开发工具
Git 中文参考(一)(7)
Git 中文参考(一)
20 2
|
2月前
|
存储 算法 Java
Git 中文参考(一)(6)
Git 中文参考(一)
25 2
|
2月前
|
存储 Shell 开发工具
Git 中文参考(一)(5)
Git 中文参考(一)
19 2
|
2月前
|
存储 开发工具 git
Git 中文参考(一)(4)
Git 中文参考(一)
19 2
|
2月前
|
存储 安全 开发工具
Git 中文参考(一)(3)
Git 中文参考(一)
15 2
|
2月前
|
存储 Shell 开发工具
Git 中文参考(一)(2)
Git 中文参考(一)
18 2
|
2月前
|
存储 人工智能 开发工具
Git 中文参考(五)(9)
Git 中文参考(五)
126 2
|
2月前
|
存储 Linux 开发工具
Git 中文参考(五)(8)
Git 中文参考(五)
15 2