merge-main-cleanup
SKILL.md
Merge Main Cleanup
Overview
Perform a full merge into main and then delete all other branches locally and on the default remote. Remove any worktrees tied to deleted branches.
When to Use
- User says to merge into main and keep only main.
- User wants a one-step cleanup of branches after merge.
Workflow
1) Validate repository state
- Run
git status --porcelainand stop if there are uncommitted changes. - Run
git rev-parse --show-topleveland work from that root. - Run
git fetch --all --pruneto sync branch state.
2) Determine base branch
- Prefer
main; if missing, usemaster. - Command:
git branch --list main master
3) Merge current branch into base
- Get current branch:
git branch --show-current. - If already on base, skip merge.
- Otherwise:
git checkout <base>git pull --ff-onlygit merge <current-branch>- Resolve conflicts if any, then complete the merge.
4) Push base to remote
- Push base:
git push origin <base>
5) Remove worktrees for non-base branches
- List worktrees:
git worktree list. - For each worktree whose branch is not
<base>, remove it:git worktree remove <path>
6) Delete all non-base branches (local + remote)
- Local branches (force delete, as requested):
- List:
git branch --format='%(refname:short)' - For each branch not
<base>, run:git branch -D <branch>
- List:
- Remote branches (origin):
- List:
git branch -r --format='%(refname:short)' | rg '^origin/' - For each remote branch not
origin/<base>, run:git push origin --delete <branch>
- List:
7) Verify only base remains
git branch -vvshould show only<base>.git branch -rshould show onlyorigin/<base>.
Notes
- This skill is intentionally destructive: it deletes all branches except base.
- If the remote is not named
origin, replace it accordingly. - If deletion of worktree files is blocked by policy, report and ask the user to remove them manually.
Weekly Installs
2
Repository
cacr92/wereplyGitHub Stars
1
First Seen
6 days ago
Security Audits
Installed on
amp2
cline2
openclaw2
opencode2
cursor2
kimi-cli2