Menu
CoddyTech

Git Add

最后更新

git add 把更改放进暂存区(也叫索引),标记它们将被包含在下一次提交中。你可以暂存单个文件,用 git add . 一次暂存所有更改,或者用 -p 交互式地挑选部分改动。暂存是编辑文件和提交之间的一步。

在终端在线编辑器中试试这些命令:浏览器里就有一个真正的 shell,无需安装任何东西。

git add 把工作区的改动复制到暂存区,此时还没有任何提交。

语法

命令作用
git add file.txt暂存一个文件
git add .暂存当前文件夹中的所有更改
git add -A暂存整个仓库中的所有更改
git add -p交互式地暂存选中的改动块
git add *.js暂存匹配某个模式的文件
git restore --staged file.txt取消暂存一个文件(保留更改)

常见用法

目标命令
暂存所有更改git add .
暂存文件的一部分git add -p
取消暂存一个文件git restore --staged file.txt
查看暂存了哪些内容git status

Git add 常见问题

git add 是做什么的?
它用来暂存更改:把更改复制到索引中,让它们成为下一次提交的一部分。编辑文件并不会自动暂存它;你需要运行 git add <file> 把它标记为就绪。然后 git commit 会准确记录已暂存的内容。有了暂存,你可以先提交一部分更改,把其他的留到以后。
git add . 和 git add -A 有什么区别?
git add . 暂存当前目录及其子目录中的更改,包括新增、修改和删除的文件。git add -A 暂存整个仓库的更改,不管你当前在哪个目录。在仓库根目录下两者效果相同;当你在子文件夹中时才会有区别。
如何只暂存文件的一部分?
使用 git add -p(补丁模式)。Git 会逐个带你查看每处改动(“hunk”),询问是否暂存,这样你就可以把同一个文件里互不相关的修改拆分到不同的提交中。按 y 暂存这块改动,按 n 跳过,按 s 把它拆得更细。
如何取消暂存一个文件?
运行 git restore --staged <file>(新版 Git)或 git reset <file>(旧版)。两者都会把文件从暂存区移除,同时保留你在工作区中的修改,作用正好与 git add 相反。
可以在线练习吗?
可以。打开终端在线编辑器,就能在浏览器里真正的 shell 中运行 git add,无需安装任何东西。Coddy 免费的互动式 Git 课程也会一步步讲解暂存和提交。
Coddy 编程语言插图

在 Coddy 学习 Git

开始