git-safety
by redis
Critical safety guardrails for protected branches: never commit, push, or force-push directly to main, latest, or release branches; no destructive history…
npx skills add https://github.com/redis/redisinsight --skill git-safetyGit Safety Rules for AI Agents
🚫 CRITICAL: Protected Branch Rules
AI agents must NEVER commit to or push to protected branches under any circumstances.
Protected Branches
main- Primary production branchlatest- Latest stable releaserelease/*- Release branches (e.g.,release/v2.0.0)
This is a non-negotiable rule that applies to all scenarios:
Prohibited Actions
- ❌ Direct commits - Never run
git commitwhile on a protected branch - ❌ Direct pushes - Never run
git push origin <protected-branch>orgit pushwhile on a protected branch - ❌ Force pushes - Never run
git push --forceorgit push -ftargeting protected branches - ❌ Merging into protected branches locally - Never run
git merge <branch>while on a protected branch - ❌ Rebasing protected branches - Never run
git rebasewhile on a protected branch - ❌ Resetting protected branches - Never run
git resetwhile on a protected branch
Required Workflow
- Always create a feature branch before making any changes
- Verify current branch before any git operation using
git branch --show-current - Create Pull Requests for all changes - let the review process handle merging
Pre-Push Checklist
Before executing any push command, AI agents must:
- ✅ Confirm current branch is NOT a protected branch (
main,latest,release/*) - ✅ Verify the remote and branch target
Error Recovery
If accidentally on a protected branch with uncommitted changes:
- Stash changes:
git stash - Create new branch:
git checkout -b <appropriate-branch-name> - Apply changes:
git stash pop - Continue work on the new branch
Rationale
- Protected branches represent production-ready or release code
- All changes must go through code review via Pull Requests
- Direct pushes bypass CI/CD checks and team review
- Mistakes on protected branches can affect the entire team and deployment pipeline