Skip to content

Commit 5231295

Browse files
committed
docs(governance): add canonical merge-method decision matrix (#78)
1 parent 5f9175c commit 5231295

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

docs/developer/branching-strategy.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,19 @@
4040

4141
### Operational Rule
4242
- If a direct `main` -> `develop` PR is opened and blocked by merge policy, close it and create a linear sync PR from `develop`.
43+
44+
## Merge Method Decision Matrix (Canonical)
45+
46+
For this repository, the correct merge method depends on the branch pair:
47+
48+
1. feature/* or fix/* -> develop: Squash and merge (recommended).
49+
2. develop -> main (release PR): Create a merge commit.
50+
3. hotfix/* -> main: Squash and merge.
51+
4. main -> develop sync: do not use direct merge or rebase-merge; use the linear cherry-pick sync PR model.
52+
53+
### Rationale
54+
55+
- This policy is defined in this branching strategy and related governance docs.
56+
- Squash keeps develop clean and supports one-issue-per-commit traceability.
57+
- Merge commit on develop -> main preserves release boundary/history.
58+
- Rebase-merge is not a project standard for these flows and can reduce governance traceability in this model.

0 commit comments

Comments
 (0)