我刚开始学习git并且这样做我开始阅读Git社区书,在本书中他们说SVN和CVS存储文件之间的差异,而git存储所有文件的快照.
但我并没有真正了解快照的含义.git是否真的复制了每个提交中的所有文件,因为这是我从他们的解释中理解的.
PS:如果有任何人有更好的学习git的来源我会很感激.
Git使用增量压缩来存储彼此相似的对象.
此算法是否已标准化并在其他工具中使用?是否有描述格式的文档?它与xdelta/VCDIFF/RFC 3284兼容吗?
这是一个例子:
$ git push -u myserver master
Counting objects: 22, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (14/14), 1.89 KiB | 0 bytes/s, done.
Total 14 (delta 10), reused 0 (delta 0)
To myserver.com:git/myrepo.git
ed46414..0cae272 master -> master
Branch master set up to track remote branch master from myserver.
Run Code Online (Sandbox Code Playgroud)
基本上唯一对我来说有意义的数字是"使用多达8个线程"的8,因为我有一个四线程处理器,超线程,因此我可以运行8个线程.
有22个?为什么说22和14,其他8发生了什么?为什么它说0字节/秒,因为它做了东西并花了有限的时间?什么是"总"和"三角洲"和"重用"?
有关示例的详细信息:上面的示例是从Mac OS X上的终端进行了复制粘贴.我手动执行了一个find-replace来替换"myrepo"和"myserver.com",其他一切都是逐字的.存储库有910次提交,自上次推送以来我做了大约3次提交.3个新提交影响了至少3个文件.回购包含超过一千个文件.