safe-git-guard
Prevents destructive Git operations by requiring backup and confirmation. Blocks git reset --hard, git push --force on main, git clean -fd. Requires backup before git checkout, git reset, git rebase. Activate on any destructive git command.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
Safe Git Guard
Skill to prevent destructive Git operations
Trigger
This skill activates automatically on these commands:
-
git reset --hard -
git checkout -- <file> -
git clean -fd -
git rebase(without explicit confirmation) -
git push --force
Rules
FORBIDDEN (never execute):
-
git reset --hard- Deletes uncommitted changes irreversibly -
git push --forceon main/master - Can destroy remote history -
git clean -fd- Deletes untracked files irreversibly
WARNING + BACKUP required:
-
git checkout -- <file>- Overwrites local changes- BEFORE execution: Create backup
-
git stash push -m "backup-before-checkout-$(date +%s)"
-
git reset HEAD~n- Resets commits- BEFORE execution: Create tag
-
git tag backup-before-reset-$(date +%s)
-
git rebase- Modifies history- BEFORE execution: Create backup branch
-
git branch backup-before-rebase-$(date +%s)
Workflow for Destructive Operations
1. STOP - Don't execute immediately
2. BACKUP - Save current state (tag/branch/stash)
3. ASK - "Are you sure? What will be lost?"
4. CONFIRM - Explicit "Yes, I understand the risk"
5. EXECUTE - Only then run the command
Example Dialog
User: "Undo the last 3 commits"
Claude (with this skill):
WARNING: DESTRUCTIVE OPERATION DETECTED
You want to run `git reset HEAD~3`. This would:
- Remove 3 commits from history
- Changes become "unstaged" (--soft) or deleted (--hard)
Creating backup:
> git tag backup-YYYYMMDD-pre-reset
Should I proceed? (Answer with "Yes, proceed with reset")
Protected Branches
Configure in your project's CLAUDE.md:
protected_branches:
- main # Production branch, never force-push
- master # Legacy production branch
- develop # Development branch, PR only
- release/* # Release branches, approval only
Integration with No-Touch Zones
This skill respects No-Touch Zones defined in CLAUDE.md. When changes affect protected files: Additional warning + Impact Analysis.
Configuration
Add to your CLAUDE.md:
### Git Safety Rules
Protected Branches:
- main, develop, release/*
No-Touch Zones (require explicit approval):
- src/auth/**
- src/core/**
- config/production.*
Origin
Originally developed for fabrikIQ - AI-powered manufacturing data analysis.
License
MIT - Free to use and modify
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-28
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!