Skip to content
Back to skills

Merge Worktree To Main

ASecurity

Merge Worktree to Main

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 20, 2026
developmentgobashgitperformance

Security analysis

A100/100

Scanned September 20, 2026

npx -y skills add tstapler/dotfiles --skill merge-worktree-to-main --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Merge Worktree To Main?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Merge Worktree To Main
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/tstapler-merge-worktree-to-main/badge)](https://www.skillsdirectory.com/skills/tstapler-merge-worktree-to-main)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
description: Merge Worktree to Main
---

# Merge Worktree to Main

Merges the current git worktree branch back into the main branch locally without requiring remote pushes.

## What it does

1. **Identifies the main repository location** from the worktree setup
2. **Validates the current branch** can be merged cleanly
3. **Switches to the main worktree** (see Main Repository Path Resolution below)
4. **Performs a fast-forward merge** of the feature branch
5. **Optionally cleans up the feature worktree** after successful merge
6. **Shows a summary** of the changes merged

## Main Repository Path Resolution

When locating the main repository (and no `--main-path` is given), check in this order and
use the first one that exists:

1. `~/Programming/<repo-name>`
2. `~/WorkProjects/<repo-name>`
3. `~/IdeaProjects/<repo-name>` (fallback default)

Also account for repos whose main branch is checked out directly in a project directory
rather than under one of these roots (e.g. `~/Programming/<repo-name>` *is* the main
checkout, not a worktree parent) β€” if the current worktree's `git worktree list` already
shows a non-worktree checkout on the main branch, prefer merging into that path directly
over assuming one of the roots above.

## Prerequisites

- Must be run from within a git worktree (not the main repo)
- The main repository should be clean (no uncommitted changes)
- Feature branch should be up to date with any commits you want to merge

## Usage

Run this command from any git worktree:

```bash
/merge_worktree_to_main
```

## Optional flags

- `--cleanup` - Remove the current worktree after successful merge
- `--dry-run` - Show what would be merged without actually doing it
- `--main-path <path>` - Specify custom main repository path (default: first existing of ~/Programming, ~/WorkProjects, ~/IdeaProjects β€” see Main Repository Path Resolution)

## Example output

```
🌿 Current worktree: /Users/user/.claude-squad/worktrees/feature_abc123
πŸ“ Main repository: /Users/user/IdeaProjects/claude-squad
πŸ”„ Merging branch: feature/performance-improvements

βœ… Fast-forward merge successful!
πŸ“ˆ 15 files changed, 700 insertions(+), 292 deletions(-)

🧹 Clean up worktree? (y/N): 
```

## Safety features

- **Pre-merge validation** - Checks for uncommitted changes and merge conflicts
- **Branch verification** - Ensures you're not accidentally merging main into main
- **Path validation** - Confirms main repository location exists and is valid
- **Rollback capability** - Can undo merge if something goes wrong

## Common use cases

- **Feature development** - Merge completed features from worktrees
- **Bug fixes** - Integrate fixes developed in isolated worktrees  
- **Experimentation** - Bring successful experiments back to main
- **Collaborative work** - Merge changes without remote repository dependencies

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…