多文件多次git add

最终状态结论

暂存区里同时存放:
文件1(第一次修改后的完整快照) + 文件2(第二次修改后的完整快照)

分步拆解全过程

  1. 初始:工作区、暂存区、最新提交版本完全一致
  2. 修改文件1内容
    仅工作区变动,暂存区无变化
  3. 执行 git add .
    扫描所有改动文件,将文件1当前快照存入暂存区
    此刻暂存区:存有文件1新版本
  4. 接着修改文件2内容
    文件2只在工作区改动;暂存区依旧保留着文件1的快照,不受本次修改影响
  5. 再次执行 git add .
    遍历项目所有变更文件,发现文件2有改动,把文件2最新快照追加存入暂存区

    文件1内容全程没再改动,本次add不会触碰、覆盖暂存区里的文件1

整体三块区域对比

  • HEAD(上次提交):文件1、文件2都是旧原版
  • 暂存区:文件1(v1)、文件2(v2)两个修改后的文件都在内,等待commit提交
  • 工作区:和暂存区内容一模一样

关键要点

  1. git add . 只会同步当前有变动的文件到暂存区,已经存入暂存区且后续未修改的文件,会完好保留;
  2. 多次add不同文件,暂存区是累积存放所有被暂存的文件快照,不会清空;
  3. 只有执行 git commit 之后,暂存区才会整体清空;
  4. 若中途回头修改文件1,再执行一次git add .,才会用新内容覆盖暂存区里文件1旧快照。

查看验证命令

# 查看所有已暂存、待提交的内容差异
git diff --cached
# 查看暂存区文件清单
git ls-files
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值