git add
将工作目录中的文件变更(新增/修改/删除)添加到暂存区(Staging Area),准备后续提交。需显式指定文件路径或使用通配符(如 git add .
)。git commit -a
自动将所有已跟踪文件的修改/删除操作添加到暂存区,并立即提交。相当于组合了 git add -u
(不包含新增文件)和 git commit
,但不会自动添加未跟踪的新文件。| 行为 | git add
| git commit -a
|
|---------------------|-------------------------------|-------------------------------|
| 作用范围 | 需手动指定文件或目录 | 仅限已跟踪文件的修改/删除 |
| 是否提交 | 仅暂存,需单独执行 commit
| 直接提交 |
| 新增文件处理 | 可添加新文件(git add .
) | 需手动先 add
新文件 |
git add
适用场景git commit -a
适用场景git commit -a
未提交新文件-a
仅处理已跟踪文件。git add
新文件,或改用 git add . && git commit
。-a
可能包含意外修改。git add -p
或分步操作以审查变更。git add
选择性暂存,再分次提交。git add
+ git commit
git commit -a
(需注意范围限制)git add
显式添加。