QB64 搜索技巧 核手提箱 文字记录 海洋云增白 开源地图 Bliss AI 搜索答案 深海沉船 自由职业 policy 小团队 颈挂空调 Chumby 个人电脑 极端主义 团队 世界 PostgreSQL AI工具 证券 DirectX 防溢 DrawingPics Zulip 儿童读物 化学 连续滚动 代码审查 三菱电机 更多

硬核 Git 提交指南 (avestura.dev)

文章详细介绍了如何使用 Git 底层命令(Plumbing commands)创建提交,而不是常用的高层命令。文章首先解释了 Git 的基础知识,包括文件的三种状态(已修改、已暂存、已提交)以及 Git 项目的三个区域(工作目录、暂存区、Git 目录)。 接着,文章解释了 Git 对象模型,包括 blob(存储文件内容)、tree(类似目录,存储文件名和指向 blob 或其他 tree 的引用)和 commit(包含指向 tree 的引用、作者、时间、提交信息等)。 最后,文章通过一个实例,逐步演示了如何使用 `git hash-object`、`git update-index`、`git write-tree` 和 `git commit-tree` 等命令创建 blob、tree 和 commit 对象,最终实现不使用 `git commit` 命令进行提交。