Abort failed merge, rebase, or cherry-pick operations
merge, rebase, cherry-pick, revert, or omitted for auto-detect. Reject any other value.Safely abort a failed or unwanted merge, rebase, cherry-pick, or revert operation.
/git-abort # Auto-detect and abort current operation
/git-abort merge # Explicitly abort merge
/git-abort rebase # Explicitly abort rebase
/git-abort cherry-pick # Abort cherry-pick
/git-abort revert # Abort revert
# Check for various in-progress states
if [ -d .git/rebase-merge ] || [ -d .git/rebase-apply ]; then
OPERATION="rebase"
elif [ -f .git/MERGE_HEAD ]; then
OPERATION="merge"
elif [ -f .git/CHERRY_PICK_HEAD ]; then
OPERATION="cherry-pick"
elif [ -f .git/REVERT_HEAD ]; then
OPERATION="revert"
else
echo "No operation in progress to abort."
exit 0
fi
echo "Detected in-progress: $OPERATION"
# Show what files are in conflict
echo "Current status:"
git status --short
# Show conflicting files
echo "Conflicting files:"
git diff --name-only --diff-filter=U
case "$OPERATION" in
"merge")
git merge --abort
;;
"rebase")
git rebase --abort
;;
"cherry-pick")
git cherry-pick --abort
;;
"revert")
git revert --abort
;;
esac
# Confirm we're back to clean state
echo "Restored to previous state."
git status --short
git log --oneline -1
Aborting merge...
Previous state:
Merging main into feat/dark-mode
Conflicts in 2 files
Merge aborted successfully!
Current state:
Branch: feat/dark-mode
Status: Clean working directory
HEAD: abc1234 Your last commit before merge
What to do next:
/git-merge-main # Try merge again after preparation
/git-rebase # Try rebase instead (cleaner history)
/git-stash # Stash any partial work
Aborting rebase...
Rebase was in progress:
Rebasing feat/dark-mode onto main
Stopped at commit def5678
Rebase aborted successfully!
Current state:
Branch: feat/dark-mode
Status: Clean working directory
HEAD: ghi9012 (back to before rebase)
Your commits are restored to their original state.
Alternative approaches:
/git-merge-main # Merge instead of rebase
/git-conflicts # Get help resolving conflicts next time
Aborting cherry-pick...
Was cherry-picking:
Commit abc1234 from main
Cherry-pick aborted!
Current state:
Branch: feat/dark-mode
Status: Clean
The cherry-picked commit was not applied.
No operation in progress.
Current state:
Branch: feat/dark-mode
Status: Clean working directory
Nothing to abort.
| Operation | What Abort Does |
|-----------|-----------------|
| merge --abort | Removes merge state, restores HEAD |
| rebase --abort | Stops rebase, restores original branch state |
| cherry-pick --abort | Cancels cherry-pick, cleans up |
| revert --abort | Cancels revert, cleans up |
After aborting, you can:
Try again with preparation:
/git-stash # Save any work
/git-sync # Make sure you're up to date
/git-merge-main # Try again
Use a different strategy:
# If merge had too many conflicts, try rebase
/git-rebase
# Or vice versa
/git-merge-main
Get help with conflicts:
/git-conflicts # Guided conflict resolution
/git-merge-main or /git-rebase results in conflicts/git-conflicts to get help before aborting/git-stash to save any partial workSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer