git add
·
文章目录
1. 简介
git add 的核心作用是将工作区(Working Directory)中修改、新增或删除的文件,添加到暂存区(Staging Area),为下一次 git commit 做准备。
你可以把 git add 想象成一个 “挑选器”,让你有选择地决定哪些改动需要被记录到下一次提交中。
2. 格式
git add [options] [--] [<pathspec>…]
3. 选项
-A, --all, --no-ignore-removal
添加所有文件的修改(包括新增、修改、删除),推荐使用
. (点号)
添加当前目录及其子目录下所有新增和修改的文件(不包括删除操作)。注意:2.x 版本开始,可以添加删除的文件
-u, --update
只添加已跟踪文件的修改和删除(不包括新增文件)
-p, --patch
交互式选择,将文件修改拆分成小块,有选择地暂存
-f, --force
强制添加,即使文件被 .gitignore 忽略
-v, --verbose
显示被添加的详细文件列表
-i, --interactive
进入交互式界面,按需选择要添加的变更
-n, --dry-run
模拟执行,显示哪些文件会被添加,但不实际执行
--ignore-errors
在处理某些文件时遇到错误(如权限不足、文件损坏等),忽略这些错误,继续添加其他能正常处理的文件。该命令仍将以非零状态退出。可以设置配置变量“add.ignoreErrors”为“true”以使此为默认行为。
4. 示例
4.1 添加单个文件
git add main.go
4.2 添加多个文件
git add main.go utils.go
4.3 添加所有文件(常用)
# 添加当前目录及其子目录下所有新增和修改的文件(不包含删除)
# Git 2.x 版本开始,可以添加删除的文件
git add .
# 添加全仓库所有变更(包含删除,推荐)
git add -A
4.4 添加指定类型文件
git add *.go
4.5 添加整个目录
git add internal/
4.6 交互式添加部分修改
git add -p main.go
Git 会逐个展示修改的“代码块”,询问是否暂存,可回答:
- y:暂存当前块
- n:不暂存
- s:拆分成更小的块
- e:手动编辑
- q:退出
4.7 强制添加被忽略的文件
git add -f config/local.env
4.8 查看暂存区改动
git diff --staged
5. 注意事项
| 注意事项 | 说明 |
|---|---|
| 工作目录影响 | git add . 只影响当前目录及子目录,建议在仓库根目录执行 |
| 误添加可撤销 | git restore --staged <file> 可将文件从暂存区移出 |
| 敏感文件 | 避免用 -f 强制添加 .gitignore 中的文件(如 .env) |
| 提交前建议检查 | 用 git status 和 git diff --staged 确认暂存内容是否符合预期 |
6. 小结
git add 是 Git 提交的第一步,用于将工作区的改动“挑选”到暂存区。
日常推荐使用 git add -A 确保所有变更都被记录,用 git status 和 git diff --staged 确认后再提交。
参考文献
更多推荐



所有评论(0)