Receber por email
← Voltar para o catálogo

flow-finishing-branch

Decide how to complete a development branch: merge, PR, squash, or cleanup.

367estrelas
Atualizado há 4 meses

Ver no GitHub ↗

Como adicionar

/plugin marketplace add aiskillstore/marketplace

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/flow-finishing-branch/svg)](https://www.skillteca.com.br/skills/flow-finishing-branch)

Skills relacionadas

Ver todas de Segurança →

Alerta por categoria

Receba novas skills de Segurança toda segunda

1 email curto, só com as skills novas de Segurança. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Flow Finishing Branch - 分支完成决策

Overview

When development work is complete, you need to decide how to integrate it. This skill guides that decision.

Decision Options

A) Fast-forward Merge

When to use:
  - Small changes (< 5 files)
  - Single developer
  - No review needed
  - Clean commit history

Command:
  git checkout main
  git merge --ff-only feature/xxx
  git branch -d feature/xxx

Pros:
  - Fast
  - Clean history
  - No merge commit

Cons:
  - No review record
  - No CI verification

B) Create PR (Recommended)

When to use:
  - Team projects
  - Need review record
  - CI verification required
  - Production code

Command:
  git push -u origin feature/xxx
  gh pr create --title "..." --body "..."

Pros:
  - Review record
  - CI verification
  - Discussion thread
  - Audit trail

Cons:
  - Takes longer
  - Requires reviewer

C) Squash and Merge

When to use:
  - Many small commits
  - Messy commit history
  - Want single commit in main

Command:
  gh pr merge --squash

Pros:
  - Clean main history
  - Single logical commit
  - Hides WIP commits

Cons:
  - Loses detailed history
  - Harder to bisect

D) Cleanup Only

When to use:
  - Work was abandoned
  - Experiment failed
  - Requirements changed

Command:
  git checkout main
  git branch -D feature/xxx
  git push origin --delete feature/xxx  # if pushed

Pros:
  - Clean slate
  - No dead branches

Cons:
  - Work is lost (unless needed later)

Decision Matrix

┌─────────────────────────────────────────────────────────────┐
│                    Decision Matrix                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  Files Changed    Review Needed    History Clean    Action  │
│  ─────────────    ─────────────    ─────────────    ──────  │
│  < 5              No               Yes              A) FF   │
│  < 5              No               No               C) Sq   │
│  Any              Yes              Yes              B) PR   │
│  Any              Yes              No               C) Sq   │
│  N/A              N/A              N/A (abandoned)  D) Del  │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Pre-Completion Checklist

Before choosing any option, verify:

□ All tests pass
□ Build succeeds
□ No lint errors
□ Documentation updated (if needed)
□ EXECUTION_LOG.md updated
□ No uncommitted changes

The Process

1. Verify completion
   → Run tests, build, lint
   → Check all tasks done

2. Assess the work
   → How many files changed?
   → Is review needed?
   → Is commit history clean?

3. Choose option
   → Use decision matrix
   → Default to PR if unsure

4. Execute
   → Run appropriate commands
   → Verify success

5. Cleanup
   → Delete local branch
   → Delete remote branch (if not PR)

Rationalization Prevention

| Excuse | Reality | |--------|---------| | "PR is overkill" | PR provides audit trail. Use it. | | "I'll review my own code" | Self-review misses issues. Get another pair of eyes. | | "History doesn't matter" | History helps debugging. Keep it clean. | | "Just merge it" | Verify first. Merge second. |

Integration with flow-release

This skill is used in /flow-release to decide branch handling:

/flow-release execution:
  1. Verify all gates pass
  2. Load this skill
  3. Present options to user
  4. Execute chosen option
  5. Update status

Cross-Reference

  • [flow-release.md](../../commands/flow-release.md) - Release command
  • [verification-before-completion](../verification-before-completion/SKILL.md) - Verification skill

[PROTOCOL]: 变更时更新此头部,然后检查 CLAUDE.md

Compartilhar X LinkedIn