git 源码学习

Preface

最近趁上一个工作任务刚结束,新的任务还在规划中,难得清闲几天,可以抽点时间来看下 Linus 大神在2005年写的 git,为了简单,理解git 的原理,我们可以 checkout 刚开始的版本 比如hash为 79517a067。 这个版本总代码量只有1491 行。

git source 79517a067

Compile

依赖包:libssl-dev、zlib
修改编译选项:Makefile中LIBS 增加 -lcrypto
编译完之后会生成可执行文件:
update-cache show-diff init-db write-tree read-tree commit-tree cat-file fsck-cache checkout-cache

Analysis

1 init-db 初始化工作目录: 在当前路径下创建目录,

.dircache
└── objects
    ├── 00
    ├── 01
    ├── ...(255 files)
    ├── fe
    └── ff

2 update-cache

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容