跳到主要内容

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 -pgit add -i 交互式提交来避免一次性提交过多无关内容。
  • 使用 git status 可以随时查看哪些文件已加入暂存区,哪些未加入。
知心 MBTI 微信小程序
「知心MBTI」微信小程序,探索你的 MBTI 人格类型,发现潜能。微信扫码免费测试 🎉