From ccf04ee1445d6792c0536b61a7e98ab25cd58e66 Mon Sep 17 00:00:00 2001 From: c4605 Date: Thu, 29 Aug 2024 13:47:52 +0200 Subject: [PATCH] docs: add docs/project-branch-model.md to illustrate the branch model --- docs/project-branch-model.md | 40 ++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docs/project-branch-model.md diff --git a/docs/project-branch-model.md b/docs/project-branch-model.md new file mode 100644 index 0000000..4a2e0f0 --- /dev/null +++ b/docs/project-branch-model.md @@ -0,0 +1,40 @@ +# Project Branch Model + +## Branch Structure + +- `master` +- `snapshots/*` (including `feature/*`, `fix/*`, etc.) +- `releases/latest` +- `releases/v*` + +## Branch Descriptions + +### Main Branch + +The `master` branch is our blessed branch, has the latest code and documentation. + +### Working Branches + +`snapshots/*`, `feature/*`, `fix/*`, and other similar branches are used as working branches for ongoing development. + +### Release Branches + +- `releases/v*`: Specific version release branches +- `releases/latest`: Always points to the latest release branch + +## Workflow + +1. Development occurs in working branches (`snapshots/*`, `feature/*`, `fix/*`, etc.). + +2. Periodic pull requests are created from working branches to `master`, allowing team members to review changes and update corresponding documents. + +3. After `master` is updated, working branches are rebased onto `master` to continue development. + +4. For public releases: + - Version number is bumped + - Changes are merged into `releases/v*` branches + +5. Cloudflare tracks all `releases/*` branches, building and hosting documentation for each version. + +6. The `releases/latest` branch is updated to reference the most recent release, ensuring the latest documentation is always available. +