Fusionner une branche

VérifiéSûr

Cette compétence automatise la fusion sécurisée d’une branche de fonctionnalité dans sa branche de base configurée en validant les modifications, en rebasant sur la branche de base (gestion des conflits) et en fusionnant avec notification. Elle empêche les fusions accidentelles dans main/master et évite les push forcés, sécurisant l’intégration des branches pour les développeurs.

Spar Skills Guide Bot
DeveloppementIntermédiaire
10002/06/2026
Claude Code
#git#merge#rebase#branch-management#commit

Recommandé pour

Notre avis

Effectue le commit, le rebase et la fusion d'une branche de fonctionnalité dans sa branche de base configurée, en évitant les fusions dans main ou master.

Points forts

  • Empêche les fusions accidentelles dans main/master
  • Utilise des commits conventionnels avec un co-auteur
  • Gère la résolution des conflits en préservant les modifications des deux branches
  • Branche de base configurable par branche

Limites

  • Ne fonctionne qu'avec une branche de base configurée via git config
  • Ne récupère pas les mises à jour distantes avant le rebase
  • Si la résolution de conflit est trop complexe, demande de l'aide
Quand l'utiliser

Utilisez cette compétence pour intégrer une branche de fonctionnalité dans sa branche de base avec un historique propre sans risquer main.

Quand l'éviter

Ne l'utilisez pas si vous devez fusionner dans main/master ou si la branche de base nécessite des mises à jour distantes avant le rebase.

Analyse de sécurité

Sûr
Score qualité92/100

Only uses git operations within the current repository, with explicit safeguards against merging into main/master and force pushing. No dangerous commands or data exfiltration.

Aucun point d'attention détecté

Exemples

Merge current branch into its base
Merge my current branch into its configured base branch.
Commit and merge feature branch
Commit staged changes and merge this feature branch into its base.
Integrate branch with conflict handling
Please run the merge skill to integrate the current branch into its base, resolving any conflicts.

name: merge description: Commit, rebase, and merge the current branch into its base branch (never main). disable-model-invocation: true allowed-tools: Read, Bash, Glob, Grep

Safety Rules

CRITICAL — these rules must NEVER be violated:

  • NEVER merge into main or master. If the resolved base branch is main or master, stop immediately and inform the user.
  • NEVER force push. Do not use --force, --force-with-lease, or -f with git push.

Step 1: Verify Branch

git branch --show-current

If the current branch is main or master, STOP and tell the user they must be on a feature branch.

Step 2: Commit

If there are staged changes, commit them.

  1. Run git log --format="%s" -n 20 to detect the repo's commit convention and match it.
  2. If no clear convention exists, default to conventional commits with a scope, e.g. feat(auth): add login endpoint.
  3. Always include a co-author trailer:
    Co-Authored-By: Claude <noreply@anthropic.com>
    
  4. Skip if nothing is staged.

Step 3: Determine Base Branch

git config --local --get "branch.$(git branch --show-current).workmux-base" 2>/dev/null

If no base branch is configured, STOP and tell the user no base branch is set. Do NOT default to main.

If the base branch is main or master, STOP and tell the user: "Refusing to merge into main/master. Set a different base branch or use /pr instead."

Step 4: Rebase

Rebase onto the local base branch (do NOT fetch from origin first):

git rebase <base-branch>

IMPORTANT: Do NOT run git fetch. Do NOT rebase onto origin/<branch>. Only rebase onto the local branch name.

If conflicts occur:

  • BEFORE resolving any conflict, understand what changes were made to each conflicting file in the base branch
  • For each conflicting file, run git log -p -n 3 <base-branch> -- <file> to see recent changes
  • Preserve BOTH the base branch changes AND our branch's changes
  • After resolving each conflict, stage the file and continue with git rebase --continue
  • If a conflict is too complex or unclear, ask for guidance

Step 5: Merge

Run: workmux merge --rebase --notification

Skills similaires