git add 命令
git add
命令用于将工作区中的文件修改添加到暂存区(staging area),为下一次提交(git commit
)做准备。它不会直接提交更改,而是告诉 Git:这些改动我准备好了,接下来要提交了。
通常你会在每次修改完文件之后使用 git add
,可以选择添加全部修改,也可以只添加部分修改(通过交互模式或补丁模式)。值得一提的是,git add
不仅可以添加新文件和修改,也可以将删除操作加入暂存区。
提示
Git 工作流程中的关键步骤:工作区 → 暂存区 → 本地仓库。
命令语法
git add
命令的语法格式如下:
git add [选项] <路径>
或添加多个路径:
git add <文件1> <文件2> ...
常用选项
-A, --all
:添加所有更改,包括删除的文件。-u
:只添加已追踪(tracked)文件的修改或删除,不包括新文件。-n, --dry-run
:试运行,不真正添加文件,只列出将被添加的文件。-v, --verbose
:显示详细的处理信息。-p, --patch
:交互式地选择部分内容进行添加(用于精细控制提交内容)。-i, --interactive
:进入交互模式,可以逐项选择添加哪些内容(适用于复杂修改场景)。-f, --force
:强制添加被.gitignore
忽略的文件。
常用参数
.
:添加当前目录及子目录下的所有更改(新建、修改、删除)文件。
使用示例
添加单个文件(将 index.html
添加到暂存区):
git add index.html
添加当前目录下的所有修改,等价于递归添加当前目录中所有新建或修改的文件:
git add .
添加所有变化(包括已删除的文件,确保与工作区完全同步):
git add -A
# 或
git add --all
只添加已追踪文件的修改和删除(新建文件不会被加入暂存区):
git add -u
交互式选择添加,适合只提交部分修改内容的场景(该命令会进入一个交互式界面,逐块展示文件的修改,并询问是否添加):
git add -p
强制添加 .gitignore
中的文件(即使该文件在 .gitignore
中,也会被强制添加到暂存区):
git add -f config.local.json
查看哪些文件将被添加(不会真正添加,只是展示哪些文件会被添加,相当于“预览”,一般用于核对内容):
git add -n .
交互式添加(进入操作菜单,你可以逐个文件选择要添加哪些内容,适合细粒度控制提交行为):
git add -i
小贴士
- 开发中推荐使用
git add -p
或git add -i
交互式提交来避免一次性提交过多无关内容。 - 使用
git status
可以随时查看哪些文件已加入暂存区,哪些未加入。