Git Add 命令详解
git add
命令是 Git 工作流中的一个关键步骤,用于将文件的更改添加到暂存区(staging area),以便在下一次提交(commit)时包含这些更改。通过使用 git add
,你可以精确控制哪些更改会被包含在下一次提交中。
常见用法及示例
- 添加单个文件
git add <file>
将指定的文件添加到暂存区。
示例:
git add README.md
- 添加多个文件
git add <file1> <file2> <file3>
将多个指定的文件添加到暂存区。
示例:
git add index.html style.css script.js
- 添加所有更改的文件
git add .
将当前目录及其子目录中所有更改的文件添加到暂存区。这包括新文件、已修改文件和删除的文件。
- 添加某个目录中的所有文件
git add <directory>/
将指定目录中的所有文件和子目录添加到暂存区。
示例:
git add src/
- 添加符合特定模式的文件
git add '*.txt'
使用通配符模式,添加所有匹配模式的文件。
示例:
git add '*.txt'
- 交互式添加文件
git add -i
以交互式模式添加文件,允许你选择哪些更改要添加到暂存区。
- 分块添加文件
git add -p
以分块模式添加文件,允许你选择文件的哪些部分要添加到暂存区。
进阶用法
- 强制添加被忽略的文件
git add -f <file>
即使文件在 .gitignore
文件中被忽略,也强制将其添加到暂存区。
示例:
git add -f debug.log
- 仅添加已修改的文件
git add -u
仅将已修改和已删除的文件添加到暂存区,而不包括新文件。
示例:
git add -u
- 仅添加已修改的文件(指定路径)
git add -u <path>
仅将指定路径中的已修改和已删除的文件添加到暂存区。
示例:
git add -u src/
使用示例
以下是一个典型的使用 git add
的工作流示例:
- 创建或修改文件:
echo "Hello, World!" > hello.txt
- 查看状态:
git status
- 将新文件添加到暂存区:
git add hello.txt
- 再次查看状态,确认文件已添加:
git status
- 提交更改:
git commit -m "Add hello.txt with greeting message"
一次性运行的 Bash 脚本
将常用的 git add
命令放在一个 Bash 脚本中,方便一次性执行:
#!/bin/bash
# 创建新文件
echo "Hello, World!" > hello.txt
# 查看状态
git status
# 将新文件添加到暂存区
git add hello.txt
# 提交更改
git commit -m "Add hello.txt with greeting message"
# 添加多个文件
git add index.html style.css script.js
# 提交更改
git commit -m "Add multiple files for the web project"
# 添加当前目录及其子目录中所有更改的文件
git add .
# 提交更改
git commit -m "Add all changes"
# 交互式添加文件
git add -i
# 分块添加文件
git add -p
# 强制添加被忽略的文件
git add -f debug.log
# 仅添加已修改和已删除的文件
git add -u
# 仅添加指定路径中的已修改和已删除的文件
git add -u src/
保存上述内容到一个脚本文件(例如 git_add_commands.sh
),然后运行该脚本即可一次性执行所有命令。请根据实际情况替换示例中的文件名和路径。