From 5409debafa3725e70f65db87ced2bc8a0d5f59c1 Mon Sep 17 00:00:00 2001 From: dscho Date: Sat, 11 May 2024 19:48:28 +0000 Subject: [PATCH] Update translated manual pages Updated via the `update-translated-manual-pages.yml` GitHub workflow. --- .../02602a3a586c35b73a1fb4a194b337ea27673f33 | 1612 +++++++++++++ .../02d8e736c2194fbcb51434bcfa1d04bbd1582e04 | 1160 ++++++++++ .../0676a61b6b09ad634964bd98d03bfbe028058e6e | 299 +++ .../09136b1123f08c10b77f0c566f18d23fedff8228 | 341 +++ .../0f8e0a40bbee1f583c6e6f733ff67b95365dc54b | 274 +++ .../1cb52ab5e4113c7e1436fd1e015468562aa49e09 | 1991 +++++++++++++++++ .../26c7d9281b80d1df400b5b771a3b325019d66ebb | 1079 +++++++++ .../2da6de8c32d8fc74bdcbcdb46f16626b97b97bbd | 424 ++++ .../3b495c14a07e3170f251927361ec3c52bd069268 | 359 +++ .../3c4dc2a59bd21d5c2642d8113c432a12172115ec | 47 + .../457b5fe6e16fc3eee922a75fc3419b435fc2e28d | 1212 ++++++++++ .../4f6ca97fd101cc00d0cf8e832ad7424d347e18e4 | 385 ++++ .../523fab0b9e17c745fc6a7d2eeb584ae8691be032 | 385 ++++ .../53edbdb965efac284aee9b27c9bbdaa9b0356ddc | 426 ++++ .../5aa3dcafa54b9bb25aea53b280d2aeffe7aa5ded | 1019 +++++++++ .../68d0a0be3508c996fc32e3a92e1bf241c688eb2b | 1040 +++++++++ .../6e7450305848f1369b0e36255a33cf7539b523e7 | 129 ++ .../7fb447badc6727f7bd3e405ee251047fc07207d7 | 128 ++ .../8e8d133d1f480af72988bb3a1b6a8e02ae355709 | 173 ++ .../981792f10d44743e07e665ce6e0fb9c3676a5d08 | 286 +++ .../a28239dd6cd3f362582fda46e2b699bed732903f | 169 ++ .../aeba6ba94edd8b5708744d439429f188ca8e8cb3 | 712 ++++++ .../af4af141f9a671c718556b81657bb172189042e2 | 1184 ++++++++++ .../b0b1ecb1a89c7853f159b6de1242f549542d1c41 | 922 ++++++++ .../bea776f44dcca72ca6d06fb4c5998f2208f4008c | 157 ++ .../cc67902c71c099df9286be8e9a93cdaea135b776 | 879 ++++++++ .../efdc929ec7b267315bb2e9ea822726b42c5c7151 | 358 +++ .../ff6c81bcd0c72b55a84e0ea3274bf6fd3e16489c | 305 +++ _sync_state/git-html-l10n.sha | 2 +- content/docs/git-add/zh_HANS-CN.html | 8 +- content/docs/git-checkout/zh_HANS-CN.html | 4 +- content/docs/git-clone/zh_HANS-CN.html | 18 +- content/docs/git-commit/zh_HANS-CN.html | 6 +- content/docs/git-config/zh_HANS-CN.html | 28 +- .../docs/git-count-objects/zh_HANS-CN.html | 4 +- content/docs/git-diff-files/zh_HANS-CN.html | 10 +- content/docs/git-diff-index/zh_HANS-CN.html | 10 +- content/docs/git-diff-tree/zh_HANS-CN.html | 10 +- content/docs/git-diff/zh_HANS-CN.html | 10 +- content/docs/git-format-patch/zh_HANS-CN.html | 4 +- content/docs/git-grep/zh_HANS-CN.html | 2 +- content/docs/git-help/zh_HANS-CN.html | 4 +- content/docs/git-init/zh_HANS-CN.html | 4 +- content/docs/git-log/fr.html | 4 +- content/docs/git-log/zh_HANS-CN.html | 4 +- content/docs/git-reset/zh_HANS-CN.html | 4 +- content/docs/git-restore/zh_HANS-CN.html | 4 +- content/docs/git-rev-list/fr.html | 4 +- content/docs/git-rm/zh_HANS-CN.html | 4 +- content/docs/git-shortlog/fr.html | 4 +- content/docs/git-show/zh_HANS-CN.html | 4 +- content/docs/git-stash/zh_HANS-CN.html | 4 +- content/docs/git-status/zh_HANS-CN.html | 2 +- content/docs/git-svn/zh_HANS-CN.html | 4 +- content/docs/git/es.html | 2 +- content/docs/git/zh_HANS-CN.html | 72 +- content/docs/gitglossary/es.html | 6 +- content/docs/gitglossary/zh_HANS-CN.html | 166 +- data/docs.yml | 68 +- 59 files changed, 17695 insertions(+), 240 deletions(-) create mode 100644 _generated-asciidoc/02602a3a586c35b73a1fb4a194b337ea27673f33 create mode 100644 _generated-asciidoc/02d8e736c2194fbcb51434bcfa1d04bbd1582e04 create mode 100644 _generated-asciidoc/0676a61b6b09ad634964bd98d03bfbe028058e6e create mode 100644 _generated-asciidoc/09136b1123f08c10b77f0c566f18d23fedff8228 create mode 100644 _generated-asciidoc/0f8e0a40bbee1f583c6e6f733ff67b95365dc54b create mode 100644 _generated-asciidoc/1cb52ab5e4113c7e1436fd1e015468562aa49e09 create mode 100644 _generated-asciidoc/26c7d9281b80d1df400b5b771a3b325019d66ebb create mode 100644 _generated-asciidoc/2da6de8c32d8fc74bdcbcdb46f16626b97b97bbd create mode 100644 _generated-asciidoc/3b495c14a07e3170f251927361ec3c52bd069268 create mode 100644 _generated-asciidoc/3c4dc2a59bd21d5c2642d8113c432a12172115ec create mode 100644 _generated-asciidoc/457b5fe6e16fc3eee922a75fc3419b435fc2e28d create mode 100644 _generated-asciidoc/4f6ca97fd101cc00d0cf8e832ad7424d347e18e4 create mode 100644 _generated-asciidoc/523fab0b9e17c745fc6a7d2eeb584ae8691be032 create mode 100644 _generated-asciidoc/53edbdb965efac284aee9b27c9bbdaa9b0356ddc create mode 100644 _generated-asciidoc/5aa3dcafa54b9bb25aea53b280d2aeffe7aa5ded create mode 100644 _generated-asciidoc/68d0a0be3508c996fc32e3a92e1bf241c688eb2b create mode 100644 _generated-asciidoc/6e7450305848f1369b0e36255a33cf7539b523e7 create mode 100644 _generated-asciidoc/7fb447badc6727f7bd3e405ee251047fc07207d7 create mode 100644 _generated-asciidoc/8e8d133d1f480af72988bb3a1b6a8e02ae355709 create mode 100644 _generated-asciidoc/981792f10d44743e07e665ce6e0fb9c3676a5d08 create mode 100644 _generated-asciidoc/a28239dd6cd3f362582fda46e2b699bed732903f create mode 100644 _generated-asciidoc/aeba6ba94edd8b5708744d439429f188ca8e8cb3 create mode 100644 _generated-asciidoc/af4af141f9a671c718556b81657bb172189042e2 create mode 100644 _generated-asciidoc/b0b1ecb1a89c7853f159b6de1242f549542d1c41 create mode 100644 _generated-asciidoc/bea776f44dcca72ca6d06fb4c5998f2208f4008c create mode 100644 _generated-asciidoc/cc67902c71c099df9286be8e9a93cdaea135b776 create mode 100644 _generated-asciidoc/efdc929ec7b267315bb2e9ea822726b42c5c7151 create mode 100644 _generated-asciidoc/ff6c81bcd0c72b55a84e0ea3274bf6fd3e16489c diff --git a/_generated-asciidoc/02602a3a586c35b73a1fb4a194b337ea27673f33 b/_generated-asciidoc/02602a3a586c35b73a1fb4a194b337ea27673f33 new file mode 100644 index 0000000000..ee44a16b20 --- /dev/null +++ b/_generated-asciidoc/02602a3a586c35b73a1fb4a194b337ea27673f33 @@ -0,0 +1,1612 @@ +git-config(1) +============= + +名称 +-- +git-config - 获取和设置仓库或全局选项 + + +概述 +-- +[verse] +'git config' [<文件选项>] [--type=<类型>] [--fixed-value] [--show-origin] [--show-scope] [-z|--null] <名称> [<值> [<值模式>]] +'git config' [<文件选项>] [--type=<类型>] --add <名称> <值> +'git config' [<文件选项>] [--type=<类型>] [--fixed-value] --replace-all <名称> <值> [<值模式>] +'git config' [<文件选项>] [--type=<类型>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] --get <名称> [<值模式>] +'git config' [<文件选项>] [--type=<类型>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] --get-all <名称> [<值模式>] +'git config' [<文件选项>] [--type=<类型>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] [--name-only] --get-regexp <名称正则表达式> [<值模式>] +'git config' [<文件选项>] [--type=<类型>] [-z|--null] --get-urlmatch <名称> <地址> +'git config' [<文件选项>] [--fixed-value] --unset <名称> [<值模式>] +'git config' [<文件选项>] [--fixed-value] --unset-all <名称> [<值模式>] +'git config' [<文件选项>] --rename-section <旧名称> <新名称> +'git config' [<文件选项>] --remove-section <名称> +'git config' [<文件选项>] [--show-origin] [--show-scope] [-z|--null] [--name-only] -l | --list +'git config' [<文件选项>] --get-color <名称> [<默认>] +'git config' [<文件选项>] --get-colorbool <名称> [] +'git config' [<文件选项>] -e | --edit + +描述 +-- +你可以用这个命令查询/设置/替换/取消选项。名称(name)实际上是用点隔开的节和键,值(value)会被转义。 + +通过使用 `--add` 选项,可以为一个选项添加多行。 如果你想更新或取消一个可以出现在多行的选项,需要给出一个 `value-pattern` (除非给出 `--fixed-value` 选项,否则这是一个扩展的正则表达式)。 只有符合该模式的现有值被更新或取消设置。 如果你想处理不符合模式的行,只需在前面加上一个感叹号(参见<>),但注意这只在没有使用 `--fixed-value` 选项时有效。 + +`--type=<类型>` 选项指示 'git config' 确保传入和传出的值在给定的 <类型> 下是可以被规范化的。 如果没有给定 `--type=<类型>`,将不执行规范化。调用者可以用 `--no-type` 选项取消现有 `--type` 选项的指定。 + +读取配置时,默认从系统、全局和资源库的本地配置文件中读取数值,选项 `--system`、`--global`、`--local`、`--worktree` 和 `--file<文件名>` 可以用来告诉命令只从选定的位置读取(见<>)。 + +写入时,新值默认写入仓库的本地配置文件,选项 `--system`、`--global`、`--worktree`、`--file <文件名>` 可以用来告诉命令写到那个位置(你可以给出 `--local` 选项,但是默认选项就是本地(local))。 + +该命令出错时将以非零状态失败。 以下是一些退出代码: + +- 该节或键无效(退出代码为1), +- 没有提供节或键(退出值为2), +- 配置文件无效(退出代码为3), +- 配置文件无法写入(退出代码为4), +- 你试图取消一个不存在的选项(退出代码为5), +- 你试图取消/设置一个多行匹配的选项(退出代码为5),或 +- 试图使用一个无效的正则表达式(退出代码为6)。 + +执行成功时,该命令返回退出代码0。 + +所有可用配置变量的列表可以通过 `git help --config` 命令获取。 + +[[OPTIONS]] +选项 +-- + +--replace-all:: + 默认行为是最多替换一行。这将会替换所有与键(以及可选的 `value-pattern` )匹配的行。 + +--add:: + 不改变任何现有的值的情况下,在选项中增加一个新的行。 这与在 `--replace-all` 选项中提供 '^$' 作为 `value-pattern` 是一样的。 + +--get:: + 获取一个给定的键的值(可选择通过与该值相匹配的正则表达式进行过滤)。如果没有找到键值,返回错误代码1;如果找到多个键值,则返回最后一个值。 + +--get-all:: + 和 --get 选项类似,但是该选项会返回一个多值键的所有值。 + +--get-regexp:: + 像 --get-all 选项一样,但是用正则表达式作为名称,并写出键名。 正则表达式匹配目前是区分大小写的,并且是针对一个规范化的键的版本进行的,其中节 (section) 和变量名称是小写的,但子节名称不是小写的。 + +--get-urlmatch <名称> :: + 当给定一个由两部分组成的名称 section.key 时,返回 section..key 的值,其 部分是给定的最相匹配的 URL(如果没有这样的键存在,section.key 的值将作为备用值)。 当只给出 section 的名称时,对 section 中的所有 key 进行处理,并将其列出。 如果没有找到值,返回错误代码 1(section: 节,key:键;在配置文件中是这样的 [section] key=value)。 + +--global:: + 对于写入选项:写入全局的 `~/.gitconfig` 文件而不是仓库的 `.git/config` 文件,如果该文件存在而 `~/.gitconfig` 文件不存在,则写入 `$XDG_CONFIG_HOME/git/config` 文件。 ++ +对于读取选项:只从全局的 `~/.gitconfig` 和 `$XDG_CONFIG_HOME/git/config` 中读取,而不是从所有可用文件中读取。 ++ +另请参见<>。 + +--system:: + 对于写选项:写到系统范围内的 `$(prefix)/etc/gitconfig` 文件中,而不是仓库中的 `.git/config` 文件。 ++ +对于读取选项:只从系统范围内的 `$(prefix)/etc/gitconfig` 读取,而不是从所有可用文件中读取。 ++ +另请参见<>。 + +--local:: + 对于写选项:写到仓库的 `.git/config` 文件中。 这是默认行为。 ++ +对于读取选项:只从仓库 `.git/config` 文件中读取,而不是从所有可用文件中读取。 ++ +另请参见<>。 + +--worktree:: + 与 `--local` 选项类似,只是如果启用了 `extensions.worktreeConfig` ,则从 `$GIT_DIR/config.worktree` 读取或写入。如果没有,则与 `--local` 选项行为相同。注意,对于主工作区, `$GIT_DIR` 等于 `$GIT_COMMON_DIR`,但对于其他工作区,它的形式是 `$GIT_DIR/worktrees//`。了解如何启用 `extensions.worktreeConfig`,参见 linkgit:git-worktree[1] 。 + +-f <配置文件>:: +--file <配置文件>:: + 对于写入选项:写到指定的文件,而不是仓库 `.git/config` 文件。 ++ +对于读取选项:只从指定的文件而不是从所有可用的文件中读取。 ++ +另请参见<>。 + +--blob :: + 类似于 `--file` 选项,但使用指定的二进制对象而不是文件。例如,你可以使用 'master:.gitmodules' 来读取主分支中 '.gitmodules' 文件中的值。参见 linkgit:gitrevisions[7] 中的 “指定的修正” 部分,以获得更完整的二进制对象名称拼写方式。 + +--remove-section:: + 从配置文件中删除了该节。 + +--rename-section:: + 将给定的节重命名为一个新的名称。 + +--unset:: + 从配置文件中删除与该键匹配的行。 + +--unset-all:: + 从配置文件中删除所有匹配该键的行。 + +-l:: +--list:: + 列出配置文件中设置的所有变量,以及它们的值。 + +--fixed-value:: + 当与 `value-pattern` 参数一起使用时,将 `value-pattern` 视为精确的字符串,而不是正则表达式。这将使得被匹配的名称/值对只有那些值与 `value-pattern` 完全相等的名称/值对。 + +--type <类型>:: + 'git config' 将确保任何输入或输出在给定的类型约束下是有效的,并将以 `<类型>` 的规范形式将输出的值规范化。 ++ +有效的 `<类型>` 包括: ++ +- 'bool':将数值规范化为 "true" 或 "false"。 +- 'int':将数值规范化为简单的十进制数字。可选的后缀 'k'、'm' 或 'g'将导致输入的值被乘以 1024、1048576 或 1073741824。 +- 'bool-or-int':如上所述,根据 'bool '或 'int' 进行规范化。 +- 'path':通过在 `$HOME` 和 `~user` 的值中添加前导 `~` 来规范化指定用户的主目录。在设置值时,该说明符没有任何作用(但可以在命令行中使用 `git config section.variable ~/` 让 shell 进行扩展)。 +- 'expiry-date':通过将固定或相对日期字符串转换为时间戳进行规范化。这个指定符在设置值时没有影响。 +- 'color': 当获得一个值时,通过转换为 ANSI 颜色转义序列进行规范化。当设置一个值时,会进行理智检查,以确保给定的值可以被规范化为 ANSI 颜色,但它会按原样写入。 ++ + +--bool:: +--int:: +--bool-or-int:: +--path:: +--expiry-date:: + 选择类型指定器的历史选项。更倾向于选择 `--type`(见上文)。 + +--no-type:: + 取消先前设置的类型指定器(如果先前有的话)。这个选项要求 'git config' 不对检索的变量进行规范化处理。 `--no-type` 在没有 `--type=<类型>` 或 `--<类型>` 选项的情况下没有作用。 + +-z:: +--null:: + 对于所有输出值和/或键的选项,总是用空字符(而不是换行)结束值。使用换行符作为键和值之间的分隔符。这样可以安全地解析输出,而不会被包含换行的值所混淆。 + +--name-only:: + 只输出 `--list` 或 `--get-regexp` 的配置变量的名称。 + +--show-origin:: + 用来源类型(文件、标准输入、blob、命令行)和实际来源(配置文件路径、引用或 blob id(如适用))对所有查询到的配置选项的输出进行扩充。 + +--show-scope:: + 类似于 `--show-origin` 选项,它用该值的范围(工作区、本地、全局、系统、命令)来增加所有查询的配置选项的输出。 + +--get-colorbool <名称> []:: + + 找到 `<名称>` 的颜色设置(例如 `color.diff`),并输出 "true" 或 "false"。 `` 应该是 "true" 或 "false",同样考虑配置为 "auto" 的情况。 如果 `` 缺失,则检查命令本身的标准输出,如果要使用颜色则以状态 0 退出,否则以状态 1 退出。 当 `名称` 的颜色设置未被定义时,该命令使用 `color.ui` 作为回退(stdout 是 "standard output" 的缩写,而 tty 是 "teletypewriter" 的缩写,通常指的是终端或控制台。)。 + +--get-color <名称> [<默认值>]:: + + 找到为 `名称` 配置的颜色(例如:`color.diff.new`),并将其作为 ANSI 颜色转义序列输出到标准输出。 如果没有为 `名称` 配置的颜色,则使用可选的 `默认值` 参数来代替。 ++ +`--type=color [--default=<默认>]` 比 `--get-color` 更受欢迎(但注意 `--get-color` 会省略 `--type=color` 打印的尾部换行)。 + +-e:: +--edit:: + 打开一个编辑器来修改指定的配置文件;可以是 `--system`,`--global`,也可以是仓库(默认)。 + +--[no-]includes:: + 在查找数值时尊重配置文件中的 `include.*` 指令。当给出一个特定的文件时,默认为 `off`(例如,使用 `--file`、`--global` 等),当搜索所有配置文件时,默认为 `on`。 + +--default <值>:: + 当使用 `--get` 时,如果没有找到所要求的变量,那么表现得就像是该变量被赋予了 <值> 这个值。 + +配置 +-- +`pager.config` 只在列出配置时被尊重,即在使用 `--list` 或任何可能返回多个结果的 `--get-*` 时。 默认情况下是使用 pager。 + +[[FILES]] +文件 +-- + +默认情况下,'git config' 会从多个文件中读取配置选项: + +$(prefix)/etc/gitconfig:: + 全系统的配置文件。 + +$XDG_CONFIG_HOME/git/config:: +~/.gitconfig:: + 用户特定的配置文件。当 XDG_CONFIG_HOME 环境变量没有设置或为空时,$HOME/.config/ 被用作 $XDG_CONFIG_HOME。 ++ +这些文件也被称为 “全局” 配置文件。如果这两个文件都存在,就按照上面的顺序读取这两个文件。 + +$GIT_DIR/config:: + 仓库特定的配置文件。 + +$GIT_DIR/config.worktree:: + 这是可选的,只有当 $GIT_DIR/config 中存在 `extensions.worktreeConfig` 时才会被搜索到。 + +你也可以在运行任何 git 命令时通过使用 `-c` 选项提供额外的配置参数。详情见 linkgit:git[1]。 + +选项将从所有这些可用的文件中读取。如果全局或全系统的配置文件丢失或不可读,它们将被忽略。如果版本库的配置文件丢失或不可读,'git config' 将以非零的错误代码退出。如果文件不可读,会产生一个错误信息,但如果文件丢失,则不会产生错误信息。 + +文件是按照上述顺序读取的,最后发现的值优先于之前读取的值。 当有多个值时,将使用所有文件中某个键的所有值。 + +默认情况下,选项只被写入版本库特定的配置文件中。请注意,这也会影响到 `--replace-all` 和 `--unset` 等选项。*'git config' 一次只能改变一个文件*。 + +你可以通过使用 `--file` 选项指定文件路径,或者使用 `--system`、`--global`、`--local` 或 `--worktree` 指定配置范围,来限制从哪些配置源读取或写入。 更多内容请参见上面的 <>。 + +[[SCOPES]] +范围 +-- + +每个配置源都属于一个配置范围。这些范围包括: + +system:: + $(prefix)/etc/gitconfig + +global:: + $XDG_CONFIG_HOME/git/config ++ +~/.gitconfig + +local:: + $GIT_DIR/config + +工作区:: + $GIT_DIR/config.worktree + +命令:: + GIT_CONFIG_{COUNT,KEY,VALUE} 环境变量(见下文 <>) ++ +`-c` 选项 + +除了 'command' 之外,每个范围都对应于一个命令行选项:`--system`、`--global`、`--local`、`--worktree`。 + +当读取选项时,指定一个范围将只从该范围内的文件读取选项。当写选项时,指定一个范围将写到该范围内的文件(而不是仓库的特定配置文件)。参见上面的<>以获得完整的描述。 + +大多数配置选项无论在哪个作用域中定义都会被尊重,但有些选项只在某些作用域中被尊重。完整的细节请参见相应选项的文档。 + +受保护的配置 +~~~~~~ + +受保护的配置指的是 'system'、'global' 和 'command' 范围。 出于安全考虑,某些选项只有在受保护的配置中指定时才会被尊重,否则会被忽略。 + +Git 将这些作用域视为由用户或可信的管理员控制。这是因为控制这些作用域的攻击者可以在不使用 Git 的情况下造成实质性的伤害,所以假定用户的环境会保护这些作用域免受攻击。 + +[[ENVIRONMENT]] +环境变量 +---- + +GIT_CONFIG_GLOBAL:: +GIT_CONFIG_SYSTEM:: + 从给定的文件中获取配置,而不是从全局或系统级配置中获取。详情见 linkgit:git[1]。 + +GIT_CONFIG_NOSYSTEM:: + 是否跳过从全系统 $(prefix)/etc/gitconfig 文件中读取设置。详见 linkgit:git[1]。 + +另请参见<>。 + +GIT_CONFIG_COUNT:: +GIT_CONFIG_KEY_:: +GIT_CONFIG_VALUE_:: + 如果 GIT_CONFIG_COUNT 被设置为一个正数,所有环境对 GIT_CONFIG_KEY_ 和 GIT_CONFIG_VALUE_ 到这个数字都将被添加到进程的运行时配置中。配置对是零索引的。任何缺失的键或值都被视为一个错误。空的 GIT_CONFIG_COUNT 与 GIT_CONFIG_COUNT=0 的处理方式相同,即不处理配置对。这些环境变量将覆盖配置文件中的值,但会被通过 `git -c` 传递的任何明确选项所覆盖。 ++ +这在你想用一个共同的配置催生多个 git 命令,但又不能依赖一个配置文件的情况下很有用,例如在编写脚本时。 + +GIT_CONFIG:: + 如果 `git config` 没有提供 `--file` 选项,则命令会使用 `GIT_CONFIG` 提供的文件,就像通过 `--file` 选项提供的一样。这个变量对其他 Git 命令没有影响,主要是为了兼容历史版本;通常不会用它来代替 `--file` 选项。 + +[[EXAMPLES]] +实例 +-- + +给出一个这样的 .git/config: + +------------ +# +# 这就是配置文件,并且 +# 一个'#' 或 ';' 字符表示 +# 一个注释 +# + +; 核心变量 +[core] + ; 不信任文件模式 + filemode = false + +; 我们的差异算法 +[diff] + external = /usr/local/bin/diff-wrapper + rename = true + +; 代理设置 +[core] + gitproxy=proxy-command for kernel.org + gitproxy=default-proxy ; 适用于其他所有网站 + +; HTTP +[http] + sslVerify +[http "https://weak.example.com"] + sslVerify = false + cookiFile= /tmp/cookie.txt +------------ + +你可以用以下方法将文件模式设置为真 + +------------ +% git config core.filemode true +------------ + +假设的代理命令条目实际上有一个后缀来辨别它们适用于什么URL。下面是如何将 kernel.org 的条目改为 "ssh"。 + +------------ +% git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$' +------------ + +这确保了只有 kernel.org 的键/值对被替换。 + +要删除重名的条目,请执行 + +------------ +% git config --unset diff.renames +------------ + +如果你想删除一个多变量的条目(如上面的 core.gitproxy),你必须提供一个与恰好一行的值相匹配的正则表达式。 + +要查询一个给定键的值,可以这样做 + +------------ +% git config --get core.filemode +------------ + +或 + +------------ +% git config core.filemode +------------ + +或者,要查询一个多变量: + +------------ +% git config --get core.gitproxy "for kernel.org$" +------------ + +如果你想知道一个多变量的所有值,可以这么做: + +------------ +% git config --get-all core.gitproxy +------------ + +如果你喜欢危险操作,你可以用一个新的 core.gitproxy 来取代 *所有* core.gitproxy + +------------ +% git config --replace-all core.gitproxy ssh +------------ + +然而,如果你真的只想替换默认代理,即没有 "for ..." 后缀的那一行,可以这样做: + +------------ +% git config core.gitproxy ssh '! for ' +------------ + +为了真正地只匹配带有感叹号的值,你必须 + +------------ +% git config section.key value '[!]' +------------ + +要添加一个新的代理,而不改变任何现有的代理,使用 + +------------ +% 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` 中的 URL,`http.sslVerify` 被设置为 false,而对于所有其他的 URL,它被设置为 `true`: + +------------ +% git config --type=bool --get-urlmatch http.sslverify https://good.example.com +true +% git config --type=bool --get-urlmatch http.sslverify https://weak.example.com +false +% git config --get-urlmatch http https://weak.example.com +http.cookieFile /tmp/cookie.txt +http.sslverify false +------------ + +配置文件 +---- + +Git 配置文件包含了一些影响 Git 命令行为的变量。每个仓库中的文件 `.git/config` 和可选的 `config.worktree`(见linkgit:git-worktree[1]的 “配置文件” 部分)用于存储该仓库的配置,`$HOME/.gitconfig` 用于存储每个用户的配置,作为 `.git/config` 文件的后退值。文件 `/etc/gitconfig` 可以用来存储全系统的默认配置。 + +配置变量同时被 Git 底层和上层命令使用。变量被分为几个部分,其中变量本身的完全合格的变量名是最后一个点分隔的部分,而部分名称是最后一个点之前的所有内容。变量名称不区分大小写,只允许使用字母数字字符和 `-`,并且必须以字母字符开头。 有些变量可能会出现多次;那么我们就说这个变量是多值的。 + +语法 +~~ + +语法是相当灵活和宽松的;空白处大多被忽略。 '#' 和 ';' 字符开始注释到行末,空行被忽略。 + +该文件由章节和变量组成。 一个章节以方括号中的章节名称开始,一直到下一个章节开始。 节的名称是不区分大小写的。 在章节名称中只允许使用字母数字字符、`-` 和 `.`。 每个变量都必须属于某个部分,这意味着在第一次设置变量之前必须有一个部分标题。 + +节可以进一步划分为子节。 要开始一个分节,请将其名称放在双引号中,与节的名称用空格隔开,放在节的标题中,如下面的例子: + +-------- + [section "小节"] + +-------- + +分节名称是区分大小写的,可以包含任何字符,除了换行和空字节。双引号 `"` 和反斜杠可以分别通过转义为 `\"` 和 `\\` 来包含。读取时,其他字符前面的反斜杠将被删除;例如,`\t` 被读作 `t`,`\0` 被读作 `0`。章节标题不能跨越多行。 变量可以直接属于某一节或某一小节。如果你有 `[section "小节"]`,你可以有 `[section]`,但不需要这样。 + +还有一种废弃的 `[section.subsection]` 语法。在这种语法中,分节名称被转换为小写字母,并且也会敏感地比较大小写。这些分节名称遵循与章节名称相同的限制。 + +所有其他行(以及部分标题之后的剩余行)都被认为是设置变量,形式为 'name = value'(或者只是 'name',这是一个简写,表示变量是布尔值 "true")。 变量名称不区分大小写,只允许使用字母数字字符和 `-`,并且必须以字母字符开头。 + +定义一个值的行可以通过以 `\` 结束来延续到下一行;反斜杠和行尾被剥离。 在 'name =' 之后的前导空白,在第一个注释字符 '#' 或 ';' 之后的剩余行,以及该行的尾部空白都会被丢弃,除非它们被包含在双引号中。 值中的内部空白将被逐字保留。 + +在双引号内,双引号 `"` 和反斜杠 `\` 字符必须被转义:用 `\"` 表示 `"`,用 `\\` 表示 `\`。 + +以下转义序列(除了 `\"` 和 `\\`)可以被识别:`\n` 表示换行符(NL),`\t` 表示水平制表(HT,TAB),`\b` 表示退格(BS)。 其他字符转义序列(包括八进制转义序列)是无效的。 + + +包括 +~~ + +`include` 和 `includeIf` 部分允许你从另一个来源包含配置指令。这些部分的行为与其他部分相同,但如果 `includeIf` 部分的条件没有评估为真,则可以忽略;见下面的 “有条件的包含”。 + +你可以通过设置特殊的 `include.path`(或 `includeIf.*.path` )变量来包含另一个配置文件,即要包含的文件名。该变量将路径名作为其值,并接受 tilde 扩展。这些变量可以被多次赋予。 + +被包含的文件的内容会被立即插入,就像它们是在 include 指令的位置被发现的一样。如果该变量的值是一个相对路径,则该路径被认为是相对于发现 include 指令的配置文件。 请看下面的例子。 + +有条件的包括 +~~~~~~ + +你可以通过设置 `includeIf.<条件>.path` 变量来有条件地包含另一个配置文件,即要包含的文件名称。 + +条件以一个关键词开始,后面是冒号和一些数据,其格式和含义取决于关键词。支持的关键词有: + +`gitdir`:: + + 关键字 `gitdir:` 后面的数据被用作匹配模式。如果. git 目录的位置与该模式相匹配,则满足包含条件。 ++ +.git 位置可以是自动发现的,也可以来自 `$GIT_DIR` 环境变量。如果仓库是通过 .git 文件自动发现的(例如从子模块或链接的工作目录树),.git 位置将是 .git 目录的最终位置,而不是 .git 文件的位置。 ++ +该模式可以包含标准的通配符和两个额外的通配符,`**/` 和 `/**`,可以匹配多个路径组件。详情请参考 linkgit:gitignore[5]。为了方便起见: + + * 如果该模式以 `~/` 开头,`~` 将被替换为环境变量 `HOME` 的内容。 + + * 如果模式以 `./` 开头,它将被替换为包含当前配置文件的目录。 + + * 如果模式不以 `~/` 、`./` 或 `/` 开头,`**/` 将被自动添加。例如,模式 `foo/bar` 变成 `**/foo/bar`,将匹配 `/any/path/to/foo/bar`。 + + * 如果模式以 `/` 结尾,`**` 将被自动添加。例如,模式 `foo/` 变成 `foo/**`。换句话说,它匹配 "foo" 和里面的所有内容,是递归的。 + +`gitdir/i`:: + 这与 `gitdir` 相同,只是匹配时不区分大小写(例如,在不区分大小写的文件系统上) + +`onbranch`:: + 关键词 `onbranch: ` 后面的数据被认为是一个带有标准通配符和两个额外的通配符的模式,`**/` 和 `/**`,可以匹配多个路径组件。 如果我们在一个工作树中,当前签出的分支的名称与该模式相匹配,则满足包含条件。 ++ +如果模式以 `/` 结尾,`**` 将被自动添加。例如,模式 `foo/` 变成 `foo/**`。换句话说,它匹配所有以 "foo/" 开头的分支。如果你的分支是分层组织的,而你想将一个配置应用于该层级中的所有分支,这就很有用了。 + +`hasconfig:remote.*.url:`:: + 这个关键词后面的数据被认为是一个带有标准的通配符和两个额外的通配符的模式,`**/` 和 `/**`,可以匹配多个组件。第一次看到这个关键词时,其余的配置文件将被扫描以寻找远程 URL(不应用任何值)。如果存在至少一个匹配该模式的远程 URL,则满足包含条件。 ++ +由该选项包含的文件(直接或间接)不允许包含远程 URLs。 ++ +请注意,与其他 includeIf 条件不同,解决这个条件依赖于读取条件时还不知道的信息。一个典型的用例是这个选项作为系统级或全局级的配置出现,而远程 URL 在本地级配置中;因此在解决这个条件时需要提前扫描。为了避免鸡生蛋蛋生鸡的问题,即潜在包含的文件会影响这些文件是否被潜在包含,Git 通过禁止这些文件影响这些条件的解决来打破这个循环(因此,禁止它们声明远程 URLs)。 ++ +至于这个关键字的命名,是为了与支持更多基于变量的包含条件的命名方案相兼容,但目前 Git 只支持上述的确切关键字。 + +关于通过 `gitdir` 和 `gitdir/i` 进行匹配的一些补充说明: + + * `$GIT_DIR` 中的符号链接在匹配前没有被解决。 + + * 在 `$GIT_DIR` 之外,符号链接和实际路径版本的路径都将被匹配。例如,如果 ~/git 是 /mnt/storage/git 的符号链接,`gitdir:~/git` 和 `gitdir:/mnt/storage/git` 都会匹配。 ++ +在 v2.13.0 版本中,这个功能的初始版本不是这样的,它只匹配 realpath 版本。想要与这个功能的初始版本兼容的配置,要么只指定 realpath 版本,要么就指定两个版本。 + + * 请注意,"../" 不是特殊的,将按字面意思匹配,这不太可能是你想要的。 + +示例 +~~ + +---- +# 核心变量 +[core] + ; 不信任文件模式 + filemode = false + +# 我们的差异算法 +[diff] + external = /usr/local/bin/diff-wrapper + renames = true + +[branch "devel"] + remote = origin + merge = refs/heads/devel + +# 代理设置 +[core] + gitProxy="ssh" for "kernel.org" + gitProxy=default-proxy ; 其余为 + +[include] + path = /path/to/foo.inc ; 按绝对路径包含 + path = foo.inc ; find "foo.inc" 相对于当前文件 + path = ~/foo.inc ; 在您的 `$HOME` 目录中找到 "foo.inc" + +;如果 $GIT_DIR 是 /path/to/foo/.git 就包含 +[includeIf "gitdir:/path/to/foo/.git"] + path = /path/to/foo.inc + +;包括 /path/to/group 内的所有仓库 +[includeIf "gitdir:/path/to/group/"] + path = /path/to/foo.inc + +; 包括 $HOME/to/group 内的所有仓库 +[includeIf "gitdir:~/to/group/"] + path = /path/to/foo.inc + +; 相对路径总是相对于包括 +; 文件(如果条件为真);其位置不受 +; 的位置不受条件的影响。 +[includeIf "gitdir:/path/to/group/"] + path = foo.inc + +; 只有工作区当前检出了 foo-branch +; 才包括 +[includeIf "onbranch:foo-branch"] 。 + 路径 = foo.inc + +; 只有在给定 URL 的远程仓库存在的情况下才包括(注意 +; 这样的URL可能在以后的文件中提供,或者在这个文件被读取后的一个 +; 文件中提供,正如在这个例子中看到的那样) +[includeIf "hasconfig:remote.*.url:https://example.com/*" ] + 路径 = foo.inc +[remote "origin"] + url = https://example.com/git +---- + +值 +~ + +许多变量的值都被当作一个简单的字符串,但有些变量取的是特定类型的值,对于如何拼写它们有一些规则。 + +布尔:: + + 当一个变量被称为采取布尔值时,许多同义词被接受为 'true' 和 'false' ;这些都是不分大小写的。 + + 真;; 布尔真值是 `yes`、`on`、`true`和 `1`。 此外,一个没有 `= <值>` 的变量被认为是真。 + + 假;; 布尔假值是 `no`、`off`、`false`、`0` 和空字符串。 ++ +当使用 `--type=bool` 类型指定符将一个值转换为其规范形式时,'git config' 将确保输出为 "true" 或 "false"(用小写字母拼写)。 + +整数:: + 许多指定各种尺寸的变量的值可以以 `k`、`M`...为后缀,表示 “以1024为比例的数字”、“以1024x1024为比例”,等等。 + +color:: + 接受颜色的变量的值是一个颜色(最多两个,一个用于前景,一个用于背景)和属性(你想要多少就有多少)的列表,用空格分隔。 ++ +接受的基本颜色是 `normal`、`black`、`red`、`green`、`yellow`、`blue`、`magenta`、`cyan`、`white` 和 `default`。 给出的第一种颜色是前景;第二种是背景。 除了`normal'和`default'之外,所有的基本颜色都有一个明亮的变体,可以通过在颜色前面加上`bright'来指定,比如`brightred'。 ++ +颜色`normal`不会使颜色发生变化。它与空字符串相同,但在单独指定背景颜色时可以作为前景颜色(例如,"normal red")。 ++ +颜色`default` 明确地将颜色重置为终端的默认值,例如,指定一个清除的背景。虽然不同的终端有差异,但这通常与设置为 "white black" 不一样。 ++ +颜色也可以用 0 到 255 之间的数字来表示;这些颜色使用 ANSI 256 色模式(但注意不是所有的终端都支持这个)。 如果你的终端支持,你也可以指定 24 位 RGB 值为十六进制,如 `#ff0ab3`。 ++ +可接受的属性是 `bold`、`dim`、`ul`、`blink`、`reverse`、`italic` 和 `strike`(用于划掉的字母或 “删除线”)。 任何属性相对于颜色的位置(在前,在后,或在中间)并不重要。特定的属性可以通过在它们前面加上 `no` 或 `no-` 来关闭(例如,`noreverse`,`no-ul`,等等)。 ++ +伪属性 `reset` 在应用指定的着色之前重置所有颜色和属性。例如,`reset green` 将导致一个绿色的前景和默认的背景,没有任何激活的属性。 ++ +一个空的颜色字符串根本不会产生任何颜色效果。这可以用来避免给特定的元素上色而不完全禁用颜色。 ++ +对于 git 的预定义颜色槽,属性是为了在彩色输出的每一项开始时被重置。所以将 `color.decorate.branch` 设置为 `black` 会将该分支名称涂成普通的 `black`,即使同一输出行中的前一个东西(例如`log --decorate`输出中的分支名称列表前的括号)被设置为 `bold` 或其他属性。 然而,自定义的日志格式可能会做更复杂和分层的着色,而否定的形式在那里可能很有用。 + +路径名:: + 一个获取路径名值的变量可以被赋予一个以 "`~/`" 或 "`~user/`" 开头的字符串,通常的 tilde 扩展会发生在这样一个字符串上: `~/` 被扩展为 `$HOME` 的值,而 `~user/` 被扩展为指定用户的主目录。 ++ +如果一个路径以 `%(prefix)/` 开头,其余部分将被解释为相对于 Gi t的 "运行时前缀" 的路径,即相对于 Git 本身安装的位置。例如,`%(prefix)/bin/` 指的是 Git 可执行文件本身所在的目录。如果 Git 在编译时不支持运行时前缀,那么编译时的前缀将被替代。在不太可能的情况下,如果需要指定一个不应该被扩展的字面路径,需要以 `./` 为前缀,就像这样: `./%(前缀)/bin`。 + + +变量 +~~ + +请注意,这个列表并不全面,也不一定完整。 对于特定命令的变量,你会在相应的手册页中找到更详细的描述。 + +其他与 git 相关的工具可能也确实使用了他们自己的变量。 当发明新的变量用于自己的工具时,要确保它们的名字不与 Git 本身和其他流行的工具所使用的名字冲突,并在你的文档中描述它们。 + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/advice.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/attr.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/core.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/add.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/alias.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/am.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/apply.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/blame.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/branch.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/browser.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/bundle.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/checkout.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/clean.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/clone.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/color.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/column.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/commit.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/commitgraph.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/credential.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/completion.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/diff.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/difftool.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/extensions.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/fastimport.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/feature.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/fetch.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/format.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/filter.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/fsck.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/fsmonitor--daemon.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/gc.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/gitcvs.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/gitweb.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/grep.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/gpg.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/gui.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/guitool.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/help.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/http.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/i18n.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/imap.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/includeif.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/index.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/init.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/instaweb.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/interactive.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/log.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/lsrefs.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/mailinfo.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/mailmap.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/maintenance.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/man.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/merge.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/mergetool.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/notes.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/pack.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/pager.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/pretty.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/protocol.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/pull.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/push.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/rebase.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/receive.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/remote.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/remotes.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/repack.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/rerere.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/revert.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/safe.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/sendemail.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/sequencer.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/showbranch.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/sparse.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/splitindex.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/ssh.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/status.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/stash.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/submodule.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/tag.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/tar.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/trace2.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/transfer.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/uploadarchive.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/uploadpack.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/url.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/user.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/versionsort.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/web.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/worktree.txt` + +See original version for this content. +==== + +[] +[] + +漏洞 +-- +当使用废弃的 `[section.subsection]` 语法时,如果 subsection 至少有一个大写字母,改变一个值将导致添加一个多行键而不是改变。例如,有以下配置 + +-------- + [section.subsection] + key = value1 +-------- + +并运行 `git config section.Subsection.key value2` 将导致如下的结果 + +-------- + [section.subsection] + key = value1 + key = value2 +-------- + + +GIT +--- +属于 linkgit:git[1] 文档 diff --git a/_generated-asciidoc/02d8e736c2194fbcb51434bcfa1d04bbd1582e04 b/_generated-asciidoc/02d8e736c2194fbcb51434bcfa1d04bbd1582e04 new file mode 100644 index 0000000000..e30f7c7906 --- /dev/null +++ b/_generated-asciidoc/02d8e736c2194fbcb51434bcfa1d04bbd1582e04 @@ -0,0 +1,1160 @@ +git(1) +====== + +NOMBRE +------ +git - el estúpido rastreador de contenido + + +SINOPSIS +-------- +[verse] +'git' [-v | --version] [-h | --help] [-C ] [-c =] + [--exec-path[=]] [--html-path] [--man-path] [--info-path] + [-p|--paginate|-P|--no-pager] [--no-replace-objects] [--bare] + [--git-dir=] [--work-tree=] [--namespace=] + [--config-env==] [] + +DESCRIPCIÓN +----------- +Git es un sistema de control de revisiones distribuido, rápido y escalable con un conjunto de comandos inusualmente rico que permite tanto operaciones de alto nivel como acceso completo a componentes internos. + +Ver linkgit:gittutorial[7] para comenzar, luego ver linkgit:giteveryday[7] para un útil conjunto de comandos mínimo. El link:/docs/user-manual/es[Manual de Usuario de Git] tiene una introducción mas a fondo. + +Después que domines los conceptos básicos, puedes regresar a ésta página para aprender qué comandos ofrece Git. Puedes aprender mas sobre comandos Git individuales con el comando "git help comando". La página del manual linkgit:gitcli[7] te da una vistazo de la sintáxis de comandos en la línea de comandos. + +Una copia formateada e hipervinculada de la mas reciente documentación de Git puede verse en https://git.github.io/htmldocs/git.html o https://git-scm.com/docs. + + +OPCIONES +-------- +-v:: +--version:: + Imprime la versión de la suite Git de la cual proviene el programa 'git'. ++ +Esta opción es internamente convertida a `git version ...` y acepta las mismas opciones que el comando linkgit:git-version[1]. Si también se da `--help` toma precedencia sobre `--version`. + +-h:: +--help:: + Imprime la sinopsis y una lista de los comandos más usados comúnmente. Si se da la opción `--all` o `-a` entonces todos los comandos disponibles se imprimen. Si un comando Git es nombrado, esta opción traerá la página del manual para ese comando. ++ +Hay otras opciones disponibles para controlar cómo se muestra la página del manual. Ver linkgit:git-help[1] para mayor información, porque `git --help ...` es convertido internamente en `git help ...`. + +-C :: + Corre como si git hubiera iniciado en `` en lugar del directorio de trabajo actual. Cuando se dan múltiples opciones `-C`, cada `-C ` no-absoluta subsecuente se interpreta como relativa al `-C ` precedente. Si `` esta presente pero vacía, ej. `-C ""`, entonces el directorio de trabajo actual queda sin modificaciones. ++ +Esta opción afecta opciones que esperan una ruta (como `--git-dir` y `--work-tree`), en donde sus interpretaciones de los nombres de ruta se harían relativos al directorio de trabajo a causa de la opción `-C`. Por ejemplo, las invocaciones siguientes son equivalentes: + + git --git-dir=a.git --work-tree=b -C c status + git --git-dir=c/a.git --work-tree=c/b status + +-c =:: + Pasa un parámetro de configuración al comando. El valor dado sobreescribirá valores de ficheros de configuración. El se espera en el mismo formato como se lista por 'git config' (subclaves separadas por puntos). ++ +Nota que es permitido omitir el `=` en `git -c foo.bar ...` y se asignará a `foo.bar` el valor booleano true (así como `[foo]bar` lo haría en un fichero de configuración). Incluir el igual pero con un valor vacío (como `git -c foo.bar= ...`) asigna a `foo.bar` la cadena vacía que `git config --type=bool` convertirá a `false`. + +--config-env==:: + Como `-c =`, da a la variable de configuración '' un valor, donde es el nombre de una variable de ambiente de la cual se obtiene el valor. Al contrario que `-c` no hay un atajo para asignar directamente el valor a una cadena vacía, en cambio, a la variable de ambiente misma se le debe asignar la cadena vacía. Es un error si la `` no existe en el ambiente. `` no puede contener un signo de igual para evitar ambigüedad con `` que contenga. ++ +Esto es útil en casos donde quieres pasar a git opciones de configuración transitorias, pero se hacen tan en el sistema oprativo donde otros procesos pueden ser capaces de leer tu línea de comandos (ej. `/proc/self/cmdline`), pero no tu ambiente (ej. `/proc/self/environ`). Ese es el comportamiento predeterminado en Linux, pero pudiera no serlo en tu sistema. ++ +Nota que esto puede agregar seguridad para variables como `http.extraHeader` donde la información sensible es parte del valor, pero no ej. `url..insteadOf` donde la información sensible puede ser parte de la clave. + +--exec-path[=]:: + Ruta a dondequiera que estén instalados tus programas del núcleo de Git. Esto también puede ser controlado asignando la variable de ambiente GIT_EXEC_PATH. Si no se proporciona ruta 'git' imprimirá la configuración actual y saldrá. + +--html-path:: + Imprime la ruta, sin la última diagonal, donde esta instalada la documentación HTML de Git y sale. + +--man-path:: + Imprime la ruta del manual (ver `man(1)`) para las páginas del manual de esta versión de Git y sale. + +--info-path:: + Imprime la ruta donde están instalados los ficheros de información documentando esta versión de Git y sale. + +-p:: +--paginate:: + Entuba toda la salida hacia 'less' (o si esta configurado, $PAGER) si la salida estándar es una terminal. Esto sobreescribe las opciones de configuración `pager.` (ver la sección "Mecanismo de Configuración" mas abajo). + +-P:: +--no-pager:: + No entuba la salida de Git hacia el paginador. + +--git-dir=:: + Asigna la ruta al repositorio (directorio ".git"). Esto también puede ser controlado configurando la variable de ambiente `GIT_DIR`. Puede ser una ruta absoluta o relativa al directorio de trabajo actual. ++ +Especificando la ubicación del directorio ".git" usando esta opción (o la variable de ambiente `GIT_DIR`) apaga el descubrimiento de repositorio que intenta encontrar un directorio con subdirectorio ".git" (que es como se descubren el repositorio y el nivel mas alto del árbol de trabajo), y le dice a Git que estás en el nivel mas alto del árbol de trabajo. Si no estas en el directorio de nivel mas alto del árbol de trabajo, deberías decirle a Git dónde esta el nivel más alto del árbol de trabajo con la opción `--work-tree=` (o la variable de ambiente `GIT_WORK_TREE`) ++ +Si sólo quieres correr git como si fuera arrancado en `` entonces usa `git -C `. + +--work-tree=:: + Asigna la ruta al árbol de trabajo. Puede ser una ruta absoluta o relativa al directorio de trabajo actual. Esto puede se controlado asignando la variable de ambiente GIT_WORK_TREE y la variable de configuración core.worktree (ver core.worktree en linkgit:git-config[1] para una discusión mas detallada). + +--namespace=:: + Asigna el espacio de nombres de Git. Ver linkgit:gitnamespaces[7] para mas detalles. Equivalente a asignar la variable de ambiente `GIT_NAMESPACE`. + +--bare:: + Trata el repositorio como un repositorio básico. Si la variable de ambiente GIT_DIR no esta asignada, se asigna al directorio de trabajo actual. + +--no-replace-objects:: + No usa remplazamiento de referencias para remplazar objetos Git. Ver linkgit:git-replace[1] para mas información. + +--literal-pathspecs:: + Trata las especificaciones de ruta literalmente (ej. sin interpretar glob, sin especificaciones de ruta mágicas). Es equivalente a asignar la variable de ambiente `GIT_LITERAL_PATHSPECS` con `1`. + +--glob-pathspecs:: + Agrega magia "glob" a todas las especificaciones de ruta. Es equivalente a asignar `1` a la variable de ambiente `GIT_GLOB_PATHSPECS`. Se puede deshabilitar interpretación de glob en especificaciones de ruta individuales usando la especificación de ruta mágica ":(literal)" + +--noglob-pathspecs:: + Agrega magia "literal" a todas las especificaciones de ruta. Es equivalente a asignar `1` a la variable de ambiente `GIT_NOGLOB_PATHSPECS`. Se puede habilitar interpretación de glob en especificaciones de ruta individuales usando la especificación de ruta mágica ":(glob)" + +--icase-pathspecs:: + Agrega magia "icase" a todas las especificaciones de ruta. Es equivalente a asignar `1` a la variable de ambiente `GIT_ICASE_PATHSPECS`. + +--no-optional-locks:: + No realiza operaciones opcionales que requieran bloqueos. Es equivalente a asignar `0` a `GIT_OPTIONAL_LOCKS`. + +--list-cmds=[,...]:: + Lista comandos por grupo. Es una opción interna/experimental y puede cambiar o ser removida en el futuro. Los grupos soportados son: builtins, parseopt (comandos interconstruidos que usan opciones de parseo), main (todos los comandos en el directorio libexec), others (todos los otros comandos en `$PATH` que tienen el prefijo git-), list- (ver categorías en command-list.txt), nohelpers (excluye comandos auxiliares), alias y config (obtiene la lista de comandos de la variable de configuración completion.commands) + +--attr-source=<árbol-ismo>:: + Lee atributos git de <árbol-ismo> en lugar del árbol de trabajo. Ver linkgit:gitattributes[5]. Equivale a asignar la variable de ambiente `GIT_ATTR_SOURCE`. + +COMANDOS GIT +------------ + +Dividimos Git en comandos de alto nivel ("porcelana") y comandos de bajo nivel ("plomería"). + +Comandos de alto nivel (porcelana) +---------------------------------- + +Separamos los comandos porcelana en comandos principales y algunas utilidades de usuario auxiliares. + +Comandos porcelana principales +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +linkgit:git-add[1]:: + Agrega el contenido de ficheros al índice. + +linkgit:git-am[1]:: + Aplicar una serie de parches desde una carpeta de correo electrónico. + +linkgit:git-archive[1]:: + Crear un archivo de ficheros desde un árbol con nombre. + +linkgit:git-bisect[1]:: + Usar la búsqueda binaria para encontrar la confirmación que introdujo el bug. + +linkgit:git-branch[1]:: + Listar, crear, o borrar ramas. + +linkgit:git-bundle[1]:: + Mover objetos y referencias por archivo. + +linkgit:git-checkout[1]:: + Cambia de ramas o restaura los ficheros del árbol de trabajo. + +linkgit:git-cherry-pick[1]:: + Aplica los cambios introducidos por algunas confirmaciones existentes. + +linkgit:git-citool[1]:: + Alternativa gráfica a git-commit. + +linkgit:git-clean[1]:: + Elimina ficheros sin seguimiento del árbol de trabajo. + +linkgit:git-clone[1]:: + Clona un repositorio en un directorio nuevo. + +linkgit:git-commit[1]:: + Graba los cambios en el repositorio. + +linkgit:git-describe[1]:: + Dar a un objeto un nombre legible por personas basado en una referencia disponible. + +linkgit:git-diff[1]:: + Muestra cambios entre confirmaciones, confirmación y árbol de trabajo, etc. + +linkgit:git-fetch[1]:: + Descarga objetos y referencias desde otro repositorio. + +linkgit:git-format-patch[1]:: + Prepara parches para ser enviados por correo electrónico. + +linkgit:git-gc[1]:: + Limpia ficheros innecesarios y optimiza el repositorio local. + +linkgit:git-grep[1]:: + Imprime las líneas que concuerdan con un patrón. + +linkgit:git-gui[1]:: + Una interfaz gráfica portable para Git. + +linkgit:git-init[1]:: + Crea un repositorio de Git vacío o reinicializa uno ya existente. + +linkgit:git-log[1]:: + Muestra los registros de las confirmaciones. + +linkgit:git-maintenance[1]:: + Ejecuta tareas para optimizar los datos de un repositorio Git. + +linkgit:git-merge[1]:: + Une dos o más historiales de desarrollo juntos. + +linkgit:git-mv[1]:: + Mueve o cambia el nombre a un fichero, un directorio o un enlace simbólico. + +linkgit:git-notes[1]:: + Agrega o inspecciona notas de objetos. + +linkgit:git-pull[1]:: + Obtiene desde e integra con otro repositorio o una rama local. + +linkgit:git-push[1]:: + Actualiza referencias remotas junto con sus objetos asociados. + +linkgit:git-range-diff[1]:: + Compara dos rangos de confirmaciones (por ejemplo: dos versions de una rama). + +linkgit:git-rebase[1]:: + Vuelve a aplicar confirmaciones en la punta de otra rama. + +linkgit:git-reset[1]:: + Restablece el HEAD actual al estado especificado. + +linkgit:git-restore[1]:: + Restaura ficheros del árbol de trabajo. + +linkgit:git-revert[1]:: + Revierte algunas confirmaciones existentes. + +linkgit:git-rm[1]:: + Elimina ficheros del árbol de trabajo y del índice. + +linkgit:git-shortlog[1]:: + Resumir el resultado de 'git log'. + +linkgit:git-show[1]:: + Muestra varios tipos de objetos. + +linkgit:git-sparse-checkout[1]:: + Reducir el árbol de trabajo a un subconjunto de ficheros rastreados. + +linkgit:git-stash[1]:: + Poner en una reserva los cambios de un directorio de trabajo con cambios. + +linkgit:git-status[1]:: + Muestra el estado del árbol de trabajo. + +linkgit:git-submodule[1]:: + Inicializa, actualiza o inspecciona submódulos. + +linkgit:git-switch[1]:: + Cambiar de rama. + +linkgit:git-tag[1]:: + Crea, lista, elimina o verifica un objeto de etiqueta firmado con GPG. + +linkgit:git-worktree[1]:: + Gestiona múltiples árboles de trabajo. + +linkgit:gitk[1]:: + El navegador de repositorio Git. + +linkgit:scalar[1]:: + Una herramienta para administrar repositorios Git grandes. + +[] + +Comandos Auxiliares +~~~~~~~~~~~~~~~~~~~ +Manipuladores: + +linkgit:git-config[1]:: + Obtener o establecer opciones de repositorio o globales. + +linkgit:git-fast-export[1]:: + Exportador de datos de Git. + +linkgit:git-fast-import[1]:: + Soporte para importadores rápidos de datos de Git. + +linkgit:git-filter-branch[1]:: + Reescribir ramas. + +linkgit:git-mergetool[1]:: + Ejecuta las herramientas de resolución de conflictos de fusión para resolver conflictos de fusión. + +linkgit:git-pack-refs[1]:: + Empaqueta heads y etiquetas para un acceso eficiente al repositorio. + +linkgit:git-prune[1]:: + Limpia todos los objetos no alcanzables de la base de datos de objetos. + +linkgit:git-reflog[1]:: + Gestionar información de reflog. + +linkgit:git-remote[1]:: + Gestiona un conjunto de repositorios con seguimiento. + +linkgit:git-repack[1]:: + Empaquetar objetos no empaquetados en un repositorio. + +linkgit:git-replace[1]:: + Crear, listar, eliminar referencias para reemplazar objetos. + +[] + +Interrogadores: + +linkgit:git-annotate[1]:: + Anotar líneas de fichero con información de confirmación. + +linkgit:git-blame[1]:: + Muestra qué revisión y autor modificaron por última vez cada línea de un fichero. + +linkgit:git-bugreport[1]:: + Recolectar información para el usuario para generar un reporte de bug. + +linkgit:git-count-objects[1]:: + Contar el número de objetos no empaquetados y su consumo de espacio en disco. + +linkgit:git-diagnose[1]:: + Genera un archivo zip de información de diagnóstico. + +linkgit:git-difftool[1]:: + Mostrar cambios usando herramientas de diferencias habituales. + +linkgit:git-fsck[1]:: + Verifica la conectividad y validez de los objetos en la base de datos. + +linkgit:git-help[1]:: + Mostrar información de ayuda sobre Git. + +linkgit:git-instaweb[1]:: + Navegar instantáneamente a tu repositorio de trabajo en gitweb. + +linkgit:git-merge-tree[1]:: + Realiza fusión sin tocar el índice o el árbol de trabajo. + +linkgit:git-rerere[1]:: + Reutilizar la resolución guardada de fusiones con conflictos. + +linkgit:git-show-branch[1]:: + Mostrar ramas y sus confirmaciones. + +linkgit:git-verify-commit[1]:: + Verificar firma GPG de confirmaciones. + +linkgit:git-verify-tag[1]:: + Verificar la firma GPG de etiquetas. + +linkgit:git-version[1]:: + Mostrar información de la versión de Git. + +linkgit:git-whatchanged[1]:: + Mostrar logs con las diferencias que cada confirmación introduce. + +linkgit:gitweb[1]:: + Interfaz web de Git (interfaz web para repositorios Git). + +[] + + +Interactuando con Otros +~~~~~~~~~~~~~~~~~~~~~~~ + +Estos comandos son para interactuar con otros SCM y con otra gente vía parche sobre correo electrónico. + +linkgit:git-archimport[1]:: + Importar un repositorio GNU Arch en Git. + +linkgit:git-cvsexportcommit[1]:: + Exporta una confirmación única a un CVS checkout. + +linkgit:git-cvsimport[1]:: + Salvaguarda tus datos de otro SCM que la gente adora odiar. + +linkgit:git-cvsserver[1]:: + Un emulador de servidor CVS para Git. + +linkgit:git-imap-send[1]:: + Enviar una colección de parches desde stdin a una carpeta IMAP. + +linkgit:git-p4[1]:: + Importar desde y enviar a repositorios Perforce. + +linkgit:git-quiltimport[1]:: + Aplica un conjunto de parches de quilt en la rama actual. + +linkgit:git-request-pull[1]:: + Genera un resumen de los cambios pendientes. + +linkgit:git-send-email[1]:: + Envía una colección de parches como correos electrónicos. + +linkgit:git-svn[1]:: + Interacción bidireccional entre un repositorio Subversion y otro Git. + +[] + +Resetear, restaurar y revertir +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Hay tres comandos con nombres similares: `git reset`, `git restore` y `git revert`. + +* linkgit:git-revert[1] es acerca de hacer un nuevo commit que revierta los cambios hechos por otros commits. + +* linkgit:git-restore[1] es acerca de restaurar ficheros en el árbol de trabajo de ya sea el índice u otro commit. Este comando no actualiza tu rama. El comando también puede usarse para restaurar ficheros en el índice de otro commit. + +* linkgit:git-reset[1] es acerca de actualizar tu rama, moviendo la punta con el fin de agregar o eliminar commits de la rama. Esta operación cambia el historial de commits. ++ +`git reset` también puede usarse para restaurar el índice, traslapando con `git restore`. + + +Comandos de bajo nivel (plomería) +--------------------------------- + +Aunque Git incluye su propia capa de porcelana, sus comandos de bajo nivel son suficientes para soportar desarrollo de porcelanas alternativas. Desarrolladores de tales porcelanas podrían comenzar leyendo acerca de linkgit:git-update-index[1] y linkgit:git-read-tree[1]. + +La interfase (entrada, salida, conjunto de opciones y la semántica) a esos comandos de bajo nivel tienen la intención de ser mucho mas estables que comandos a nivel porcelana, porque esos comandos son primordialmente para ser usados por scripts. Por otro lado, la interface a comandos porcelana esta sujeta a cambios con el fin de mejorar la experiencia de usuario final. + +La descripción siguiente divide los comandos de bajo nivel en comandos que manipulan objetos (en el repositorio, índice y árbol de trabajo), comandos que interrogan y comparan objetos, y comandos que mueven objetos y referencias entre repositorios. + + +Comandos de manipulación +~~~~~~~~~~~~~~~~~~~~~~~~ + +linkgit:git-apply[1]:: + Aplicar un parche a ficheros y/o al índice. + +linkgit:git-checkout-index[1]:: + Copiar ficheros del índice al árbol de trabajo. + +linkgit:git-commit-graph[1]:: + Escribe y verifica los ficheros de confirmación-grafo Git. + +linkgit:git-commit-tree[1]:: + Crea un nuevo objeto commit. + +linkgit:git-hash-object[1]:: + Computa ID de objeto y opcionalmente crea un blob de un fichero. + +linkgit:git-index-pack[1]:: + Construye un fichero de índice de paquete para un archivo empaquetado existente. + +linkgit:git-merge-file[1]:: + Ejecuta una fusión de tres vías en un fichero. + +linkgit:git-merge-index[1]:: + Ejecuta una fusión para ficheros que la necesitan. + +linkgit:git-mktag[1]:: + Crea un objeto tag con validación adicional. + +linkgit:git-mktree[1]:: + Construir un objeto árbol a partir de un texto en formato ls-tree. + +linkgit:git-multi-pack-index[1]:: + Escribe y verifica índices-multi-paquete. + +linkgit:git-pack-objects[1]:: + Crea un archivo empaquetado de objetos. + +linkgit:git-prune-packed[1]:: + Remover objetos extra que ya están en ficheros empaquetados. + +linkgit:git-read-tree[1]:: + Lee información del árbol en el índice. + +linkgit:git-symbolic-ref[1]:: + Lee, modifica y borra referencias simbólicas. + +linkgit:git-unpack-objects[1]:: + Desempaqueta objetos de un archivo empaquetado. + +linkgit:git-update-index[1]:: + Registra contenidos de ficheros en el árbol de trabajo al índice. + +linkgit:git-update-ref[1]:: + Actualiza el nombre del objeto almacenado en una referencia de forma segura. + +linkgit:git-write-tree[1]:: + Crea un objeto árbol del índice actual. + +[] + + +Comandos de interrogación +~~~~~~~~~~~~~~~~~~~~~~~~~ + +linkgit:git-cat-file[1]:: + Proporciona contenido o tipo y tamaño de información para objetos del repositorio. + +linkgit:git-cherry[1]:: + Encuentre los commits que aún no han sido aplicados al upstream. + +linkgit:git-diff-files[1]:: + Compara ficheros del árbol de trabajo y del índice. + +linkgit:git-diff-index[1]:: + Compara un árbol con el árbol de trabajo o índice. + +linkgit:git-diff-tree[1]:: + Compara el contenido y el modo de blobs encontrados a través de dos objetos del árbol. + +linkgit:git-for-each-ref[1]:: + Extrae información de cada referencia. + +linkgit:git-for-each-repo[1]:: + Ejecutar un comando de Git en una lista de repositorios. + +linkgit:git-get-tar-commit-id[1]:: + Extrae el ID de confirmación de un archivo creado usando git-archive. + +linkgit:git-ls-files[1]:: + Muestra información sobre ficheros en el índice y el árbol de trabajo. + +linkgit:git-ls-remote[1]:: + Lista las referencias de un repositorio remoto. + +linkgit:git-ls-tree[1]:: + Lista los contenidos de un objeto árbol. + +linkgit:git-merge-base[1]:: + Encuentra los mejores ancestros comunes posibles para una fusión. + +linkgit:git-name-rev[1]:: + Encontrar nombres simbólicos para revs dados. + +linkgit:git-pack-redundant[1]:: + Encuentra ficheros empaquetados redundantes. + +linkgit:git-rev-list[1]:: + Lista objetos commit en orden cronológico inverso. + +linkgit:git-rev-parse[1]:: + Seleccionar y masajear los parámetros. + +linkgit:git-show-index[1]:: + Mostrar el índice de archivo empaquetado. + +linkgit:git-show-ref[1]:: + Listar referencias en un repositorio local. + +linkgit:git-unpack-file[1]:: + Crea un fichero temporal con el contenido de un blob. + +linkgit:git-var[1]:: + Mostrar una variable lógica de Git. + +linkgit:git-verify-pack[1]:: + Valida archivos Git empaquetados. + +[] + +En general, los comandos de interrogación no tocan los ficheros en el árbol de trabajo. + + +Sincronizando repositorios +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +linkgit:git-daemon[1]:: + Un servidor realmente simple para repositorios Git. + +linkgit:git-fetch-pack[1]:: + Descarga objetos faltantes de otro repositorio. + +linkgit:git-http-backend[1]:: + Implementación de lado de servidor de Git por HTTP. + +linkgit:git-send-pack[1]:: + Empujar objetos por protocolo Git a otro repositorio. + +linkgit:git-update-server-info[1]:: + Actualiza el fichero de información auxiliar para ayudar a los servidores tontos. + +[] + +Los siguientes son comandos auxiliares usados por los anteriores; usuarios finales típicamente no los usan directamente. + +linkgit:git-http-fetch[1]:: + Descarga de un repositorio Git remoto vía HTTP. + +linkgit:git-http-push[1]:: + Empuja objetos por HTTP/DAV a otro repositorio. + +linkgit:git-receive-pack[1]:: + Recibir lo que es empujado en el respositorio. + +linkgit:git-shell[1]:: + Shell de inicio de sesión restringido para acceso SSH exclusivo de Git. + +linkgit:git-upload-archive[1]:: + Enviar archivo de vuelta a git-archive. + +linkgit:git-upload-pack[1]:: + Enviar objetos empaquetados de vuelta a git-fetch-pack. + +[] + + +Comandos auxiliares internos +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Estos son comandos auxiliares internos usados por otros comandos; usuarios finales típicamente no los usan directamente. + +linkgit:git-check-attr[1]:: + Mostrar información de gitattributes. + +linkgit:git-check-ignore[1]:: + Depurar gitignore / exclude files. + +linkgit:git-check-mailmap[1]:: + Mostrar nombres canónicos y direcciones de correo de contactos. + +linkgit:git-check-ref-format[1]:: + Asegura que un nombre de referencia esté bien formado. + +linkgit:git-column[1]:: + Mostrar data en columnas. + +linkgit:git-credential[1]:: + Obtener y guardar credenciales de usuario. + +linkgit:git-credential-cache[1]:: + Auxiliar para almacenar temporalmente contraseñas en memoria. + +linkgit:git-credential-store[1]:: + Auxiliar para guardar credenciales en disco. + +linkgit:git-fmt-merge-msg[1]:: + Produce un mensaje de commit para fusión. + +linkgit:git-hook[1]:: + Ejecutar hooks de git. + +linkgit:git-interpret-trailers[1]:: + Agregar o analizar información estructurada en mensajes de commit. + +linkgit:git-mailinfo[1]:: + Extraer parche y autoría de un único mensaje de e-mail. + +linkgit:git-mailsplit[1]:: + Programa simple de UNIX divisor de mbox. + +linkgit:git-merge-one-file[1]:: + El programa de ayuda estándar para usar con git-merge-index. + +linkgit:git-patch-id[1]:: + Calcular ID único para un parche. + +linkgit:git-sh-i18n[1]:: + El código de configuración i18n de Git para scripts de shell. + +linkgit:git-sh-setup[1]:: + Código de configuración de script de shell común de Git. + +linkgit:git-stripspace[1]:: + Eliminar espacio en blanco innecesario. + +[] + +Guías +----- + +Las páginas de documentación siguientes son guías acerca de conceptos de Git. + +linkgit:gitcore-tutorial[7]:: + Un tutorial de Git esencial para desarrolladores. + +linkgit:gitcredentials[7]:: + Proporcionar nombres de usuario y contraseñas a Git. + +linkgit:gitcvs-migration[7]:: + Git para usuarios de CVS. + +linkgit:gitdiffcore[7]:: + Afinar la salida de diff. + +linkgit:giteveryday[7]:: + Un conjunto mínimo útil de comandos cotidianos de Git. + +linkgit:gitfaq[7]:: + Preguntas frecuentes sobre el uso de Git. + +linkgit:gitglossary[7]:: + Un Glosario de Git. + +linkgit:gitnamespaces[7]:: + Espacios de nombres de Git. + +linkgit:gitremote-helpers[7]:: + Programas auxiliares para interactuar con repositorios remotos. + +linkgit:gitsubmodules[7]:: + Montar un repositorio dentro de otro. + +linkgit:gittutorial[7]:: + Un tutorial de introducción a Git. + +linkgit:gittutorial-2[7]:: + Un tutorial de introducción a Git: parte dos. + +linkgit:gitworkflows[7]:: + Una visión general de flujos de trabajo recomendados con Git. + +[] + +Interfases de repositorio, comando y fichero +-------------------------------------------- + +Esta documentación discute interfases de repositorio y comando con las cuales se espera que los usuarios interactúen directamente. Ver `--user-formats` en linkgit:git-help[1] para mas detalles sobre los criterios. + +linkgit:gitattributes[5]:: + Definir atributos por ruta. + +linkgit:gitcli[7]:: + Interfaz de línea de comandos de Git y convenciones. + +linkgit:githooks[5]:: + Hooks utilizados por Git. + +linkgit:gitignore[5]:: + Especifica archivos intencionalmente sin seguimiento a ignorar. + +linkgit:gitmailmap[5]:: + Mapear nombres de autor/confirmante y/o direcciones de correo electrónico. + +linkgit:gitmodules[5]:: + Definir las propiedades de submódulo. + +linkgit:gitrepository-layout[5]:: + Estructura de repositorio Git. + +linkgit:gitrevisions[7]:: + Especificar revisiones y rangos para Git. + +[] + +Formatos de fichero, protocolos y otras interfaces para el desarrollador +------------------------------------------------------------------------ + +Esta documentación discute los formatos de fichero, protocolos sobre-el-cable y otras interfases de desarrollador git. Ver `--developer-interfaces` en linkgit:git-help[1]. + + + +[WARNING] +==== +Missing `es/cmds-developerinterfaces.txt` + +See original version for this content. +==== + +[] + +Mecanismo de Configuración +-------------------------- + +Git usa un formato de texto simple para almacenar personalizaciones que son por repositorio y por usuario. Tal fichero de configuración puede parecerse a éste: + +------------ +# +# Un caracter '#' o ';' indica un comentario. +# + +; variables esenciales +[core] + ; No confiar modos de fichero + filemode = false + +; identidad del usuario +[user] + name = "Junio C Hamano" + email = "gitster@pobox.com" + +------------ + +Varios comandos leen del fichero de configuración y ajustan su operación respectivamente. Ver linkgit:git-config[1] para una lista y mas detalles acerca del mecanismo de configuración. + + +Terminología Identificadora +--------------------------- +:: + Indica el nombre del objeto para cualquier tipo de objeto. + +:: + Indica un nombre de objeto blob. + +<árbol>:: + Indica un nombre de objeto árbol. + +:: + Indica un nombre de objeto commit. + +<árbol-ismo>:: + Indica un nombre de objeto árbol, commit o etiqueta. Un comando que toma un argumento quiere operar en última instancia sobre un objeto <árbol> pero automáticamente desreferencia objetos y que apuntan a un <árbol>. + +:: + Indica un nombre de objeto commit o etiqueta. Un comando que toma un argumento de último quiere operar sobre un objeto pero automáticamente desreferencia objetos que apunten a un . + +:: + Indica que un tipo de objeto es requerido. Actualmente uno de: `blob`, `tree`, `commit`, o `tag`. + +:: + Indica un nombre de fichero - casi siempre relativo a la raíz de la estructura del árbol que describe `GIT_INDEX_FILE`. + +Identificadores Simbólicos +-------------------------- +Cualquier comando Git que acepte cualquier también puede usar la notación simbólica siguiente: + +CABEZA:: + indica la cabeza de la rama actual. + +:: + un 'nombre' valido de etiqueta (ej. una referencia `refs/tags/`). + +:: + un 'nombre' valido de cabeza (ej. una referencia `refs/heads/`). + +Para una lista completa de las maneras de deletrear nombres de objetos ver la sección "ESPECIFICANDO REVISIONES" en linkgit:gitrevisions[7]. + + +Estructura de Ficheros/Directorios +---------------------------------- + +Por favor ver el documento linkgit:gitrepository-layout[5]. + +Leer linkgit:githooks[5] para mas detalles sobre cada gancho. + +Gestores de Código Fuente de alto nivel pueden proveer y manejar información adicional en el `$GIT_DIR`. + + +Terminología +------------ +Favor de ver linkgit:gitglossary[7]. + + +Variables de Ambiente +--------------------- +Varios comandos de Git prestan atención a variables de ambiente y alteran su funcionamiento. Las variables de ambiente marcadas como "Booleanas" toman sus valores de la misma manera que variables de configuración booleanas, ej. "true", "yes", "on" y números positivos se consideran como "yes". + +Aquí las variables: + +El Repositorio Git +~~~~~~~~~~~~~~~~~~ +Esas variables de ambiente aplican a 'todos' los comandos de núcleo de Git. Nótese bien: cabe notar que pueden ser usadas/sobremontadas por Gestores de Código Fuente asentados sobre Git, entonces tener cuidado si se usa un front-end foráneo. + +`GIT_INDEX_FILE`:: + Esta variable de ambiente especifica un fichero de índice alterno. Si no se especifica, se usa el valor predeterminado en `$GIT_DIR/index`. + +`GIT_INDEX_VERSION`:: + Esta variable de ambiente especifica qué versión de índice se usa al escribir el fichero de índice. No afectará ficheros de índice existentes. De manera predeterminada se usa la versión 2 o 3 del fichero de índice. Ver linkgit:git-update-index[1] para mas información. + +`GIT_OBJECT_DIRECTORY`:: + Si el directorio de almacenamiento de objetos se especifica por medio de esta variable de ambiente, entonces los directorios sha1 se crean debajo - de lo contrario se usa el directorio predeterminado `$GIT_DIR/objects`. + +`GIT_ALTERNATE_OBJECT_DIRECTORIES`:: + Debido a la naturaleza inmutable de los objetos Git, objetos antiguos pueden ser archivados en directorios compartidos de sólo lectura. Esta variable especifica una lista separada por ":" (en Windows separada por ";") de directorios de objetos Git que pueden ser usados para buscar objetos Git. Objetos nuevos no serán escritos en esos directorios. ++ +Entradas que comienzan con `"` (comilla doble) serán interpretadas como rutas entrecomilladas estilo C, quitando la comillas dobles iniciales y finales y respetando escapes de diagonal invertida. Ej. el valor `"ruta-con-\"-y-:-en-ella":ruta-vainilla` tiene dos rutas: `ruta-con-"-y-:-en-ella` y `ruta-vainilla`. + +`GIT_DIR`:: + Si la variable de ambiente `GIT_DIR` esta asignada entonces especifica una ruta para usarse en lugar de la predeterminada `.git` para la base del repositorio. La opción de línea de comando `--git-dir` también asigna éste valor. + +`GIT_WORK_TREE`:: + Asigna la ruta de la raíz del árbol de trabajo. También puede controlarse con la opción de línea de comando `--work-tree` y la variable de configuración core.worktree. + +`GIT_NAMESPACE`:: + Asigna el espacio de nombres de Git; ver linkgit:gitnamespaces[7] para detalles. La opción de línea de comandos `--namespace` también asigna éste valor. + +`GIT_CEILING_DIRECTORIES`:: + Esta debe ser una lista separada por dos puntos de rutas absolutas. Si se asigna, es una lista de directorios en los que Git no debería hacer chdir al buscar un directorio de repositorio (útil para excluir directorios de red de carga lenta). No excluirá el directorio de trabajo actual o un GIT_DIR configurado en línea de comandos o en el ambiente. Normalmente, Git tiene que leer las entradas en esta lista y resolver cualquier enlace simbólico que pueda estar presente con el fin de compararlos con el directorio actual. Sin embargo, si incluso éste acceso es lento, puedes agregar a la lista una entrada vacía para indicarle a Git que las entradas subsecuentes no son enlaces simbólicos y que por lo tanto no necesitan resolverse; ej. `GIT_CEILING_DIRECTORIES=/posible/enlace::/no/enlace/muy/lento`. + +`GIT_DISCOVERY_ACROSS_FILESYSTEM`:: + Cuando se ejecuta en un directorio que no tiene directorio de repositorio ".git", Git intenta encontrarlo en los directorios padres para encontrar el tope del directorio de trabajo, pero predeterminadamente no cruza los límites del sistema de ficheros. A esta variable de ambiente booleana se le puede asignar true para indicarle a Git que no pare en los límites del sistema operativo. Así como `GIT_CEILING_DIRECTORIES`, no afectará un directorio de repositorio explícito configurado en `GIT_DIR` o en la línea de comandos. + +`GIT_COMMON_DIR`:: + Si a esta variable se le asigna una ruta, los ficheros que no son del árbol de trabajo que normalmente están en $GIT_DIR serán tomados en cambio de esta ruta. Ficheros específicos del árbol de trabajo como HEAD y index se toman de $GIT_DIR. Ver linkgit:gitrepository-layout[5] y linkgit:git-worktree[1] para detalles. Esta variable tiene precedencia mas baja que otras variables de ruta como GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY... + +`GIT_DEFAULT_HASH`:: + Si se configura esta variable, el algoritmo predeterminado de hash para repositorios nuevos será asignado con éste valor. Al clonar se ignora este valor y siempre se usa la configuración del repositorio remoto. El predeterminado es "sha1". Ver `--object-format` en linkgit:git-init[1]. + +`GIT_DEFAULT_REF_FORMAT`:: + Si se configura esta variable, el formato predeterminado de almacenamiento de referencias para repositorios nuevos será asignado con éste valor. El predeterminado es "files". Ver `--ref-format` en linkgit:git-init[1]. + +Confirmaciones de Git +~~~~~~~~~~~~~~~~~~~~~ +`GIT_AUTHOR_NAME`:: + El nombre legible al humano usado en la identidad del autor cuando se crean objetos confirmación o etiqueta, o cuando se escriben reflogs. Anula las configuraciones `user.name` y `author.name`. + +`GIT_AUTHOR_EMAIL`:: + La dirección de correo electrónico usada en la identidad del autor cuando se crean objetos confirmación o etiqueta, o cuando se escriben reflogs. Anula las configuraciones `user.email` y `author.email`. + +`GIT_AUTHOR_DATE`:: + La fecha usada para la identidad del autor cuando se crean objetos confirmación o etiqueta, o cuando se escriben reflogs. Ver linkgit:git-commit[1] para formatos válidos. + +`GIT_COMMITTER_NAME`:: + El nombre legible al humano usado en la identidad del confirmante cuando se crean objetos confirmación o etiqueta, o cuando se escriben referencias de bitácora. Anula las configuraciones de `user.name` y `committer.name`. + +`GIT_COMMITTER_EMAIL`:: + La dirección de correo electrónico usada en la identidad del autor cuando se crean objetos confirmación o etiqueta, o cuando se escriben referencias de bitácora. Anula las configuraciones de `user.email` y `committer.email`. + +`GIT_COMMITTER_DATE`:: + La fecha usada para la identidad del confirmante cuando se crean objetos confirmación o etiqueta, o cuando se escriben referencias de bitácora. Ver linkgit:git-commit[1] para formatos válidos. + +`EMAIL`:: + La dirección de correo electrónico usada en las identidades de autor y confirmante si no se ha asignado alguna otra variable de ambiente o configuración relevante. + +Diffs de Git +~~~~~~~~~~~~ +`GIT_DIFF_OPTS`:: + La única configuración válida es "--unified=??" o "-u??" para asignar el número de líneas de contexto a mostrarse cuando se crea un diff unificado. Toma precedencia sobre cualquier valor de opción "-U" o "--unified" pasada en la línea de comandos del diff Git. + +`GIT_EXTERNAL_DIFF`:: + Cuando se asigna la variable de ambiente `GIT_EXTERNAL_DIFF`, se llama al programa nombrado en ella para generar diffs, y Git no usa su maquinaria de diff interconstruida. Para una ruta que es agregada, removida, o modificada, se llama a `GIT_EXTERNAL_DIFF` con 7 parámetros: + + ruta fichero-anterior hex-anterior modo-anterior fichero-nuevo hex-nuevo modo-nuevo ++ +donde: + + fichero-:: son los ficheros que GIT_EXTERNAL_DIFF puede usar para leer el contenido de , + hex-:: son los hash SHA1 de 40 dígitos hexadecimal, + modo-:: son la representación octal de los modos del fichero. ++ +Los parámetros fichero pueden apuntar al fichero de trabajo del usuario (ej. `fichero-nuevo` en "git-diff-files"), `/dev/null`(ej. `fichero-anterior` cuando se agrega un fichero nuevo), o un fichero temporal (ej. `fichero-anterior` en el índice). `GIT_EXTERNAL_DIFF` no debería preocuparse por desenlazar el fichero temporal -- es eliminado cuando `GIT_EXTERNAL_DIFF` sale. ++ +Para una ruta no-fusionada, se llama a `GIT_EXTERNAL_DIFF` con 1 parámetro, . ++ +Para cada ruta se llama a `GIT_EXTERNAL_DIFF`, dos variables de ambiente se asignan, `GIT_DIFF_PATH_COUNTER` y `GIT_DIFF_PATH_TOTAL`. + +`GIT_DIFF_PATH_COUNTER`:: + Un contador base 1 incrementado por uno por cada ruta. + +`GIT_DIFF_PATH_TOTAL`:: + El número total de rutas. + +otras +~~~~~ +`GIT_MERGE_VERBOSITY`:: + Un número controlando la cantidad de salida mostrada por la estrategia de fusión recursiva. Anula merge.verbosity. Ver linkgit:git-merge[1] + +`GIT_PAGER`:: + Esta variable de ambiente anula `$PAGER`. Si se le asigna una cadena vacía o el valor "cat", Git no lanzará un paginador. Ver también la opción `core.pager` en linkgit:git-config[1]. + +`GIT_PROGRESS_DELAY`:: + Un número controlando cuántos segundos retardar antes de mostrar indicadores opcionales de progreso. Predeterminado a 2. + +`GIT_EDITOR`:: + Esta variable de ambiente anula `$EDITOR` y `$VISUAL`. Es usada por varios comandos Git cuando en modo interactivo se va a lanzar un editor. Ver también linkgit:git-var[1] y la opción `core.editor` en linkgit:git-config[1]. + +`GIT_SEQUENCE_EDITOR`:: + Esta variable de ambiente anula el editor de Git configurado cuando se edita la lista de pendientes en un rebase interactivo. Ver también linkgit:git-rebase[1] y la opción `sequence.editor` en linkgit:git-config[1]. + +`GIT_SSH`:: +`GIT_SSH_COMMAND`:: + Si cualquiera de estas variables de ambiente se asigna entonces 'git fetch' y 'git push' usarán el comando especificado en lugar de 'ssh' cuando se necesite conectar a un sistema remoto. Los parámetros de línea de comandos pasados al comando configurado los determina la variante de ssh. Ver la opción `ssh.variant` en linkgit:git-config[1] para detalles. ++ +`$GIT_SSH_COMMAND` toma precedencia sobre `$GIT_SSH`, y es interpretado por el shell, el cual permite argumentos adicionales a incluirse. Por otro lado, `$GIT_SSH` debe ser sólo la ruta al programa (el cual puede ser un script de shell envolvente, si se necesitan argumentos adicionales). ++ +Usualmente es mas fácil configurar cualquier opción deseada por medio de tu fichero personal `.ssh/config`. Por favor consulta tu documentación de ssh para mayores detalles. + +`GIT_SSH_VARIANT`:: + Si se asigna ésta variable de ambiente, anula que Git autodetecte si `GIT_SSH`/`GIT_SSH_COMMAND`/`core.sshCommand` se refiere a OpenSSH, link o tortoiseplink. Esta variable anula la configuración `ssh.variant` que sirve para el mismo propósito. + +`GIT_SSL_NO_VERIFY`:: + Asignando y exportando ésta variable de ambiente a cualquier valor le dice a Git que no verifique el certificado SSL cuando haga fetch o push sobre HTTPS. + +`GIT_ATTR_SOURCE`:: + Asigna el árbol-ismo de donde se leerán gitattributes. + +`GIT_ASKPASS`:: + Si se asigna esta variable de ambiente, entonces los comandos Git que necesiten recibir contraseñas o frases de acceso (ej. para autenticación HTTP o IMAP) llamarán a éste programa con una línea de entrada apropiada como argumento de línea de comandos y leer la contraseña de su STDOUT. Ver también la opción `core.askPass` en linkgit:git-config[1]. + +`GIT_TERMINAL_PROMPT`:: + Si se asigna ésta variable de ambiente booleana, git no usará una línea de entrada en la terminal (ej. cuando se solicite una autenticación HTTP). + +`GIT_CONFIG_GLOBAL`:: +`GIT_CONFIG_SYSTEM`:: + Toma la configuración de los ficheros dados en lugar de los ficheros de configuración global o a nivel sistema. Si `GIT_CONFIG_SYSTEM` es asignado, el fichero de configuración de sistema definido en tiempo de construcción (usualmente `/etc/gitconfig`) no será leído. En el mismo sentido, si `GIT_CONFIG_GLOBAL` es asignado, ninguno de `$HOME/.gitconfig` o `$XDG_CONFIG_HOME/git/config` será leído. Se le puede asignar `/dev/null` para saltar la lectura de ficheros de configuración del nivel respectivo. + +`GIT_CONFIG_NOSYSTEM`:: + Si saltar la lectura de ajustes del fichero de ámbito de sistema `$(prefix)/etc/gitconfig`. Esta variable de ambiente booleana puede ser usada junto con `$HOME` y `$XDG_CONFIG_HOME` para crear un ambiente predecible para un script quisquilloso, o puedes asignarle verdadero para evitar temporalmente usar un fichero defectuoso `/etc/gitconfig` mientras se espera a alguien con premisos suficientes para arreglarlo. + +`GIT_FLUSH`:: + Si a esta variable de ambiente booleana se le asigna true, entonces comandos como 'git-blame' (en modo incremental), 'git rev-list', 'git log', 'git check-attr' y 'git check-ignore' forzarán un desalojo del flujo de salida después de que cada registro sea desalojado. Si a esta variable se le asigna false, la salida de esos comandos se hará usando búfer de E/S por completo. Si no se asigna esta variable de ambiente, Git elegirá desalojo por búfer u orientada a registro con base en si la salida estándar parece ser redirigida a un fichero o no. + +`GIT_TRACE`:: + Habilita mensajes de rastreo general, ej. expansión de alias, ejecución de comando interconstruido y ejecución de comando externo. ++ +Si a esta variable se le asigna "1", "2" o "true" (comparación sensible a mayúsculas), mensajes de rastreo se imprimirán en stderr. ++ +Si a esta variable se le asigna un valor entero mayor a 2 y menor a 10 (estrictamente) entonces Git interpretará éste valor como un descriptor de fichero abierto e intentará escribir mensajes de rastro en éste descriptor de fichero. ++ +Alternativamente, si a la variable se le asigna un ruta absoluta (iniciando con un caracter '/'), Git interpretará esta como una ruta de fichero e intentará adicionar mensajes de rastreo en él. ++ +Desasignando la variable, o asignándole vacío, "0" o "false" (sensible a mayúsculas) deshabilita mensajes de rastreo. + +`GIT_TRACE_FSMONITOR`:: + Habilita mensajes de rastreo para la extensión de monitoreo de sistema de ficheros. Ver `GIT_TRACE` para las opciones de salida de rastreo disponibles. + +`GIT_TRACE_PACK_ACCESS`:: + Habilita mensajes de rastreo para todos los accesos a cualquier paquete. Para cada acceso, se registra el nombre de fichero de paquete y un corrimiento. Esto puede ser de ayuda para diagnosticar algunos problemas de desempeño relacionados con paquetes. Ver `GIT_TRACE` para opciones de rastreo disponibles. + +`GIT_TRACE_PACKET`:: + Habilita mensajes de rastreo para todos los paquetes que vienen de o van hacia un programa dado. Esto puede ayudar con depuración de negociación de objetos u otros problemas de protocolo. El rastreo esta apagado en un paquete que comienza con "PACK" (pero ver `GIT_TRACE_PACKFILE` mas abajo). Ver `GIT_TRACE` para opciones de salida de rastreo disponibles. + +`GIT_TRACE_PACKFILE`:: + Habilita el rastreo de fichero de paquete enviados o recibidos por un programa dado. Contrario a otras salidas de rastreo, este rastreo es verboso: sin encabezados, y sin entrecomillar datos binarios. Seguramente querrás dirigirla a un fichero (ej. `GIT_TRACE_PACKFILE=/tmp/mi.paquete`) mas que desplegarla en la terminal o mezclarla con otra salida de rastreo. ++ +Note que esto esta actualmente implementado sólo para el lado del cliente de clonaciones y fetchs. + +`GIT_TRACE_PERFORMANCE`:: + Habilita mensajes de rastreo relacionados con desempeño, ej. tiempo total de ejecución de cada comando Git. Ver `GIT_TRACE` para opciones de salida de rastreo disponibles. + +`GIT_TRACE_REFS`:: + Habilita mensajes de rastreo para operaciones en la base de datos de referencias. Ver `GIT_TRACE` para opciones de salida de rastreo disponibles. + +`GIT_TRACE_SETUP`:: + Habilita mensajes de rastreo imprimiendo el .git, el árbol de trabajo y el directorio de trabajo actual después que Git haya terminado su fase de configuración. Ver `GIT_TRACE` para opciones de salida de rastreo disponibles. + +`GIT_TRACE_SHALLOW`:: + Habilita mensajes de rastreo que pueden ayudar a depurar fetch / clonación de repositorios superficiales. Ver `GIT_TRACE` para opciones de salida de rastreo disponibles. + +`GIT_TRACE_CURL`:: + Habilita un volcado de rastreo completo de curl de todos los datos entrantes y salientes, incluyendo información descriptiva, del protocolo de transporte git. Es similar a hacer curl con `--trace-ascii` desde la línea de comandos. Ver `GIT_TRACE` para opciones de salida de rastreo disponibles. + +`GIT_TRACE_CURL_NO_DATA`:: + Cuando se habilita un rastreo curl (ver `GIT_TRACE_CURL` arriba), no vuelca los datos (esto es, sólo vuelca líneas de información y cabeceras). + +`GIT_TRACE2`:: + Habilita mensajes de rastreo mas detallados desde la librería "trace2". La salida de `GIT_TRACE2` es un formato simple basado en texto para legibilidad humana. ++ +Si a esta variable se le asigna "1", "2" o "true" (comparación sensible a mayúsculas), mensajes de rastreo se imprimirán en stderr. ++ +Si a esta variable se le asigna un valor entero mayor a 2 y menor a 10 (estrictamente) entonces Git interpretará éste valor como un descriptor de fichero abierto e intentará escribir mensajes de rastro en éste descriptor de fichero. ++ +Alternativamente, si a la variable se le asigna una ruta absoluta (que comience con el caracter '/'), Git la interpretará como una ruta de fichero e intentará añadir mensajes de rastreo en él. Si la ruta ya existe y es un directorio, los mensajes de rastreo serán escritos en ficheros (uno por proceso) en ese directorio, nombrados de acuerdo al último componente del SID y un contador opcional (para evitar colisiones de nombre de fichero). ++ +Además, si a la variable se le asigna `af_unix:[:]`, Git intentará abrir la ruta como un Socket de Dominio de Unix. El tipo de socket puede ser `stream` o `dgram`. ++ +Desasignando la variable, o asignándole vacío, "0" o "false" (sensible a mayúsculas) deshabilita mensajes de rastreo. ++ +Ver link:/docs/api-trace2/es[documentación de Trace2] para detalles completos. + + +`GIT_TRACE2_EVENT`:: + Este ajuste escribe un formato basado en JSON que es adecuado para interpretación por máquina. Ver `GIT_TRACE2` para opciones disponibles de salida de rastreo y link:/docs/api-trace2/es[documentación de Trace2] para detalles completos. + +`GIT_TRACE2_PERF`:: + Además de los mensajes basados en texto disponibles en `GIT_TRACE2`, este ajuste escribe un formato basado en columnas para entender regiones anidadas. Ver `GIT_TRACE` para opciones de salida de rastreo disponibles y link:/docs/api-trace2/es[documentación de Trace2] para detalles completos. + +`GIT_TRACE_REDACT`:: + Predeterminadamente, cuando se activa rastreo, Git redacta los valores de cookies, el encabezado "Authorization", el encabezado "Proxy-Authorization:" y fichero empaquetado de URIs. Asigne false a esta variable de ambiente booleana para prevenir esta redacción. + +`GIT_LITERAL_PATHSPECS`:: + Asignando verdadero a esta variable de ambiente booleana causará que Git trate a todas las especificaciones de ruta literalmente, mas que como patrones glob. Por ejemplo, corriendo `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` buscará confirmaciones que toquen la ruta `*.c`, no cualquier ruta que coincida con el glob `*.c`. Querrías esto si proporcionas rutas literales a Git (ej., rutas que te hayan resultado previamente de `git ls-tree`, `--raw` salida de diff, etc.). + +`GIT_GLOB_PATHSPECS`:: + Asignando verdadero a esta variable de ambiente booleana causará que Git trate todas las especificaciones de ruta como patrones glob (también conocido como magia "glob"). + +`GIT_NOGLOB_PATHSPECS`:: + Asignando verdadero a esta variable de ambiente booleana causará que Git trate a todas la especificaciones de ruta como literales (también conocido como magia "literal"). + +`GIT_ICASE_PATHSPECS`:: + Asignando verdadero a esta variable de ambiente booleana causará que Git trate a todas las especificaciones de ruta como insensibles a mayúsculas. + +`GIT_REFLOG_ACTION`:: + Cuando se actualiza una referencia, se crean entradas de reflog para dar seguimiento a la razón por la cual la referencia fue actualizada (la cual es típicamente el nombre de un comando de alto nivel que actualizó la referencia), además de los valores anterior y nuevo de la referencia. Un comando porcelana en un script puede usar la función auxiliar set_reflog_action en `git-sh-setup` para asignar su nombre a esta variable cuando es invocada por el usuario final como el comando de máximo nivel, para ser registrado en el cuerpo del reflog. + +`GIT_REF_PARANOIA`:: + Si se asigna falso a esta variable de ambiente booleana, ignora referencias rotas o mal nombradas cuando se itera por la lista de referencias. Normalmente Git intentará incluir cualquiera de tales referencias, lo cual puede provocar que algunas operaciones fallen. Esto es usualmente preferible, ya que es mejor abortar operaciones potencialmente destructivas (ej. linkgit:git-prune[1]) en vez de ignorar referencias rotas (y por lo tanto considerar que no vale guardar el historial al que apuntan). El valor predeterminado es `1` (ej. ser paranoico en la detección y abortar todas las operaciones). Normalmente no deberías asignarle `0`, pero puede ser útil cuando se intenta salvar datos de un repositorio corrupto. + +`GIT_COMMIT_GRAPH_PARANOIA`:: + When loading a commit object from the commit-graph, Git performs an existence check on the object in the object database. This is done to avoid issues with stale commit-graphs that contain references to already-deleted commits, but comes with a performance penalty. ++ +The default is "false", which disables the aforementioned behavior. Setting this to "true" enables the existence check so that stale commits will never be returned from the commit-graph at the cost of performance. + +`GIT_ALLOW_PROTOCOL`:: + Si se le asigna una lista de protocolos separada por dos puntos, se comporta como si a `protocolo.allow` se le asigna `never`, y cada uno de los protocolos listados `protocol..allow` tuviera asignado `always` (anulando cualquier configuración existente). Ver la descripción de `protocol.allow` en linkgit:git-config[1] para mas detalles. + +`GIT_PROTOCOL_FROM_USER`:: + Asigne falso a esta variable de ambiente booleana para prevenir el uso de protocolos por fetch/push/clone los cuales están configurados en el estado `user`. Esto es útil para restringir inicialización recursiva de submodulos desde un repositorio no confiable o para programas que alimenten URLs potencialmente no confiables a comandos git. Ver linkgit:git-config[1] para mas detalles. + +`GIT_PROTOCOL`:: + Sólo para uso interno. Usado en el protocolo de estrechamiento de manos de conexión. Contiene una lista de claves separadas por dos puntos ':' con valores opcionales 'clave[=valor]'. La presencia de claves y valores desconocidos debe ser ignorada. ++ +Note que servidores pueden necesitar ser configurados para permitir que esta variable sobrepase algunos transportes. Será propagada automáticamente cuando se accesen repositorios locales (ej. `file://` o una ruta del sistema de ficheros), así como sobre el protocolo `git://`. Para git-over-http, debería funcionar automáticamente en la mayoría de las configuraciones, pero ver la discusión en linkgit:git-http-backend[1]. Para git-over-ssh, el servidor ssh puede necesitar ser configurado para permitir a los clientes pasar esta variable (ej. usando `AcceptEnv GIT_PROTOCOL` con OpenSSH). ++ +Esta configuración es opcional. Si la variable no es propagada, entonces los clientes caerán de vuelta a protocolo "v0" original (pero pueden perder algunas mejoras de desempeño o características). Esta variable afecta actualmente únicamente a clonados y fetchs; aún no es usada para empujes (pero podría serlo en el futuro). + +`GIT_OPTIONAL_LOCKS`:: + Si se le asigna falso a esta variable de ambiente, Git completará cualquier petición solicitada sin hacer cualquier sub-operación opcional que requiera un bloqueo. Por ejemplo, prevendrá que `git status` refresque el índice como efecto colateral. Esto es útil para procesos corriendo en segundo plano que no quieran provocar contención de bloqueos con otras operaciones en el repositorio. Es predeterminada a `1`. + +`GIT_REDIRECT_STDIN`:: +`GIT_REDIRECT_STDOUT`:: +`GIT_REDIRECT_STDERR`:: + Sólo Windows: permite redirigir la entrada/salida/error estándar a las rutas especificadas por la variables de ambiente. Esto es particularmente útil en aplicaciones multi-hilo donde no es opción la forma canónica para pasar manejadores estándar mediante `CreateProcess()` ya que requeriría que los manejadores sean marcados como heredables (y consecuentemente *todos* los procesos derivados los heredarán, posiblemente bloqueando operaciones regulares de Git). El caso de uso primordial es usar pipes nombradas para comunicación (ej. `\\.\pipe\mi-stdin-git-123`). ++ +Dos valores especiales son soportados: `off` simplemente cerrará el manejador estándar correspondiente, y si `GIT_REDIRECT_STDERR` es `2>&1`, error estándar será redireccionado al mismo manejador que la salida estándar. + +`GIT_PRINT_SHA1_ELLIPSIS` (obsoleto):: + Si se le asigna `yes`, imprime una elipsis después de una valor (abreviado) SHA-1. Esto afecta indicaciones de HEADs separadas (linkgit:git-checkout[1]) y la salida bruta de diff (linkgit:git-diff[1]). Ya no se considera adecuado imprimir una elipsis en los casos mencionados y es probable que su soporte sea removido en el futuro previsible (junto con la variable). + +Discusión[[Discussion]] +----------------------- + +Mas detalle de lo siguiente esta disponible en el link:/docs/user-manual/es#git-concepts[capítulo de Conceptos de Git del Manual de usuario] y linkgit:gitcore-tutorial[7]. + +Un proyecto Git consiste normalmente de un directorio de trabajo con un subdirectorio ".git" en su nivel mas alto. El directorio .git contiene, entre otras cosas, una base de datos de objetos comprimida representando el historial completo del proyecto, un fichero "índice" el cual enlaza ese historial con el contenido actual del directorio de trabajo, y apuntadores nombrados hacia ese historial como etiquetas y cabezas de rama. + +La base de datos de objetos contiene objetos de tres tipos principales: blobs, que contienen datos de fichero; árboles, los cuales apuntan a blobs y otros árboles para formar jerarquías de directorio; y confirmaciones, las que -cada una- referencían a un solo árbol y algún número de confirmaciones padre. + +La confirmación, equivalente a lo que otros sistemas llaman "conjunto de cambios" o "versión", representa un paso en el historial del proyecto, y cada padre representa un paso inmediato anterior. Confirmaciones con mas de un padre representan fusiones de líneas independientes de desarrollo. + +Todos los objetos se nombran con un hash SHA-1 de su contenido, normalmente escrito como una cadena de 40 dígitos hexadecimales. Dichos nombres son globalmente únicos. El historial completo hasta una confirmación puede ser garantizada firmando sólo esa confirmación. Para éste propósito, se proporciona un cuarto tipo de objeto, la etiqueta. + +Recién creados, los objetos se almacenan en ficheros individuales, pero por eficiencia, posteriormente pueden ser comprimidos en conjunto en "paquetes de ficheros". + +Apuntadores nombrados llamados referencias marcan puntos interesantes en el historial. Una referencia puede contener el nombre SHA-1 de un objeto o el nombre de otra referencia (ésta última se le llama una "referencia simbólica"). Referencias con nombres que comienzan con `refs/head/` contienen el nombre SHA-1 de la confirmación más reciente (o "head") de una rama bajo desarrollo. Los nombres SHA-1 de etiquetas de interés se almacenan bajo `refs/tags/`. Una referencia simbólica llamada `HEAD` contiene el nombre de la rama actualmente en revisión. + +El fichero índice se inicializa con una lista de todas las rutas y, para cada ruta, un objeto blob y un conjunto de atributos. El objeto blob representa el contenido del fichero como en la cabeza de la rama actual. Los atributos (última hora de modificación, tamaño, etc.) se toman del fichero correspondiente en el árbol de trabajo. Cambios subsecuentes al árbol de trabajo se pueden encontrar al comparar esos atributos. El índice puede ser actualizado con contenido nuevo, y nuevas confirmaciones pueden ser creadas a partir del contenido almacenado en el índice. + +El índice también es capaz de almacenar entradas múltiples (llamadas "etapas") para cada nombre de ruta dado. Esas etapas se usan para mantener las varias versiones sin fusionar de un fichero cuando una fusión está en progreso. + +MAS DOCUMENTACIÓN +----------------- + +Ver las referencias en la sección "descripción" para comenzar a usar Git. Lo siguiente es probablemente mas detalle del necesario para un usuario primerizo. + +link:/docs/user-manual/es#git-concepts[El capítulo de conceptos de Git del manual de usuario] y linkgit:gitcore-tutorial[7] ambos dan introducciones a la arquitectura subyacente de Git. + +Ver linkgit:gitworkflows[7] para un vistazo a los flujos de trabajo recomendados. + +Ver también los documentos link:/docs/howto-index/es[Cómo hacer] para algunos ejemplos útiles. + +Lo interno se documenta en la link:/docs/api-index/es[Documentación de la API de Git]. + +Usuarios migrando de CVS querrían leer linkgit:gitcvs-migration[7]. + + +Autores +------- +Git lo comenzó Linus Torvalds, y actualmente es mantenido por Junio C Hamano. Numerosas contribuciones han venido de la lista de correos de Git . http://openhub.net/p/git/contributors/summary tiene una lista mas completa de contribuyentes. + +Si tienes un clon mismo de git.git, la salida de linkgit:git-shortlog[1] y linkgit:git-blame[1] puede mostrarte los autores de partes específicas del proyecto. + +Reportando Errores +------------------ + +Reporta errores en la lista de correo de Git donde se hace principalmente el desarrollo y mantenimiento. No tienes que estar suscrito en la lista para enviar un mensaje ahí. Ver el archivo de la lista en https://lore.kernel.org/git para reportes de error anteriores y otras discusiones. + +Asuntos relevantes para la seguridad deben ser revelados en privado a la lista de correos de seguridad de Git . + +VER TAMBIÉN +----------- +linkgit:gittutorial[7], linkgit:gittutorial-2[7], linkgit:giteveryday[7], linkgit:gitcvs-migration[7], linkgit:gitglossary[7], linkgit:gitcore-tutorial[7], linkgit:gitcli[7], link:/docs/user-manual/es[El Manual de Usuario de Git], linkgit:gitworkflows[7] + +GIT +--- +Parte de la suite de linkgit:git[1] diff --git a/_generated-asciidoc/0676a61b6b09ad634964bd98d03bfbe028058e6e b/_generated-asciidoc/0676a61b6b09ad634964bd98d03bfbe028058e6e new file mode 100644 index 0000000000..21a49c2181 --- /dev/null +++ b/_generated-asciidoc/0676a61b6b09ad634964bd98d03bfbe028058e6e @@ -0,0 +1,299 @@ +git-add(1) +========== + +名称 +-- +git-add - 添加文件内容到索引 + +概述 +-- +[verse] +'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p] + [--edit | -e] [--[no-]all | -A | --[no-]ignore-removal | [--update | -u]] [--sparse] + [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize] + [--chmod=(+|-)x] [--pathspec-from-file=<文件> [--pathspec-file-nul]] + [--] [<路径规范>...] + +描述 +-- +该命令使用工作区的内容来更新索引,为下一次提交准备暂存的内容。通常情况下会添加当前目录的所有内容到索引,但是通过某些选项,它也可以用于仅添加对工作树文件所做的部分更改,或删除工作树中不存在的路径。 + +索引区中储存着一份工作区的快照,在下次提交时这份快照会被保存到 Git 仓库中。因此在工作区做过修改后以及在运行下一次提交命令前,你必须通过 `add` 命令来添加新创建的文件或者保存新的改动到索引中。 + +提交前可以多次执行此命令。它仅在运行add命令时添加指定文件的内容;如果要在下一次提交中包含后续更改,则必须再次运行`git add`将新内容添加到索引中。 + +`git status` 命令可用于获取摘要,说明哪些变化的文件已暂存,准备下一次提交。 + +`git add` 命令默认不会添加被忽略的文件。如果在命令行上明确指定了任何被忽略的文件,则 `git add` 会失败,并显示被忽略文件的列表。由目录递归或 Git 执行的文件名通配符(在 shell 之前引用的通配符)所涉及的忽略文件将被静默忽略。 'git add' 命令可用于通过 `-f` 选项(force)强制添加忽略的文件。 + +请参阅 linkgit:git-commit[1] 了解将内容添加到提交的其他替代方法。 + + +选项 +-- +<路径规范>...:: + 要从中添加内容的文件。可以使用文件通配符(例如 `*.c`)来添加所有匹配的文件。此外,还可以提供一个前导目录名(例如,指定 `dir` 以添加 `dir/file1` 和 `dir/file2`)来更新索引,使其与整个目录的当前状态相匹配(例如,指定 `dir` 不仅会记录在工作树中修改的文件 `dir/file1`,还会记录在工作树中添加的文件 `dir/file2`,还有从工作树中删除的文件 `dir/file3`)。请注意,旧版本的 Git 会忽略已删除的文件;如果要添加已修改的文件或新文件,但忽略已删除的文件,请使用 `--no-all` 选项。 ++ +有关 <指定路径> 格式的更多细节,请参考 linkgit:gitglossary[7]。 + +-n:: +--dry-run:: + 实际上不添加文件,仅展示文件是否存在或是否忽略。 + +-v:: +--verbose:: + 详细日志。 + +-f:: +--force:: + 允许添加已被忽略的文件。 + +--sparse:: + 允许更新稀疏检出 cone 之外的索引条目。 通常,`git add` 拒绝更新其路径不适合稀疏检出 cone 的索引条目,因为这些文件可能会在没有警告的情况下从工作区中删除。有关更多详细信息,请参阅链接 linkgit:git-sparse-checkout[1]。 + +-i:: +--interactive:: + 以交互方式将工作目录树中的修改内容添加到索引。可以提供可选的路径参数,以将操作限制为工作目录树的子集。有关详细信息,请参见 ''交互模式''。 + +-p:: +--patch:: + 交互地在索引和工作目录之间选择补丁块并将它们添加到索引中。这让用户有机会在将修改后的内容添加到索引之前查看差异。 ++ +参见这可以有效地运行 `add --interactive`,但是会绕过初始命令菜单,而直接跳转到 `patch` 子命令。有关详细信息,请参见 ''交互模式''。 + +-e:: +--edit:: + 在编辑器中打开与索引的差异,使用户进行编辑。关闭编辑器后,调整块补丁头并将其应用于索引。 ++ +此选项的目的是选择并选择要应用的补丁的行,甚至修改要暂存的行的内容。与使用交互式补丁块选择器相比,其更快,更灵活。但是,很容易混淆自己并创建不应用于索引的补丁。请参阅下面的编辑补丁。 + +-u:: +--update:: + 在索引已经有与 <路径规范> 匹配项的地方更新索引。这会删除和修改索引项以匹配工作目录树,但不添加新文件。 ++ +如果在使用 `-u` 选项时没有 <路径规范>,则整个工作目录树中的所有跟踪文件都将更新(旧版本 Git 会限制更新当前目录及其子目录)。 + +-A:: +--all:: +--no-ignore-removal:: + 不仅在工作树中有与 <路径规范> 匹配的文件的地方更新索引,而且在索引中已经有一个项的地方更新索引。这将添加、修改和删除与工作目录树匹配的索引项。 ++ +如果在使用 `-A` 选项时没有提供 <路径规范>,则整个工作目录树中的所有文件都将更新(旧版本的 Git 会限制当前目录及其子目录的更新)。 + +--no-all:: +--ignore-removal:: + 通过添加索引未知的新文件和在工作树中修改的文件以更新索引,但忽略已从工作树中删除的文件。当不使用 <路径规范> 时,此选项是必须的。 ++ +此选项主要用于帮助那些习惯于较旧版本 Git 的用户。旧版本中的 "Git add <路径规范>..." 是 "Git add --no-all <路径规范>..." 的同义词,即忽略已删除的文件。 + +-N:: +--intent-to-add:: + 只记录稍后将添加路径的事实。路径的项会被放置在索引中,但不包括改动的内容。这对于使用 `git diff` 显示文件的未暂存内容以及使 `git commit -a` 提交这些文件非常有用。 + +--refresh:: + 不添加文件,只刷新索引中的 stat() 信息。 + +--ignore-errors:: + 如果由于索引错误而无法添加某些文件,请不要中止操作,而是继续添加其他文件。命令仍应以非零状态退出。可以将配置变量 `add.ignoreErrors` 设置为 true,使其成为默认行为。 + +--ignore-missing:: + 此选项只能与 --dry-run 一起使用。通过使用此选项,用户可以检查是否会忽略任何给定的文件,无论它们是否已存在于工作树中。 + +--no-warn-embedded-repo:: + 默认情况下, `git add` 将在向索引添加嵌入式存储库时发出警告,而不使用 `git submodule add` 在 `.gitmodules` 中创建条目。此选项将抑制警告(例如,如果手动对子模块执行操作)。 + +--renormalize:: + 对所有跟踪文件重新应用 “清除” 程序,将它们强制添加到索引中。 这在更改 `core.autocrlf` 配置或 `text` 属性后非常有用,可以纠正添加文件时错误的 CRLF/LF 行尾。 该选项意味着 `-u` 。由于 CRLF 字符不会被清除,因此 CRLF 会被清除为 LF,而 CRCRLF 序列只会被部分清除为 CRLF。 + +--chmod=(+|-)x:: + 重写添加文件的可执行位。可执行位仅在索引中更改,磁盘上的文件保持不变。 + +--pathspec-from-file=:: + Pathspec 在 `<文件>` 中传递,而不是在命令行参数中传递。如果 `<文件>` 正好是 `-`,则使用标准输入。路径规范元素由 LF 或 CR/LF 分隔。可以引用配置变量 `core.quotePath` 的路径规范元素(请参见 linkgit:git-config[1])。另请参见 `--pathspec-file-nul` 和全局 `--literal-pathspecs`。 + +--pathspec-file-nul:: + 只有在使用 `--pathspec-from-file` 选项时才有意义。指定路径元素用 NUL 字符分隔,所有其他字符都按字面意思(包括换行符和引号)表示。 + +\--:: + 此选项可用于分离命令行选项和文件列表(当文件名可能被误认为命令行选项时非常有用)。 + + +实例 +-- + +* 添加 `Documentation` 目录及其子目录下所有 `*.txt` 文件的内容: ++ +------------ +$ git add Documentation/\*.txt +------------ ++ +注意,在本例中,星号 `*` 是从 shell 中引入的;这使得该命令可以包含 `Documentation/` 的子目录中的文件。 + +* 从所有 git-*.sh 脚本中添加内容: ++ +------------ +$ git add git-*.sh +------------ ++ +因为这个示例允许 shell 扩展星号(即显式列出文件),所以它不包含 `subdir/git-foo.sh`。 + +交互模式 +---- +当命令进入交互模式时,它将显示 `status` 子命令的输出,然后进入其交互命令循环。 + +命令循环显示可用的子命令列表,并提示 "What now>"。通常,当提示以单个 '>' 结尾时,您只能选择给定的一个选项并键入回车,如下所示: + +------------ + *** Commands *** + 1: status 2: update 3: revert 4: add untracked + 5: patch 6: diff 7: quit 8: help + What now> 1 +------------ + +你也可以输入 `s`、`sta` 或 `status`,只要候选项是唯一的。 + +主命令循环有 6 个子命令(包括帮助和退出)。 + +状态:: + + 这将显示每个路径下 HEAD 和索引之间的更改(即,如果输入 `git commit`,将提交什么),以及索引和工作目录树文件之间的更改(即,在输入 `git commit` 之前,执行 `git add` 可以进一步暂存什么)。示例输出如下: ++ +------------ + staged unstaged path + 1: binary nothing foo.png + 2: +403/-35 +1/-1 git-add--interactive.perl +------------ ++ +它表明 foo.png 与 HEAD 有区别(但其是二进制的,因此无法显示行数),索引副本和工作目录树版本之间没有区别(如果工作目录树版本也不同,`nothing` 的位置上会显示 `binary` )。另一个文件 git add-{litdd}interactive.perl 添加了403 行,如果提交索引中的内容,则删除了 35 行,但工作目录树文件有额外修改(一次添加一次删除)。 + +update:: + + 这将显示状态信息并发出 "Update>>" 提示。当提示以 '>>' 结尾时,可以进行多个选择,并用空格或逗号连接。你也可以输入范围。例如:"2-5 7,9" 将从列表中选择 2、3、4、5、7、9。如果省略一个范围中的第二个数字,则将获取所有剩余的补丁。例如:"7-" 从列表中选择 7、8、9。你可以输入 '*' 来选择全部补丁。 ++ +您选择的内容会用 '*' 突出显示,如下所示: ++ +------------ + staged unstaged path + 1: binary nothing foo.png +* 2: +403/-35 +1/-1 git-add--interactive.perl +------------ ++ +要删除选定内容,请在输入前加上 `-`,如下所示: ++ +------------ +Update>> -2 +------------ ++ +进行选择后,输入空行,以便为索引中选定的路径暂存工作目录文件的内容。 + +还原:: + + 它有一个与 'update' 非常相似的交互过程,所选路径的暂存信息将还原为 HEAD 版本。还原新路径将使它们不被追踪。 + +添加未跟踪文件:: + + 它有一个与 'update' 和 'revert' 非常相似的交互过程,允许您向索引添加未跟踪的路径。 + +补丁:: + + 这允许您从类似 'status' 命令的选择中选择一条路径。在选择路径之后,它将显示索引和工作树文件之间的差异,并询问您是否要暂存每个块的更改。您可以选择以下选项之一并输入回车: + + y - 暂存此区块 + n - 不暂存此区块 + q - 退出;不暂存包括此块在内的剩余的区块 + a - 暂存此块与此文件后面所有的区块 + d - 不暂存此块与此文件后面所有的 区块 + g - 选择并跳转至一个区块 + / - 搜索与给定正则表达示匹配的区块 + j - 暂不决定,转至下一个未决定的区块 + J - 暂不决定,转至下一个区块 + k - 暂不决定,转至上一个未决定的区块 + K - 暂不决定,转至上一个区块 + s - 将当前的区块分割成多个较小的区块 + e - 手动编辑当前的区块 + ? - 输出帮助 ++ +在决定了所有块的操作后,如果有选择的区块,则会使用其来更新索引。 ++ +通过将配置变量 `interactive.singleKey` 设置为 `true`,在此处可以不必键入回车。 + +diff:: + + 这使您可以查看要提交的内容(即,在 HEAD 和索引之间)。 + + +编辑补丁 +---- + +调用 `git add -e` 或从交互式块选择器中选择 `e` 命令,将在编辑器中打开一个补丁。编辑器退出后,结果将应用于索引。您可以随意对补丁进行任何更改,但是请注意,某些更改可能会导致混乱,甚至导致补丁无法使用。如果您想完全中止该操作(即不在索引中更新内容),只需删除补丁中的所有行。下面的列表描述了您可能会在补丁中看到的一些常见内容,以及对其进行哪些编辑操作才有意义。 + +-- +添加的内容:: + +添加的内容以 "{plus}" 开头的行表示。您可以删除它们以防止暂存。 + +删除的内容:: + +删除的内容以 "-" 开头的行表示。您可以通过将 "-" 转换为 " "(空格)来防止将其删除。 + +修改的内容:: + +修改后的内容由 "-" 行(删除旧内容)和 "{plus}" 行(添加替换内容)表示。通过将 "-" 行转换为 " ",并删除 "{plus}" 行,可以防止临时进行修改。请注意,只修改其中一个可能会给索引带来混乱的更改。 +-- + +还可以执行更复杂的操作。但是请注意,由于补丁仅应用于索引而不是工作目录树,因此工作树似乎会 "撤消" 索引中的更改。例如,在索引中添加一行,而该行不在 HEAD 或工作目录树。此时会暂存其以进行提交,但是该行似乎在会在工作目录树中进行还原。 + +避免使用这些构造,除非格外小心。 + +-- +删除未改动的内容:: + +索引和工作树之间没有区别的内容可能会显示在上下文行中,以 " "(空格)开头。您可以通过将空格转换为 "-" 来暂存要删除的上下文行。生成的工作目录树文件将重新添加内容。 + +修改现有的内容:: + +也可以通过暂存上下文行(通过将 " " 转换为 "-")以进行删除来修改上下文行,并在其中添加新内容的 "{plus}" 行。类似地,可以修改 "{plus}" 行以进行现有内容的添加或修改。在所有情况下,新的修改都将在工作目录树中还原。 + +新的内容:: + +您还可以添加补丁中不存在的新内容。只需添加新行,每行以 "{plus}" 开头。添加的内容将还原到工作目录树中。 +-- + +还有一些操作应完全避免,因为它们会使补丁无法应用: + +* 添加上下文(" ")行或添加删除("-")行 +* 删除上下文行或删除标记为删除的行 +* 修改上下文或删除行的内容 + +配置 +-- + + + +[WARNING] +==== +Missing `zh_HANS-CN/includes/cmd-config-section-all.txt` + +See original version for this content. +==== + +[] + + + +[WARNING] +==== +Missing `zh_HANS-CN/config/add.txt` + +See original version for this content. +==== + +[] + +参见 +-- +linkgit:git-status[1] linkgit:git-rm[1] linkgit:git-reset[1] linkgit:git-mv[1] linkgit:git-commit[1] linkgit:git-update-index[1] + +GIT +--- +属于 linkgit:git[1] 文档 diff --git a/_generated-asciidoc/09136b1123f08c10b77f0c566f18d23fedff8228 b/_generated-asciidoc/09136b1123f08c10b77f0c566f18d23fedff8228 new file mode 100644 index 0000000000..62f8dc413e --- /dev/null +++ b/_generated-asciidoc/09136b1123f08c10b77f0c566f18d23fedff8228 @@ -0,0 +1,341 @@ +git-clone(1) +============ + +名称 +-- +git-clone - 克隆一个仓库到新目录 + + +概述 +-- +[verse] +'git clone' [--template=<模板目录>] + [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror] + [-o <名称>] [-b <名称>] [-u <上传包>] [--reference <仓库>] + [--dissociate] [--separate-git-dir ] + [--depth <深度>] [--[no-]single-branch] [--no-tags] + [--recurse-submodules[=<路径规范>]] [--[no-]shallow-submodules] + [--[no-]remote-submodules] [--jobs ] [--sparse] [--[no-]reject-shallow] + [--filter=<过滤器> [--also-filter-submodules]] [--] <仓库> + [<目录>] + +描述 +-- + +将仓库克隆到新创建的目录中,为克隆仓库中的每个分支创建远程跟踪分支(使用 `git branch --remotes` 可见),并创建、签出从克隆仓库当前活动的分支派生的初始分支。 + +克隆后,执行不带参数的 `git fetch` 命令将更新所有远程跟踪的分支,执行不带参数的 `git pull` 命令将另把远程 master 分支合并到当前 master 分支(如果存在)(如果附加 "--single-branch" 参数,则情况不同;请参阅下文)。 + +通过在 `refs/remotes/origin` 下创建对远程分支头的引用,并通过初始化 `remote.origin.url` 和 `remote.origin.fetch` 配置变量来创建此默认配置。 + + +选项 +-- +-l:: +--local:: + 当要从中进行克隆的仓库位于本地计算机上时,此标志会绕过常规的 “Git感知” 传输机制,并通过为 HEAD 以及对象和引用目录内的所有内容创建副本以克隆仓库。尽可能将 `.git / objects /` 目录下的文件进行硬链接以节省空间。 ++ +如果将存储库指定为本地路径(例如,`/path/to/repo`),--local 参数实质上是不起作用的。如果将仓库指定为 URL,则忽略此标志(不使用本地优化)。指定 `--no-local` 将在给定 `/path/to/repo` 时覆盖默认值,而使用常规 Git 传输方式。 ++ +如果仓库的 `$GIT_DIR/objects` 有符号链接或者它就是符号链接,克隆将会失败。这是一项安全措施,以防止通过解读符号链接意外地复制文件。 ++ +*注意*:此操作可能会与源仓库的并发修改发生冲突,类似于在修改 `src` 时运行 `cp -r src dst` 。 + +--no-hardlinks:: + 从本地文件系统上的仓库进行克隆时,强制复制 `.git / objects` 目录下的文件,而不使用硬链接。如果您要备份仓库,则可能需要这样做。 + +-s:: +--shared:: + 当要克隆的仓库位于本地计算机上时,不使用硬链接,而是自动设置 `.git/objects/info/alternates` 与源仓库共享对象。生成的仓库开始时没有其自己的任何对象。 ++ +*注意*:这可能是一个危险的操作;除非你了解它的作用,否则*不要*使用它。如果使用该选项克隆源仓库,然后删除源仓库中的分支(或使用任何其他 Git 命令使现有提交不再被引用),一些对象可能会变得不再被引用(或悬空)。这些对象可能会被自动调用 `git maintenance run --auto` 的正常 Git 操作(如 `git commit`)移除。(参见 linkgit:git-maintenance[1])如果这些对象被移除,并被克隆的版本库引用,那么克隆的版本库就会损坏。 ++ +请注意,在使用 `--shared` 选项克隆的仓库中运行不带 `--local` 选项的 `git repack` 命令会将源仓库中的对象复制到克隆存储库中的包中,从而消除使用 `clone --shared` 节省的磁盘空间。不过,运行 `git-gc` 是安全的,它默认使用 `--local` 选项。 ++ +如果要断开用 `--shared` 克隆的仓库对其源仓库的依赖关系,只需运行 `git repack -a` 即可将源仓库中的所有对象复制到克隆仓库中的一个包中。 + +--reference[-if-able] <仓库>:: + 如果引用仓库位于本地计算机上,则自动设置 `.git / objects / info / alternates` 以从引用仓库重获取对象。使用现有的仓库作为备用仓库,则将需要从要克隆的仓库中复制较少的对象,从而降低了网络和本地存储成本。当使用 `--reference-if-able` 时,不存在的目录会被警告跳过,而不是中止克隆。 ++ +*注意*:请参阅 `--shared` 选项的注释,以及 `--dissociate` 选项。 + +--dissociate:: + 从用 `--reference` 选项指定的引用仓库中借用对象仅是为了减少网络传输,并在克隆后通过制作借用对象的必要本地副本来停止从对象借用。当从已经从另一个仓库借用对象的存储库进行本地克隆时,也可以使用此选项:新仓库将从同一个仓库借用对象,并且该选项可用于停止借用。 + +-q:: +--quiet:: + 静默操作。进度不会报告给标准错误流。 + +-v:: +--verbose:: + 冗余运行。不影响向标准错误流报告进度状态。 + +--progress:: + 默认情况下,附加到终端时,会将进度状态报告给标准错误流,除非指定了 `--quiet` 选项。即使标准错误流未定向到终端,该标志也会强制显示进度状态。 + +--server-option=<选项>:: + 使用协议版本2进行通信时,将给定的字符串传输到服务器。给定的字符串不得包含NUL或LF字符。服务器对服务器选项(包括未知选项)的处理是取决于服务器。当给出多个`--server-option=