V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
huzhikuizainali
V2EX  ›  git

多次 Git add 的垃圾对象为什么要保留在暂存区?

  •  
  •   huzhikuizainali · 2023-05-25 05:29:18 +08:00 · 642 次点击
    这是一个创建于 547 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如一个文件 readme.txt 。修改一次 git add ,第二次修改,然后 git add ,第三次修改 然后再 git add 。这时候你会发现以上三次 add 形成的 blod 文件都留在硬盘上。不明白 Git 如此设定的目的是什么?留下前两个版本的 blod 文件在暂存区有什么作用呢?

    暂存区保留第三版 blod 文件,那么当你在工作区又修改了 readme.txt 以后,git stauts git diff 都会用到第三版的 blod 文件。但是前两版的 blod 有什么用呢?站在用户需求的角度想不到这两个老版本有什么用?而且 commit 时会提交两个老版本 blod 文件么?

    如果它们有用,那么 git 为什么要专门提供 git prune 命令去删除前两个版本呢?

    如果说它们没用吧,那么 git add 时为什么不采用覆盖机制,直接用新版 blod 替换掉上一版的 blod 文件呢?

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3018 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:58 · PVG 18:58 · LAX 02:58 · JFK 05:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.