Skip to content

Add branching model to dev docs #948

@carstingaxion

Description

@carstingaxion

Is your enhancement related to a problem? Please describe.

  1. Default and protected branches #506
  2. from @mauteri on slack:

    I'm starting to implement more of a gitflow process to development. so far i've locked down main so it can't be committed to directly. I've also created a develop branch where we will merge pull requests too. I'm going to start using alpha, beta and rc releases. Each of these releases will move from develop -> main and formatted like 0.32.0-alpha.1 followed by 0.32.0-alpha.2. same format for beta and rc (release candidate). a flow like this will be good to have in place and refined as the team and the project grows.
    develop branch is now the default branch for new pull requests. i've updated the old pull requests to be merged in there as well.

Designs

gitGraph
   commit id: "Initial Commit"
   branch develop
   commit id: "Add New Feature"
   branch feature/feature-1
   commit id: "Work on feature 1"
   commit id: "Finish feature 1"
   checkout develop
   merge feature/feature-1
   commit id: "Feature 1 merged into develop"
   branch feature/feature-2
   commit id: "Work on feature 2"
   commit id: "Finish feature 2"
   checkout develop
   merge feature/feature-2
   commit id: "Feature 2 merged into develop"
   checkout main
   merge develop
   commit id: "Release 1.0"
   branch hotfix/hotfix-1
   commit id: "Fix critical bug"
   checkout main
   merge hotfix/hotfix-1
   commit id: "Hotfix applied to main"
   checkout develop
   merge hotfix/hotfix-1
   commit id: "Hotfix applied to develop"

Loading

Key Elements in this Gitflow:

  1. Main branch: This is the production-ready branch. Direct commits to main are restricted, and it only receives changes through merges from develop. Version tags for releases are applied here.
  2. Develop branch: The default branch for new pull requests and feature development. It’s where feature branches are merged, and it's used to prepare alpha, beta, and RC releases.
  3. Feature branches: These are created off develop to work on individual features (e.g., feature/feature-c, feature/feature-d). Once complete, they are merged back into develop.
  4. Alpha, Beta, RC Releases: After merging feature branches into develop, periodic pre-release versions (e.g., 0.32.0-alpha.1, 0.32.0-beta.1, 0.32.0-rc.1) are merged into main with tags for testing and feedback.

Describe alternatives you've considered

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions