跳转至

2026-05-13 学习日志

今日主题

  • Git merge 线性化原理
  • Git revision 术语理解
  • HTML 作为 AI 协作交付格式

新增认知

Git merge 线性化原理

  • merge commit 无代码内容,可安全跳过:git merge commit 只是标记两条分支合并的记录节点,
    其 diff 为空(除非有冲突解决),本身不包含任何文件变更。因此线性化历史时只需 cherry-pick 两个分支上的实际内容 commit,
    按时间顺序重建即可,merge commit 可以直接忽略——所有代码完整性由 cherry-pick 保证,不会丢失任何变更。

  • cherry-pick 改变 hash 的根因:cherry-pick 产生的新 commit 内容(tree)与原 commit 相同,
    但父提交指针变了。
    git 计算 commit hash 的输入是「tree SHA + parent SHA + author/committer + message」,
    parent SHA 是输入的一部分,所以父提交不同必然导致 hash 不同。
    这也是为什么 rebase/cherry-pick 后 commit hash 总是变化的根本原因。

Git revision 术语理解

  • rev = revision,不是 version:git rev-parse 中的 rev 是 revision(修订版本),
    指 commit 级别的代码快照,粒度比 version 细。version 是面向用户的发布标签(如 v1.2.3),
    revision 是开发者每次保存的状态标识(如 commit hash)。一个 version 可能包含数十上百个 revision。

  • revision 是真实的英文单词:源自拉丁语 revisio(重新看),日常英语中也常用——
    考试复习(exam revision)、文档修订记录(revision history)、出版修订版(revised edition)。
    Git 选 rev 而不是 ver,语义上更精确。

  • 中文里"版本"已足够表达 rev 的含义:日常和技术文档中"版本"覆盖 99% 场景。"修订版本"偏书面/技术语境,口语中很少出现,
    主要用于版本管理系统界面。Git 中文文档通常直接译为"版本"或"提交",很少刻意区分"修订版本"。

HTML 作为 AI 协作交付格式

  • HTML 替代 Markdown 提升信息密度:与 AI Agent 协作时,HTML 文件比 Markdown 更适合作为最终交付物。
    Markdown 是线性文字流,HTML 支持空间布局(并排对比、卡片网格)、视觉编码(颜色/大小直接传递设计信息)、交互操作(点击展开、表单填写、拖拽排序),
    相同信息量下读者的理解效率更高。核心原因:人脑擅长空间记忆和视觉模式识别,HTML 能同时利用这两个通道。

  • 自包含 HTML 是 AI 生成的关键使能模式:单个 .html 文件内嵌 CSS/JS,浏览器直接打开,零构建步骤——
    这种"自包含"特性是 AI 能可靠生成 HTML 工具的前提。因为 AI 不需要处理模块依赖、构建配置、运行时环境等复杂上下文,只需产出一个文件就完成了交付。
    Thariq 的站点展示了 9+ 种场景(代码方案对比、设计系统、幻灯片、流程图、配置编辑器等),全部遵循此模式。

  • 站点本身即自证:Thariq 的 html-effectiveness 站点不用 README 或博客文章解释概念,
    而是用一个交互式 HTML 页面直接展示效果——读者在看到"为什么要用 HTML"的论据之前,已经亲身经历了 HTML 带来的信息消费体验提升。
    这是"show don't tell"在技术写作中的极端实践。