AI 简明手册
Vibe Coding 与 AI 编程协作 · 环境与安全破坏性操作的三道闸

破坏性操作的三道闸

目标

破坏性操作在执行前设三道闸:数据改动先准备可恢复备份、不可逆操作先说明回退方案、发布前审查实际 diff;凭据由 secrets 管理,发布遵循项目既定的版本控制与 CI/CD 流程。

操作步骤

  1. 备份闸与回退闸

    备份闸要求任何数据库结构或数据改动执行前先备份,备份文件按时间戳命名放到项目根目录 backups/,未备份不得执行 migrate、drop、alter、delete 操作。SQLite 示例命令为 cp database.db backups/database_$(date +%Y%m%d_%H%M%S).db,命名格式为 {原文件名}_{YYYYMMDD_HHMMSS}.db。回退闸要求不可逆操作前说明如何恢复、需要哪些备份文件、预计恢复耗时,说不出这三点就说明操作没想清楚。

  2. 发布前核对预期与实际差异

    审查闸用于比较预期改动、发布说明和实际 diff,发现混入无关变更就暂停。可以由独立审查者或隔离上下文的 Agent 执行。发布应走项目既定的版本控制和 CI/CD 流程,不限定某一家托管平台;紧急修复也要补齐记录。

  3. 凭据不进入代码和版本历史

    所有凭据必须通过环境变量或 secrets 管理,禁止硬编码进代码和配置文件,因为 Key 一旦进入 git 历史等于永久泄露,只能作废重发。

完成检查

  • diff 审查和日常 PR review 有什么区别: diff 审查把预期改动和实际 diff 拆开比对,专门用于缺少 PR review 的独立开发流程。当没有第二个 reviewer 时,让隔离上下文的 Agent 充当审查者,检查实际改动是否与 Release Notes 描述一致。

  • 为什么 Key 进 git 历史就无法挽回: git 会保留所有历史版本,即使从当前代码中删除,Key 仍能在历史提交中找到。因此只能作废重发,无法通过删除来解决泄露。