git add说明文档

NAME

git-add - Add file contents to the index,增加文件内容到暂存区

SYNOPSIS

git add [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]
        [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]]
        [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize]
        [--chmod=(+|-)x] [--pathspec-from-file=<file> [--pathspec-file-nul]]
        [--] [<pathspec>...]

OPTIONS

<pathspec>...: 要添加内容的文件路径。使用文件通配符(例如:*.c)可以添加所有匹配的文件; 还可以给出目录,来更新目录下的改动。

请注意,旧版的Git会忽略已删除的文件。 如果要添加修改的文件或新文件,而忽略已删除的文件,请使用--no-all选项。

-n, --dry-run: Don’t actually add the file(s), just show if they exist and/or will be ignored.
不要实际添加文件,仅仅是显示他们是否存在,或者是否会被忽略。
-v, --verbose: 打印详细信息
-f, --force: Allow adding otherwise ignored files.允许添加其他被忽略的文件。
-i, --interactive: 以交互模式增加文件内容到暂存区,可以提供可选的路径参数,以将操作限制为工作树的子集。
-p, --patch: 以交互模式运行,在暂存区和工作区之间选择补丁块并将其添加到暂存区。这使用户有机会在将修改的内容添加到暂存区之前检查文件修改内容。
-e, --edit: 在编辑器中打开差异与索引,然后让用户对其进行编辑。 关闭编辑器后,调整大块头并将修补程序应用于索引。
此选项的目的是选择要应用的补丁程序的行,甚至修改要暂存的行的内容。 与使用交互式大块选择器相比,这可以更快,更灵活。 但是,很容易混淆自己并创建不适用于索引的补丁
-u, --update: 表示将修改的文件和删除的文件添加到暂存区,不包括新增加的文件。没有指定文件时,则将更新整个工作树中所有跟踪的文件(旧版本的Git则是更新当前目录以及其子目录)
-A, --all, --no-ignore-removal: 表示除了<pathspec> 指定的文件加入暂存区,还会将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区。
如果在使用该选项时未给出<pathspec>,则将更新整个工作树中的所有文件(旧版本的Git用于将更新限制为当前目录及其子目录)
--no-all, --ignore-removal: 添加新文件与修改的文件到暂存区,忽略从工作区删除的文件。不使用<pathspec>时,此选项为空操作。
-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 submodule add在.gitmodules中创建条目时,git add将发出警告。 此选项将禁止显示警告
--renormalize: 将已跟踪的文件全部清除,再重新加入暂存区。在更改core.autocrlf配置或text属性后,此功能很有用,以更正添加有错误CRLF / LF行尾的文件。 此选项暗含-u。
--chmod=(+|-)x: 覆盖添加文件的可执行位。 可执行位仅在暂存区中更改,磁盘上的文件保持不变。
--: 此选项可用于将命令行选项与文件列表分开(当文件名可能误认为命令行选项时很有用)。

EXAMPLES

从文档目录及其子目录下的所有* .txt文件添加内容:

$ git add Documentation/\*.txt

经shell解析后变为git add Documentation/*.txt,这使命令可以包含Documentation /目录的子目录中的文件。

git-*.sh脚本添加内容:

git add git-*.sh

经shell解析后变为git add git-foo.sh git-test.sh..., 所以是不会检索子目录的git-*.sh

EDITING PATCHES

添加的内容
添加的内容以“ +”开头的行表示。您可以删除它们以防止暂存。
删除的内容
删除的内容以“-”开头的行表示。您可以通过将“-”转换为“ ”(空格)来防止将其删除。
修改的内容
通过将“-”行转换为“ ”,并删除“+”行,可以防止临时进行修改。请注意,只修改其中一个可能会给索引带来混乱的更改。
删除未改动的内容
索引和工作树之间没有区别的内容可能会显示在上下文行中,以“ ”(空格)开头。您可以通过将空格转换为“-”来暂存要删除的上下文行。生成的工作树文件将重新添加内容。
修改现有的内容
可以通过暂存上下文行(通过将“ ”转换为“-”)以进行删除来修改上下文行,并在其中添加新内容的“+”行。类似地,可以修改“+”行以进行现有内容的添加或修改。
新的内容
您还可以添加补丁中不存在的新内容。只需添加新行,每行以“+”开头。

还有一些操作应完全避免,因为它们会使补丁无法应用:

  • 添加上下文(“ ”)行或添加删除(“-”)行(除了使用+来添加行,不应该有其他方式的添加行,导致内容不一致)
  • 删除上下文行或删除标记为删除的行(除了删除使用+的行,不应该其他方式删除行,会导致内容不一致)
  • 修改上下文或删除行的内容(由于行内容不一致,会导致无法找到对应行,补丁失败)

参考

https://git-scm.com/docs/git-add/zh_HANS-CN

### 如何使用 `git add` 命令添加中文文档到暂存区 在 Git 中,`git add` 命令用于将文件的修改从工作区添加到暂存区。无论文件名是中文还是其他语言,只要文件存在于工作区中,都可以通过 `git add` 命令将其添加到暂存区。 以下是具体的操作方法: 1. **指定单个中文文档** 如果需要添加一个特定的中文文档到暂存区,可以使用以下命令: ```bash git add 文件名.docx ``` 或者如果文件名包含空格或特殊字符,可以用引号括起来: ```bash git add "中文文档 名称.docx" ``` 2. **添加所有中文文档** 如果工作区中有多个中文文档,并且希望一次性将它们添加到暂存区,可以使用通配符 `*`。例如,假设所有中文文档都是 `.docx` 格式: ```bash git add *.docx ``` 3. **添加当前目录下所有文件(包括中文文档)** 如果需要将当前目录下的所有文件(包括中文文档)添加到暂存区,可以使用以下命令: ```bash git add . ``` 此命令会递归地将当前目录及其子目录中的所有修改和新增文件添加到暂存区[^1]。 4. **注意事项** - 确保中文文档已经存在于工作区中,否则 `git add` 无法找到该文件。 - 如果文件名包含特殊字符或空格,请用双引号括起文件名以避免命令解析错误。 - 执行 `git add` 后,可以通过 `git status` 命令检查文件是否成功添加到暂存区[^2]。 ### 示例代码 假设当前目录下有一个名为“示例文档.docx”的中文文档,执行以下命令将其添加到暂存区: ```bash git add "示例文档.docx" ``` 如果需要添加当前目录下所有 `.docx` 格式的中文文档,可以运行: ```bash git add *.docx ``` 最后,检查暂存区状态: ```bash git status ``` ### 工作区与暂存区的关系 Git 的工作区、暂存区和本地仓库之间有明确的分工。执行 `git add` 命令时,实际上是将工作区的修改内容移动到暂存区,为后续提交到本地仓库做准备[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值