git 原理学习笔记

本文详细介绍了git的工作流程,从初始化仓库到git add生成blob对象,再到git commit创建tree和commit对象,以及git gc的差异化压缩和对象清理。通过git prune删除未被引用的垃圾对象,确保仓库高效运行。同时,讨论了如何从pack文件中解压对象回objects目录。
摘要由CSDN通过智能技术生成

git init 代码仓库的初始化

git init 初始化之前文件目录没有内容,初始化之后可以看到多了个.git 文件夹,目录结构如下,可以使用 watch -n 1 -p find . 每一秒刷新一次当前目录下文件:

.
./.git
./.git/config
./.git/objects
./.git/objects/pack
./.git/objects/info
./.git/HEAD
./.git/info
./.git/info/exclude
./.git/description
./.git/hooks
./.git/hooks/commit-msg.sample
./.git/hooks/pre-rebase.sample
./.git/hooks/pre-commit.sample
./.git/hooks/applypatch-msg.sample
./.git/hooks/fsmonitor-watchman.sample
./.git/hooks/pre-receive.sample
./.git/hooks/prepare-commit-msg.sample
./.git/hooks/post-update.sample
./.git/hooks/pre-merge-commit.sample
./.git/hooks/pre-applypatch.sample
./.git/hooks/pre-push.sample
./.git/hooks/update.sample
./.git/refs
./.git/refs/heads
./.git/refs/tags

查看 .git/config 文件,默认没有 commit 的 user 信息,默认是读取电脑配置的 cat ~/.gitconfig 的 user 信息

 % cat .git
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值