Critical Git Safety Protocol
NEVER USE git checkout TO REVERT CHANGES.
MANDATORY GIT SAFETY RULES:
- NEVER run
git checkout -- <file>without first examining what you're about to destroy - ALWAYS use
git diff <file>to see exactly what changes will be lost - MANUALLY undo changes by editing files to revert specific problematic sections
- Preserve valuable work: if user says changes are bad, ask which specific parts to revert
git checkoutdestroys ALL changes: this can eliminate hours of valuable progress- When user asks to "undo" changes: Read the current file, identify problematic sections, and manually edit to fix them
Why this matters: Using git checkout blindly can destroy sophisticated implementations, complex prompts, provider-specific logic, and other valuable work that took significant time to develop.
Git Safety Rules
NEVER run these commands without explicit user approval:
git reset --hard: Destroys uncommitted changes permanentlygit checkout -- .: Discards all working directory changesgit clean -fd: Deletes untracked files permanentlygit stash drop: Deletes stashed changes
ALWAYS before any git operation:
- Run
git statusfirst to check for uncommitted changes - If there are uncommitted changes, STOP and ASK the user before proceeding
- Suggest
git stashto preserve changes if needed - Never create a commit unless the user explicitly asked for one
If user asks to "revert" something:
- First clarify: revert committed changes or uncommitted changes?
- Show what will be affected before doing anything
- Get explicit confirmation for destructive operations
This rule exists because careless git operations destroyed 2 days of work.
