Git 中文参考(一)(4)https://developer.aliyun.com/article/1565873
使用 multi-pack-index 文件使用单个索引跟踪多个 packfiles。请参见多包装索引设计文档。
core.sparseCheckout
启用“稀疏检出”功能。有关详细信息,请参阅 git-read-tree [1] 中的“稀疏检出”部分。
core.abbrev
设置长度对象名称为缩写。如果未指定或设置为“auto”,则根据存储库中打包对象的近似数量计算适当的值,这有望使缩写对象名称在一段时间内保持唯一。最小长度为 4。
add.ignoreErrors add.ignore-errors (deprecated)
告诉 git add 在继续添加文件时,由于索引错误而无法添加某些文件。相当于 git-add [1] 的--ignore-errors
选项。不推荐使用add.ignore-errors
,因为它不遵循配置变量的通常命名约定。
alias.*
git [1] 命令包装器的命令别名,例如在定义“alias.last = cat-file commit HEAD”之后,调用“git last”等同于“git cat-file commit HEAD”。为避免使用脚本时出现混淆和麻烦,将忽略隐藏现有 Git 命令的别名。参数由空格分隔,支持通常的 shell 引用和转义。一对引号或反斜杠可用于引用它们。
如果别名扩展以感叹号为前缀,则将其视为 shell 命令。例如,定义“alias.new =!gitk --all --not ORIG_HEAD”,调用“git new”等同于运行 shell 命令“gitk --all --not ORIG_HEAD”。请注意,shell 命令将从存储库的顶级目录执行,该目录可能不一定是当前目录。通过从原始当前目录运行 git rev-parse --show-prefix 来设置GIT_PREFIX
。参见 git-rev-parse [1] 。
am.keepcr
如果为 true,git-am 将使用参数--keep-cr
调用 mbox 格式的补丁 git-mailsplit。在这种情况下,git-mailsplit 不会从以\r\n
结尾的行中删除\r
。可以通过从命令行提供--no-keep-cr
来覆盖。参见 git-am [1] , git-mailsplit [1] 。
am.threeWay
默认情况下,如果补丁不能完全应用,git am
将失败。当设置为 true 时,如果补丁记录了应该应用的 blob 的身份,则此设置告诉git am
回退到三向合并,并且我们在本地可以获得这些 blob(相当于提供--3way
选项命令行)。默认为false
。见 git-am [1] 。
apply.ignoreWhitespace
当设置为 chang 时,告诉 git apply 忽略空白的变化,与--ignore-space-change
选项相同。设置为以下之一:no,none,never,false 告诉 git apply 尊重所有空格差异。参见 git-apply [1] 。
apply.whitespace
告诉 git apply 如何处理空格,方法与--whitespace
选项相同。参见 git-apply [1] 。
blame.blankBoundary
在 git-blame [1] 中显示边界提交的空白提交对象名称。此选项默认为 false。
blame.coloring
这确定了应用于非 blame 输出的着色方案。它可以是 repeatedLines , highlightRecent 或 none 这是默认值。
blame.date
指定用于在 git-blame [1] 中输出日期的格式。如果未设置,则使用 iso 格式。有关支持的值,请参阅 git-log [1] 中--date
选项的讨论。
blame.showEmail
在 git-blame [1] 中显示作者电子邮件而不是作者姓名。此选项默认为 false。
blame.showRoot
不要将 root 提交视为 git-blame [1] 中的边界。此选项默认为 false。
branch.autoSetupMerge
告诉 git branch 和 git checkout 设置新的分支,以便 git-pull [1] 将从起点分支适当地合并。请注意,即使未设置此选项,也可以使用--track
和--no-track
选项按分支选择此行为。有效设置为:false
- 未进行自动设置; true
- 当起点是远程跟踪分支时,自动设置完成; always
- 当起始点是本地分支或远程跟踪分支时,自动设置完成。此选项默认为 true。
branch.autoSetupRebase
当使用跟踪另一个分支的 git branch 或 git checkout 创建一个新分支时,此变量告诉 Git 设置 pull to rebase 而不是 merge(请参阅“branch..rebase“)。当never
时,rebase 永远不会自动设置为 true。当local
时,对于其他本地分支的跟踪分支,rebase 设置为 true。当remote
时,对于跟踪的远程跟踪分支分支,rebase 设置为 true。当always
时,对于所有跟踪分支,rebase 将设置为 true。有关如何设置分支以跟踪另一个分支的详细信息,请参阅“branch.autoSetupMerge”。此选项默认为 never。
branch.sort
当 git-branch [1] 显示时,此变量控制分支的排序顺序。没有“–sort =”提供的选项,此变量的值将用作默认值。有关有效值,请参阅 git-for-each-ref [1] 字段名称。
branch.<name>.remote
当在分支上时,它告诉 git fetch 和 git push 哪个远程提取/推送到。可以使用remote.pushDefault
(对于所有分支)覆盖要推送到的远程。对于当前分支,推送到的远程可以被branch..pushRemote
进一步覆盖。如果未配置远程,或者您不在任何分支上,则默认为origin
进行提取,remote.pushDefault
进行推送。另外,.
(一个句点)是当前的本地存储库(一个点存储库),请参阅下面的branch..merge
的最后一个注释。
branch.<name>.pushRemote
当在分支上时,它会覆盖branch..remote
以进行推送。它还会覆盖从分支推送的remote.pushDefault
。当您从一个地方(例如您的上游)拉出并推送到另一个地方(例如您自己的发布存储库)时,您可能希望设置remote.pushDefault
以指定要推送到所有分支的远程,并使用此选项覆盖它对于特定的分支。
branch.<name>.merge
与 branch.remote 一起定义给定分支的上游分支。它告诉 git fetch / git pull / git rebase 哪个分支合并也会影响 git push (参见 push.default)。当在分支时,它告诉 git fetch 默认的 refspec 被标记为在 FETCH_HEAD 中合并。该值的处理类似于 refspec 的远程部分,并且必须匹配从“branch..remote”给出的远程提取的 ref。合并信息由 git pull (首先调用 git fetch )来查找默认分支以进行合并。如果没有此选项, git pull 默认合并第一个引用的 refspec。指定多个值以获得章鱼合并。如果你想设置 git pull 以便它合并到从本地存储库中的另一个分支,您可以将分支..merge 指向所需的分支,并使用相对路径设置.
(句点)进行 branch..remote。
branch.<name>.mergeOptions
设置合并到分支的默认选项。语法和支持的选项与 git-merge [1] 的选项相同,但目前不支持包含空格字符的选项值。
branch.<name>.rebase
如果为 true,在“git pull”运行时,rebase 分支到已获取的分支之上,而不是从默认远程合并到默认分支。请参阅“pull.rebase”以非特定于分支的方式执行此操作。
当merges
时,将--rebase-merges
选项传递给 git rebase ,以便本地合并提交包含在 rebase 中(有关详细信息,请参阅 git-rebase [1] )。
当 perserve 时,也将--preserve-merges
传递给 git rebase ,以便通过运行 git pull 不会使本地提交的合并提交变平。
当值为interactive
时,rebase 以交互模式运行。
注:这可能是危险的操作;不要使用它,除非你理解其含义(详见 git-rebase [1] )。
branch.<name>.description
分支描述,可以使用git branch --edit-description
进行编辑。分支描述会自动添加到格式补丁封面信函或请求摘要中。
browser.<tool>.cmd
指定用于调用指定浏览器的命令。在 shell 中使用作为参数传递的 URL 计算指定的命令。 (参见 git-web {litdd}浏览[1] 。)
browser.<tool>.path
覆盖可用于浏览 HTML 帮助的给定工具的路径(参见 git-help [1] 中的-w
选项)或 gitweb 中的工作存储库(参见 git-instaweb [ 1] )。
checkout.defaultRemote
当你运行 git checkout 并且只有一个远端时,它可能隐含地退回检查和跟踪,例如 origin/ 。一旦你有超过一个带有的远程引用时,这就会停止工作。此设置允许设置首选远程的名称,该名称在消除歧义时应始终获胜。典型的用例是将其设置为origin
。
目前,它被git-checkout [1] 使用,当 git checkout 时,将在另一个远端上检出 分支,而 git-worktree [1] 当 git worktree add 指的是一个远程分支。此设置可能会在将来用于其他类似 checkout 的命令或功能。
checkout.optimizeNewBranch
当使用稀疏检出时,用于优化“git checkout -b ”的性能。设置为 true 时,git 不会根据当前的稀疏检出设置更新 repo。这意味着它不会更新索引中的 skip-worktree 位,也不会在工作目录中添加/删除文件以反映当前的稀疏检出设置,也不会显示本地更改。
clean.requireForce
一个布尔值会使 git-clean 无效,除非给出-f,-i 或-n,默认为 true。
color.advice
一个布尔值用于启用/禁用提示中颜色(例如,当推送失败时,请参阅advice.*
以获取列表)。可以设置为always
,false
(或never
)或auto
(或true
),在这种情况下,只有在错误输出到达终端时才使用颜色。如果未设置,则使用color.ui
的值(默认为auto
)。
color.advice.hint
使用自定义颜色提示。
color.blame.highlightRecent
这可用于根据每行的更改日期为 blame 的元数据着色。
此设置应设置为以逗号分隔的颜色和日期设置列表,以颜色开始和结束,日期应设置为从最旧到最新。如果在给定时间戳之前引入该行,则元数据将根据颜色着色,覆盖较旧的带时间戳的颜色。
而不是绝对时间戳相对时间戳也起作用,例如 2.weeks.ago 适用于 2 周以上的任何事情。
默认为 _ 蓝色,12 个月前,白色,1 个月前,红色 _,颜色为一年以上的所有颜色为蓝色,最近一个月和一年之间的变化保持白色,上个月是红色的。
color.blame.repeatedLines
使用自定义颜色作为 git-blame 输出的部分,每行重复元信息(例如提交 ID,作者姓名,日期和时区)。默认为青色。
color.branch
一个布尔值在 git-branch [1] 的输出中启用/禁用颜色。可以设置为always
,false
(或never
)或auto
(或true
),在这种情况下,颜色仅在输出到终端时使用。如果未设置,则使用color.ui
的值(默认为auto
)。
color.branch.<slot>
使用自定义颜色进行分支着色。 是
current
(当前分支),local
(本地分支),remote
(refs/remotes/中的远程跟踪分支),upstream
(上游跟踪分支),plain
(其他参考文献)。
color.diff
是否使用 ANSI 转义序列为补丁添加颜色。如果设置为always
, git-diff [1] , git-log [1] 和 git-show [1] 将使用所有补丁的颜色。如果设置为true
或auto
,则这些命令仅在输出到终端时使用颜色。如果未设置,则使用color.ui
的值(默认为auto
)。
这不会影响 git-format-patch [1] 或 git-diff- * 管道命令。可以使用--color[=]
选项在命令行上覆盖。
color.diff.<slot>
使用自定义颜色进行差异着色。 指定修补程序的哪个部分使用指定的颜色,并且是
context
之一(上下文文本 - plain
是历史同义词),meta
(元信息),frag
(Hunk header), func (hunk 头中的函数),old
(删除行),new
(添加行),commit
(提交头),whitespace
(突出显示空格错误),oldMoved
(删除行),newMoved
(添加行),oldMovedDimmed
,oldMovedAlternative
,oldMovedAlternativeDimmed
,newMovedDimmed
,newMovedAlternative
newMovedAlternativeDimmed
(参见 设置 _- git-diff [1] 中的颜色移动 _ 详情),contextDimmed
,oldDimmed
,newDimmed
,contextBold
,oldBold
和newBold
(详见 git-range-diff [1] )。
color.decorate.<slot>
使用 git log --decorate 输出的自定义颜色。 分别是本地分支,远程跟踪分支,标签,存储和 HEAD 的
branch
,remoteBranch
,tag
,stash
或HEAD
之一,以及用于移植提交的grafted
。
color.grep
设置为always
时,始终突出显示匹配项。当false
(或never
)时,永远不会。设置为true
或auto
时,仅在将输出写入终端时使用颜色。如果未设置,则使用color.ui
的值(默认为auto
)。
color.grep.<slot>
使用自定义颜色进行 grep 着色。 指定行的哪一部分使用指定的颜色,并且是其中之一
context
上下文行中不匹配的文本(使用-A
,-B
或-C
时)
filename
文件名前缀(不使用-h
时)
function
功能名称行(使用-p
时)
lineNumber
行号前缀(使用-n
时)
column
列号前缀(使用--column
时)
match
匹配文本(与设置matchContext
和matchSelected
相同)
matchContext
匹配上下文行中的文本
matchSelected
匹配所选行中的文本
selected
选定行中不匹配的文本
separator
一行(:
,-
和=
)之间以及之间的字段之间的分隔符(--
)
color.interactive
设置为always
时,始终使用颜色进行交互式提示和显示(例如“git-add --interactive”和“git-clean --interactive”使用的颜色)。如果为假(或never
),则永远不会。设置为true
或auto
时,仅在输出到终端时使用颜色。如果未设置,则使用color.ui
的值(默认为auto
)。
color.interactive.<slot>
使用自定义颜色 git add --interactive 和 git clean --interactive 输出。 可以是
prompt
,header
,help
或error
,用于交互式命令的四种不同类型的正常输出。
color.pager
在寻呼机正在使用时启用/禁用彩色输出的布尔值(默认为 true)。
color.push
用于启用/禁用推送错误颜色的布尔值。可以设置为always
,false
(或never
)或auto
(或true
),在这种情况下,颜色仅在错误输出到达终端时使用。如果未设置,则使用color.ui
的值(默认为auto
)。
color.push.error
使用自定义颜色进行推送错误。
color.remote
如果设置,则突出显示行开头的关键字。关键字是“错误”,“警告”,“提示”和“成功”,并且不区分大小写。可以设置为always
,false
(或never
)或auto
(或true
)。如果未设置,则使用color.ui
的值(默认为auto
)。
color.remote.<slot>
为每个远程关键字使用自定义颜色。 可以是与相应关键字匹配的
hint
,warning
,success
或error
。
color.showBranch
在 git-show-branch [1] 的输出中启用/禁用颜色的布尔值。可以设置为always
,false
(或never
)或auto
(或true
),在这种情况下,颜色仅在输出到终端时使用。如果未设置,则使用color.ui
的值(默认为auto
)。
color.status
在 git-status [1] 的输出中启用/禁用颜色的布尔值。可以设置为always
,false
(或never
)或auto
(或true
),在这种情况下,颜色仅在输出到终端时使用。如果未设置,则使用color.ui
的值(默认为auto
)。
color.status.<slot>
使用自定义颜色进行状态着色。 是
header
(状态消息的标题文本),added
或updated
(已添加但未提交的文件)之一,changed
(已更改但未添加到索引中的文件) ),untracked
(未被 Git 跟踪的文件),branch
(当前分支),nobranch
(显示 _ 无分支 _ 警告的颜色,默认为红色),localBranch
或remoteBranch
(分支和跟踪信息以状态短格式显示时的本地和远程分支名称)或unmerged
(具有未更改的更改的文件)。
color.transport
拒绝推送时启用/禁用颜色的布尔值。可以设置为always
,false
(或never
)或auto
(或true
),在这种情况下,颜色仅在错误输出到达终端时使用。如果未设置,则使用color.ui
的值(默认为auto
)。
color.transport.rejected
推送被拒绝时使用自定义颜色。
color.ui
此变量确定控制每个命令族颜色使用的变量(如color.diff
和color.grep
)的默认值。随着更多命令学习配置以设置--color
选项的默认值,其范围将扩展。如果您希望 Git 命令不使用颜色,则将其设置为false
或never
,除非使用其他配置或--color
选项明确启用。如果您希望所有不是用于机器消耗的输出使用颜色,将其设置为always
,如果您希望此类输出在写入时使用颜色,则将其设置为true
或auto
(这是 Git 1.8.4 以来的默认设置)终点站。
column.ui
指定是否应在列中输出支持的命令。此变量由以空格或逗号分隔的标记列表组成:
这些选项控制何时启用该功能(默认为 never ):
always
总是显示在列中
never
从不在列中显示
auto
如果输出到终端,则显示在列中
这些选项控制布局(默认为 _ 列 _)。如果 always,never 或 auto,则设置任何这些意味着 always。
column
在行之前填充列
row
在列之前填充行
plain
显示在一列中
最后,这些选项可以与布局选项结合使用(默认为 nodense ):
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
此设置将覆盖git commit
中--cleanup
选项的默认值。有关详细信息,请参阅 git-commit [1] 。当您总是希望在日志消息中保留以注释字符#
开头的行时,更改默认值会很有用,在这种情况下您将执行git config commit.cleanup whitespace
(请注意,您必须删除在提交日志模板中以#
开头的帮助行,如果你这样做)。
commit.gpgSign
一个布尔值,用于指定是否所有提交都应进行 GPG 签名。在执行诸如 rebase 之类的操作时使用此选项可能会导致大量提交被签名。使用代理可能很方便避免多次输入 GPG 密码。
commit.status
一个布尔值,用于在使用编辑器准备提交消息时启用/禁用提交消息模板中的状态信息。默认为 true。
commit.template
指定要用作新提交消息模板的文件的路径名。
commit.verbose
boolean 或 int,用git commit
指定详细级别。参见 git-commit [1] 。
credential.helper
指定在需要用户名或密码凭据时要调用的外部帮助程序;帮助程序可以咨询外部存储,以避免提示用户输入凭据。请注意,可以定义多个帮助程序。有关详细信息,请参阅 gitcredentials [7] 。
credential.useHttpPath
获取凭据时,请考虑 http 或 https URL 的“路径”组件。默认为 false。有关详细信息,请参阅 gitcredentials [7] 。
credential.username
如果没有为网络身份验证设置用户名,则默认使用此用户名。请参阅凭证。.*以及 gitcredentials [7] 。
credential.<url>.*
上面的任何凭证。*选项都可以有选择地应用于某些凭据。例如,“credential.https://example.com.username”将仅为 https 与 example.com 的连接设置默认用户名。有关如何匹配 URL 的详细信息,请参阅 gitcredentials [7] 。
credentialCache.ignoreSIGHUP
告诉 git-credential-cache-daemon 忽略 SIGHUP,而不是退出。
completion.commands
这仅由 git-completion.bash 用于在已完成命令列表中添加或删除命令。通常只完成瓷器命令和一些选择其他命令。您可以在此变量中添加更多以空格分隔的命令。使用 - 对命令进行前缀将从现有列表中删除它。
diff.autoRefreshIndex
使用 git diff 与工作树文件进行比较时,不要将仅限统计更改视为已更改。而是静默运行git update-index --refresh
以更新工作树中的内容与索引中的内容匹配的路径的缓存统计信息。此选项默认为 true。请注意,这仅影响 git diff Porcelain,而不影响 git diff-files 等低级 diff 命令。
diff.dirstat
逗号分隔的--dirstat
参数列表,指定 git-diff [1] 和朋友的--dirstat
选项的默认行为。可以在命令行上覆盖默认值(使用--dirstat=
)。回退默认值(当diff.dirstat
未更改时)为changes,noncumulative,3
。可以使用以下参数:
changes
通过计算已从源中删除或添加到目标的行来计算 dirstat 数。这忽略了文件中纯代码移动的数量。换句话说,重新排列文件中的行不会像其他更改那样计算。这是没有给出参数时的默认行为。
lines
通过执行常规的基于行的差异分析来计算 dirstat 数字,并对移除/添加的行数进行求和。(对于二进制文件,计算 64 字节块,因为二进制文件没有自然的线条概念)。这是比changes
行为更昂贵的--dirstat
行为,但它确实计算文件中重新排列的行与其他更改一样多。结果输出与您从其他--*stat
选项获得的输出一致。
files
通过计算更改的文件数来计算 dirstat 数。在 dirstat 分析中,每个更改的文件都相同。这是计算上最便宜的--dirstat
行为,因为它根本不需要查看文件内容。
cumulative
计算父目录的子目录中的更改。请注意,使用cumulative
时,报告的百分比总和可能超过 100%。可以使用noncumulative
参数指定默认(非累积)行为。
<limit>
整数参数指定截止百分比(默认为 3%)。贡献低于此百分比变化的目录不会显示在输出中。
示例:以下将计算已更改的文件,同时忽略少于已更改文件总量的 10%的目录,并在父目录中累计子目录计数:files,10,cumulative
。
diff.statGraphWidth
在–stat 输出中限制图形部分的宽度。如果设置,则适用于除 format-patch 之外的所有生成–stat 输出的命令。
diff.context
用生成差异。上下文行而不是默认值 3。此值可由-U 选项覆盖。
diff.interHunkContext
显示差异之间的上下文,直到指定的行数,从而融合彼此接近的行。此值用作--inter-hunk-context
命令行选项的默认值。
diff.external
如果设置了此配置变量,则不使用内部 diff 机器执行 diff 生成,而是使用给定命令。可以使用’GIT_EXTERNAL_DIFF’环境变量覆盖。使用 git [1] 中“git Diffs”下所述的参数调用该命令。注意:如果您只想在文件的子集上使用外部差异程序,则可能需要使用 gitattributes [5] 。
diff.ignoreSubmodules
设置–ignore-submodules 的默认值。请注意,这仅影响 git diff Porcelain,而不影响 git diff-files 等低级 diff 命令。 git checkout 在报告未提交的更改时也会尊重此设置。设置为 _ 所有 _ 禁用 git commit 和 git status 通常显示的子模块摘要,当设置status.submoduleSummary
时除非使用–ignore 覆盖它-submodules 命令行选项。 _git 子模块 _ 命令不受此设置的影响。
diff.mnemonicPrefix
如果设置, git diff 使用的前缀对与标准“a/”和“b/”不同,具体取决于所比较的内容。当此配置生效时,反向差异输出也会交换前缀的顺序:
git diff
比较索引和工作树;
git diff HEAD
比较提交和工作树;
git diff --cached
Git 中文参考(一)(6)https://developer.aliyun.com/article/1565875