• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tin
V2EX  ›  程序员

请教关于 git 的快照

  •  1
     
  •   tin · Jul 23, 2014 · 8270 views
    This topic created in 4323 days ago, the information mentioned may be changed or developed.
    git保存每次更新时的文件快照 ,但不太明白什么是文件快照 ,google 看了一下关于快照方面的介绍,但还是不太明白,它与拷贝有什么区别?请高手指点,谢谢。
    12 replies    2014-07-24 18:42:45 +08:00
    chshouyu
        1
    chshouyu  
       Jul 23, 2014
    想象一下,给一张桌子拍一张照片,纪录了桌子上所有物品的位置、状态,这样就可以称之为快照了。
    我们不必存储所有的物品,只需存储这个照片就可以了,下一次想恢复以前的状态的时候,只需要翻出当时的那张照片,再把物品按照那张照片里的位置摆放一下就OK了。
    limon
        2
    limon  
       Jul 23, 2014 via iPhone
    快照只包含改变的部分,所以“快”
    kid813
        3
    kid813  
       Jul 23, 2014 via iPhone
    git-scm.com有一个中文版的官方教程,第一章就有介绍git的快照。

    git好像不记录“改变的部分”。
    akfish
        4
    akfish  
       Jul 23, 2014
    这个故事告诉我们,中文翻译是不靠谱的。
    Snapshot:
    In computer systems, a snapshot is the state of a system at a particular point in time.
    和”快“没有任何关联。

    所以,1L 2L的解释全错。

    Git在每一次commit时,都会完整的存储当前版本所有修改的文件,而非只存储diff。

    http://git-scm.com/book/en/Git-Internals
    akfish
        5
    akfish  
       Jul 23, 2014
    如图:
    http://git-scm.com/figures/18333fig0903-tn.png

    test.txt有两个版本,分别存储到了blob 83baae和1f7a7a,都是完整的保存了整个文件。
    zts1993
        6
    zts1993  
       Jul 23, 2014
    git保存被修改文件的完整文件
    dorentus
        7
    dorentus  
       Jul 23, 2014
    dorentus
        8
    dorentus  
       Jul 23, 2014
    Snapshot 用在拍照片的时候常被翻译成“抓拍”。
    timonwong
        9
    timonwong  
       Jul 23, 2014
    @akfish
    做云计算的时候,客户老是问,快照怎么一点都不快啊,所以把名字改成备份了
    akfish
        10
    akfish  
       Jul 23, 2014
    tin
        11
    tin  
    OP
       Jul 24, 2014
    谢谢各位指点。看来还是看英文原版比较好理解,(加强英文学习中)
    tin
        12
    tin  
    OP
       Jul 24, 2014
    再追问一下,快照是复制么?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2432 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 466ea39e · 76ms · UTC 01:29 · PVG 09:29 · LAX 18:29 · JFK 21:29
    ♥ Do have faith in what you're doing.