用 Git 版本控制管理架构决策记录(ADR):从 mkdir 到 Commit 的完整实战
【免费下载链接】architecture-decision-recordArchitecture decision record (ADR) examples for software planning, IT leadership, and template documentation项目地址https://gitcode.com/gh_mirrors/ar/architecture-decision-record点击查看免费下载导读本文基于 architecture-decision-record 开源仓库中的《Erste Schritte mit ADRs und Git》用 Git 开始使用 ADR文档讲解如何在一个典型的带源码的软件项目中用最朴素也最强大的 Git 工作流来落地 Architecture Decision RecordADR架构决策记录。读完本文你将掌握「创建adr目录 → 为每条决策创建 Markdown 文本文件 → 参考仓库模板撰写内容 → 提交进 Git 仓库」的完整闭环并理解 Git 化 ADR 在命名、不可变性、版本历史与团队协作上的设计动机。为什么用 Git 管理 ADR把决策当作一等代码资产ADR架构决策记录是一份记录「重要架构决策及其上下文与后果」的文档而 ADR 的集合称为 ADL架构决策日志。当团队习惯使用 Git 版本控制时最自然的做法就是把 ADR 当作与源代码同等对待的普通文本文件放进版本库统一管理——这正是关联文档给出的核心思路如果您喜欢使用 Git 版本控制那么我们乐于向您介绍如何为一个典型的、带源码的软件项目用 Git 开始使用 ADR。与文档类工具、Wiki 或在线表格相比Git 方案的优势在于ADR 与代码同库演进、每次修改都有可追溯的提交记录、天然支持分支与合并评审如 Pull Request并且不依赖任何第三方平台。你可以随时git log查看决策的演进史用git diff对比决策修订用分支隔离「提议中」的决策。第一步为 ADR 文件创建专属目录原文档给出的第一个操作是创建一个专门存放 ADR 文件的目录$ mkdir adradr是仓库生态中常用的目录名。同名技能文档 skills/architecture-decision-record-skill/SKILL.md 中也给出了查找既有约定的快速方法即在动手前先确认项目里是否已存在 ADR 目录及既有命名/编号习惯git ls-files | grep -iE (^|/)(adr|adrs|decisions?)(/|$)从源码结构与技能文档看可以推断如果项目里还没有约定团队通常会默认使用顶层的adr/或decisions/目录部分团队偏好decisions这个名字因为「architecture」一词和「ADR」缩写会让部分开发者或管理者望而却步而「decisions」能吸引更多类型的决策供应商决策、规划决策、排期决策等进入该目录且这些内容都可复用同一套模板。本仓库的德文文档目录如 erste-schritte-mit-adrs-und-git本身就以多语言镜像的方式展示了这种目录化组织的形态。第二步为每条 ADR 创建一个文本文件原文档强调每条 ADR 对应一个文本文件。例如用 vi 创建$ vi database.txt在此基础上仓库的 日期文件命名约定文档 给出了更规范的建议——既然 ADR 是普通文本文件就应该为文件命名制定一套约定。该仓库推荐的具体格式是约定项要求说明词法现在时祈使动词短语如choose-database.md、format-timestamps.md可读性好且与提交信息commit message格式呼应大小写与分隔全部小写、使用连字符如manage-passwords.md、handle-exceptions.md在可读性与系统友好性之间取得平衡扩展名Markdown.md便于轻量格式化与渲染因此实操中更推荐将原文档示例中的database.txt升级为符合命名约定的 Markdown 文件例如choose-database.md。仓库中的示例目录正是这样组织的例如 选择数据库技术示例、MySQL 数据库示例、时间戳格式示例。如果你的项目已经采用编号式 ADR如 adr-tools 风格技能文档 SKILL.md 还提示可以在文件名前加零填充序号例如0007-choose-database.md若项目此前无编号习惯则使用不带编号的现在时动词短语文件名最简单、最易上手。第三步撰写 ADR 内容——从仓库模板与示例中取材原文档写道「在 ADR 中写任何你想写的内容灵感可参考本仓库中的模板。」这意味着模板仓库的价值正是为「写什么」提供骨架。本仓库在 德文模板目录 下收录了多套知名模板例如MADR 项目模板entscheidungsprotokoll-vorlage-des-madr-projekts结构为标题 → 状态proposed / rejected / accepted / deprecated / superseded by→ 决策者 → 日期 → 技术故事 → 上下文与问题陈述 → 决策驱动因素 → 备选方案 → 决策结果 → 正面/负面后果 → 各方案的优缺点 → 链接。它同时适合简单与详尽两种场景后者的重点正是「选项及其优缺点」。重要技术决策ITD模板entscheidungsprotokoll-vorlage-für-wichtige-technische-entscheidungen标题直接陈述决策本身而非主题描述再依次填写「问题」「备选方案选中项加粗」「理由只列决定性因素」「备注可选」专为需要管理层快速审阅、快速验证的轻量场景设计。配套的 撰写优秀 ADR 的建议文档 给出了四条质量标准可直接作为内容自检清单理由Rationale解释作出该架构决策的原因可包含上下文、各候选方案的优缺点、功能对比、成本收益讨论等具体Specific每条 ADR 只针对一个架构决策不把多个决策塞进同一文件时间戳Timestamps标注每项内容的撰写时间这对成本、排期、规模等随时间变化的要素尤其重要不可变Immutable不要修改 ADR 中已有的信息要么通过追加新信息来修订要么创建新 ADR 来取代旧 ADR。写作时可以参考仓库中真实完成的示例例如 选择数据库技术 展示了「上下文 → 决策 → 理由 → 后果」的完整叙述而英文原版示例 timestamp-format 则演示了带目录、假设、约束、立场、论据、影响、相关决策/需求/工件/原则、备注的详尽写法。第四步将 ADR 提交进 Git 仓库撰写完成后原文档要求将 ADR 提交到 Git 仓库$ git add adr/choose-database.md $ git commit -m choose database # 示例提交信息与文件名约定呼应这一「提交」动作是 Git 化 ADR 的灵魂所在此后每条决策都有确定的作者、时间与变更范围git log -- adr/可以还原整个决策演进史git blame可以定位某段决策表述的引入者团队评审则可以走分支 Pull Request 的常规流程。仓库 README.md 与命名约定文档都强调「文件名采用现在时祈使动词短语与提交信息格式相匹配」——这意味着在 Git 工作流里文件名本身就能充当一条语义清晰的提交信息。进阶用 Git 承载 ADR 的不可变与取代Supersession结合技能文档 SKILL.md 与好 ADR 建议当一条新决策取代或推翻旧决策时Git 工作流下的标准做法是新建一个 ADR 文件来描述新决策将旧 ADR 的状态更新为Superseded by 新 ADR在新 ADR 的状态/链接区反向链接Supersedes 旧 ADR。这与 MADR 模板中的superseded by ADR-0005状态位完全对应。需要说明的是部分团队在实践中更偏好「活文档」模式——在既有 ADR 中插入带日期戳的新信息并注明「该信息在决策之后到达」而非严格执行不可变到底采用哪种应由团队自行约定并在仓库内保持一致。仓库资源导航从这里继续深入概念入门什么是 ADR——ADR、AD、ADL、ASR、AKM 五个核心术语的精确定义开始使用无 Giterste-schritte-mit-adrs——决策识别、决策制定、决策实施与强制、决策分享、决策文档化五个讨论领域其他载体erste-schritte-mit-adrs-und-werkzeugen——除 Git 外还可选用 Google Docs/Sheets、Atlassian Jira、MediaWiki Wiki、MySpec 等工具承载 ADR具体按团队习惯任意选择模板库locales/de-001/vorlagen/index.md——MADR、arc42、EdgeX、Alexandrian 模式、业务案例、Planguage、Gareth Morgan、GIG Cymru NHS Wales、Tyree Akerman、Nygard、ITD 等十余套模板示例库locales/de-001/beispiele/index.md 与英文原版 locales/en-001/examples/index.md——覆盖数据库选型、CSS 框架、环境变量配置、认证授权、单仓 vs 多仓、时间戳格式等 40 余个真实决策场景Agent 技能skills/architecture-decision-record-skill/SKILL.md——判断「该决策是否需要 ADR」、建立目录、命名文件、挑选模板、处理取代关系的完整工作流可直接复制到.claude/skills/使用。小结用 Git 开始使用 ADR 的全部要点可以浓缩为四步mkdir adr建目录、为每条决策建一个符合「现在时祈使短语 小写连字符 .md」约定的文本文件、参考仓库模板与示例填充「上下文—决策—后果」内容、最后git commit提交入库。这套做法零依赖、可追溯、与代码同演进是架构知识管理AKM中投入产出比最高的起步方式之一。赞分享【免费下载链接】architecture-decision-recordArchitecture decision record (ADR) examples for software planning, IT leadership, and template documentation项目地址https://gitcode.com/gh_mirrors/ar/architecture-decision-record点击查看免费下载相关推荐使用 git 管理架构决策记录ADR从 mkdir 到 commit 的完整落地指南使用 git 管理架构决策记录ADR从 mkdir 到 commit 的完整落地指南 架构决策记录Architecture Decision Recor使用 git 版本控制启动 ADR架构决策记录从 adr 目录到版本化提交的完整实践指南使用 git 版本控制启动 ADR架构决策记录从 adr 目录到版本化提交的完整实践指南 本指南基于 architecture decision reco使用 git 版本控制启动架构决策记录ADR从目录创建到提交的完整实践指南使用 git 版本控制启动架构决策记录ADR从目录创建到提交的完整实践指南 导读 架构决策记录Architecture Decision Record上一篇【亲测免费】 Bazzite项目常见问题解决方案下一篇Drizzle 数据库迁移框架终极指南与实用技巧创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

