Description 612 -> 273 chars, body 1124 -> 457 words. Branch patterns, operations, merging, comparison, and the orchestrator contract move to references/. Corrects rebase routing in four places: this skill sent rebase to git-history, which carries no rebase content and disclaims it. Rebase is git-commits'; cherry-pick and revert stay git-history's. Drops a Step 3 gate on a rebase flow this skill does not have.
1.2 KiB
1.2 KiB
source_keys
| source_keys | |||
|---|---|---|---|
|
Branch patterns
Which pattern is in play decides the base branch, the branch name prefix, and whether merges are
allowed to fast-forward. Default to GitHub Flow — simpler, and what CI/CD-oriented repos expect.
Fall back to Gitflow only when the config says so or the repo already carries develop or
release/* branches.
GitHub Flow
- Base:
main - Feature branches:
feature/<feature-name>orfix/<bug-name> - Merge: fast-forward where possible, to keep history linear
- Delete the branch after merge
Gitflow
- Base:
main(production) plusdevelop(integration) - Feature branches:
feature/<feature-name>, cut fromdevelop - Release branches:
release/X.Y.Z, cut fromdevelop, merged to bothmainanddevelop - Hotfix branches:
hotfix/X.Y.Z, cut frommain, merged to bothmainanddevelop - Merge: always
--no-ff, so the branch structure survives in the history
The two are not mixable. A --no-ff merge into a GitHub Flow repo leaves merge commits nobody
expects; a fast-forward merge of a Gitflow release branch erases the release boundary.