安全Git守卫Skill safe-git-guard

安全Git守卫是一款防止破坏性Git操作的工具,通过自动备份和确认流程,确保在重置、强制推送等操作前进行安全防护。关键词:Git安全、版本控制、备份确认、DevOps工具。

DevOps 0 次安装 0 次浏览 更新于 3/18/2026

name: safe-git-guard description: 通过要求备份和确认来防止破坏性Git操作。阻止 git reset --hard、git push --force 在 main 分支上、git clean -fd。在 git checkout、git reset、git rebase 前要求备份。在任何破坏性Git命令时激活。

安全Git守卫

用于防止破坏性Git操作的技能

触发条件

此技能在这些命令时自动激活:

  • git reset --hard
  • git checkout -- <文件>
  • git clean -fd
  • git rebase(无明确确认时)
  • git push --force

规则

禁止(绝不执行):

  1. git reset --hard - 不可逆地删除未提交的更改
  2. git push --force 在 main/master 分支上 - 可能破坏远程历史记录
  3. git clean -fd - 不可逆地删除未跟踪的文件

警告 + 需要备份:

  1. git checkout -- <文件> - 覆盖本地更改

    • 执行前:创建备份
    • git stash push -m "备份-检查前-$(date +%s)"
  2. git reset HEAD~n - 重置提交

    • 执行前:创建标签
    • git tag 备份-重置前-$(date +%s)
  3. git rebase - 修改历史记录

    • 执行前:创建备份分支
    • git branch 备份-重置前-$(date +%s)

破坏性操作工作流程

1. 停止 - 不要立即执行
2. 备份 - 保存当前状态(标签/分支/储藏)
3. 询问 - “您确定吗?将会丢失什么?”
4. 确认 - 明确“是的,我了解风险”
5. 执行 - 仅当确认后才运行命令

示例对话

用户: “撤销最后3次提交”

Claude(带有此技能):

警告:检测到破坏性操作

您想运行 `git reset HEAD~3`。这将:
- 从历史记录中移除3次提交
- 更改变为“未暂存”(--soft)或删除(--hard)

创建备份:
> git tag 备份-YYYYMMDD-重置前

我应该继续吗?(回答“是,继续重置”)

受保护分支

在您的项目 CLAUDE.md 中配置:

受保护分支:
  - main      # 生产分支,切勿强制推送
  - master    # 遗留生产分支
  - develop   # 开发分支,仅限拉取请求
  - release/* # 发布分支,仅限批准

与不可接触区域的集成

此技能尊重 CLAUDE.md 中定义的不可接触区域。 当更改影响受保护文件时:额外警告 + 影响分析。

配置

添加到您的 CLAUDE.md

### Git 安全规则

受保护分支:
- main, develop, release/*

不可接触区域(需要明确批准):
- src/auth/**
- src/core/**
- config/production.*

来源

最初为 fabrikIQ 开发 - AI驱动的制造数据分析。

许可证

MIT - 免费使用和修改