REA 完整导览:一条命令让编码 Agent 接入本地逆向工程

REA 完整导览:一条命令让编码 Agent 接入本地逆向工程

REA 完整导览:一条命令让编码 Agent 接入本地逆向工程 【免费下载链接】rea Reverse engineer anything with agents, from app behavior down to native binaries. 项目地址: https://gitcode.com/GitHub_Trending/rea2/rea REA(Reverse Enginee…

2026/10/12 1:23:45 阅读更多 →
Learn-Web-Hacking:Windows 本地认证机制与密码存储全解析(winlogon、lsass、SAM 与 SPNEGO)

Learn-Web-Hacking:Windows 本地认证机制与密码存储全解析(winlogon、lsass、SAM 与 SPNEGO)

文档网络安全教程 【免费下载链接】Learn-Web-Hacking Study Notes For Web Hacking / Web安全学习笔记 项目地址: https://gitcode.com/gh_mirrors/le/Learn-Web-Hacking 点击查看 免费下载 本篇技术指南以 Learn-Web-Hacking 仓库中 Windows 认证笔记 为核心&…

2026/10/12 1:23:45 阅读更多 →
VCMI Lua 战场障碍物配置指南:SpellObstacleDescriptor 全字段解析与实战

VCMI Lua 战场障碍物配置指南:SpellObstacleDescriptor 全字段解析与实战

