git add 相关命令

本文详细介绍了Git中三个关键命令的用法:git add .用于监控并提交所有工作区的变化;git add -u用于提交已跟踪文件的修改和删除,但不包括新文件;git add -A则结合两者功能,全面提交所有变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from: https://www.cnblogs.com/skura23/p/5859243.html

契机:在使用命令提交项目的时候,修改的文件太多,一个一个的添加是在是太坑爹了。 使用 git add . 的命令就直接搞定了。

git add .
监控工作区的状态树,把工作时的所有变化提交到暂存区。包括文件内容修改(modified)以及新文件(new),但不包括
不被删除的文件。

git add -u
仅监控已经被add的文件(即tracked file),将被修改的文件提交到暂存区。不会提交新文件(untracked file)。
(是git add -update 的缩写)

git add -A
是上面两个功能的合集 (git add —all 的缩写)

总结:
· git add -A 提交所有变化
· git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
· git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

#### Git Add 命令详解及与永久修改Git默认跟踪行为的关系 --- ### 一、`git add` 命令的核心功能 `git add` 是 Git 中用于将文件从工作区(Working Directory)添加到暂存区(Staging Area)的关键命令。其主要作用是标记哪些变更应该被纳入下一次提交的一部分。 1. **单个文件添加** 将特定文件加入暂存区: ```bash git add 文件名 ``` 2. **全部文件添加** 将所有更改过的文件一次性加入暂存区: ```bash git add . ``` 3. **忽略 `.gitignore` 的强制添加** 即使某些文件被列入了 `.gitignore`,也可以通过 `-f` 参数强行将其添加至暂存区: ```bash git add -f 被忽略的文件名 ``` 4. **仅添加部分改动** 对于大文件或者只想提交部分内容的情况,可以使用交互模式: ```bash git add -p ``` 以上操作均会影响暂存区的状态,但不会立即触发提交动作[^1]。 --- ### 二、`git add` 和默认跟踪行为之间的联系 虽然 `git add` 主要负责管理暂存区的内容,但它间接参与了默认跟踪行为的设定过程。例如,在创建新分支时,默认情况下并不会自动设置远程跟踪关系。然而,如果希望某个分支能够始终追踪远程对应分支,则可以在首次提交前利用 `git add` 完成必要的准备工作。 假设需要为一个新的特性分支 (`feature`) 自动建立与远程分支的关联: 1. 创建并切换到新的分支: ```bash git checkout -b feature ``` 2. 修改代码并将所需更改变更为已暂存状态: ```bash git add . ``` 3. 提交这些变化的同时初始化向上游分支的链接: ```bash git commit -m "Initial changes" git push --set-upstream origin feature ``` 此时,未来在这个分支上的任何推送都会默认指向刚刚设立的目标位置,从而实现了某种程度上的“永久化”。不过需要注意的是,这一步骤本身并不依赖于具体的 `add` 方法调用方式;它更多取决于后续如何配置以及实际使用的推送选项[^5]。 --- ### 三、结合实例分析 考虑这样一个场景:团队决定统一采用某种命名约定来组织各自的工作流,并希望通过简化指令减少误操作风险。为此,除了调整全局偏好外,还可以制定标准化流程如下所示: 1. 设定初始环境变量以便每次新开始都能继承期望属性: ```bash git config --global init.defaultBranch main git config --global branch.autoSetupMerge always ``` 2. 当开发人员按照既定规则启动任务之后,只需简单几步即可完成整个周期内的协作准备活动: ```bash # 开启专题讨论线程 git checkout -b issue-123 # 更新资源清单 echo 'New Feature' >> README.md git add README.md # 记录进展状况 git commit -m "[Issue #123] Documented new functionality." # 启动共享机制 git push --set-upstream origin issue-123 ``` 这样不仅明确了责任归属还促进了透明度提升,同时也减少了因频繁输入冗长参数带来的疲劳感[^4]。 --- 尽管如此,值得注意的一点在于上述提到的所有措施都只是辅助性质而非绝对意义上的锁定策略——即任何时候只要用户愿意仍然有机会手动干预甚至完全颠覆预设好的框架结构。因此建议定期回顾项目健康指标以确保长期稳定性得到保障。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值