Git Add
最后更新
git add 把更改放进暂存区(也叫索引),标记它们将被包含在下一次提交中。你可以暂存单个文件,用 git add . 一次暂存所有更改,或者用 -p 交互式地挑选部分改动。暂存是编辑文件和提交之间的一步。
在终端在线编辑器中试试这些命令:浏览器里就有一个真正的 shell,无需安装任何东西。
语法
| 命令 | 作用 |
|---|---|
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 课程也会一步步讲解暂存和提交。