git保存每次更新时的文件快照 ,但不太明白什么是文件快照 ,google 看了一下关于快照方面的介绍,但还是不太明白,它与拷贝有什么区别?请高手指点,谢谢。
|
chshouyuJul 23, 2014
1
想象一下,给一张桌子拍一张照片,纪录了桌子上所有物品的位置、状态,这样就可以称之为快照了。
我们不必存储所有的物品,只需存储这个照片就可以了,下一次想恢复以前的状态的时候,只需要翻出当时的那张照片,再把物品按照那张照片里的位置摆放一下就OK了。 |
|
limonJul 23, 2014 via iPhone
2
快照只包含改变的部分,所以“快”
|
|
kid813Jul 23, 2014 via iPhone
3
git-scm.com有一个中文版的官方教程,第一章就有介绍git的快照。
git好像不记录“改变的部分”。 |
|
akfishJul 23, 2014
4
这个故事告诉我们,中文翻译是不靠谱的。
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 |
|
akfishJul 23, 2014
5
如图:
http://git-scm.com/figures/18333fig0903-tn.png test.txt有两个版本,分别存储到了blob 83baae和1f7a7a,都是完整的保存了整个文件。 |
|
zts1993Jul 23, 2014
6
git保存被修改文件的完整文件
|
|
dorentusJul 23, 2014
7
|
|
dorentusJul 23, 2014
8
Snapshot 用在拍照片的时候常被翻译成“抓拍”。
|
|
11
谢谢各位指点。看来还是看英文原版比较好理解,(加强英文学习中)
|
|
12
再追问一下,快照是复制么?
|