游戏开发 【免费下载链接】vcmi Open-source engine for Heroes of Might and Magic III 项目地址: https://gitcode.com/gh_mirrors/vc/vcmi 点击查看 免费下载 导读 SpellObstacleDescriptor 是 VCMI 引擎为 Lua 脚本提供的战场障碍物描述结构体(POD…

2026/10/12 1:23:45 阅读更多 →

最新新闻

数据结构 - > 排序算法

数据结构 - > 排序算法

1. 排序的概念1.1 常见的排序算法1.2 排序算法的评价指标复杂度:评价排序算法的第一大指标就是时间复杂度和空间复杂度,它衡量算法的时间效率和空间效率。稳定性:假定在待排序的数据元素中有两个元素 Ri 和 Rj,它们对应的关键字为…

2026/10/12 3:39:10 阅读更多 →
ccg-workflow Shell 技能指南:Bash 脚本自动化、系统管理与多模型协作实战

ccg-workflow Shell 技能指南:Bash 脚本自动化、系统管理与多模型协作实战

【免费下载链接】ccg-workflow 多模型协作工作流引擎 — /ccg:go 一个命令,AI 自动分析意图、选择策略、编排 Codex Gemini Claude 协作执行 项目地址: https://gitcode.com/gh_mirrors/cc/ccg-workflow 点击查看 免费下载 导读 本文基于 ccg-workfl…

2026/10/12 3:39:10 阅读更多 →
2026年软件测试趋势:AI Agent、质量内建与可观测性重塑质量保障

2026年软件测试趋势:AI Agent、质量内建与可观测性重塑质量保障

做测试这行,每年年底都在猜明年的技术方向,但2026年这次不太一样。我最近和不少测试负责人、开发团队聊下来,大家最焦虑的已经不是又冒出了什么新工具,而是整个质量体系正在被 AI 和平台工程重构,很多沿用多年的测试方…

2026/10/12 3:39:10 阅读更多 →
netdxf实战:DXF文字注释与尺寸标注的创建与修改

netdxf实战:DXF文字注释与尺寸标注的创建与修改

接触过DXF开发的人应该都有这种感觉:画直线、画圆、画多段线都属于“基本功”,真正让图纸变得可读、可传递设计意图的,是文字注释和尺寸标注。这一篇是整个netdxf系列里我比较想写的一篇,因为注释和标注的处理逻辑和普通几何实体完…

2026/10/12 3:39:10 阅读更多 →
文华财经主升浪买点指标公式拆解:多条件共振识别趋势启动

文华财经主升浪买点指标公式拆解:多条件共振识别趋势启动

1. 文华财经主升浪买点指标的实战拆解做期货日内或者波段的朋友,应该都听过“主升浪”这个词。行情走主升浪的时候,速度最快、幅度最大,但也是最难拿得住的一段。很多朋友在文华财经软件里翻遍了各类指标公式,要么信号滞后&#x…

2026/10/12 3:39:10 阅读更多 →
ppt-master 的 IBM 品牌身份预设解析:从 Carbon Blue 设计规范到可执行的 design_spec

ppt-master 的 IBM 品牌身份预设解析:从 Carbon Blue 设计规范到可执行的 design_spec

AI 技能人工智能 【免费下载链接】ppt-master AI 把任意文档生成真正可编辑的 PowerPoint —— 原生形状与动画、演讲者备注可合成音频旁白、还能参考你自己的 .pptx 模板,而不是一张张图片 何雨果出品 项目地址: https://gitcode.com/hugohe3/ppt-master 点击查看…

2026/10/12 3:38:09 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →