我觉得要深入理解Git,还是得看源码。相较于其他的(如 svn,甚至 hg),我觉得 git 的实现更像一个 file system,从里到外(或从上到下)的几个设计层面来看都是 symlink 和 data blob 的结构,这点是我认为和其他 VCS (SCM) 的本质区别可能是这样,加上早期使用者仅限于开发者的情况,git cli 设计有明显的 leaky abstraction,即必须知道具体实现,才能理解和正确使用本来应该为 blackbox 的各种 subcommand
因此我认为,要会正确使用并用好 git,恐怕没有捷径可走,只能从理解 git 的实现原理开始,即什么 data blob 和 tree 等(这也是大多数 git 书一上了就介绍 git 的底层存储方式设计的原因),然后才是 DVCS 的基本原理,即在 DVCS 中历史是 directed acyclic graph。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有