api: YAML JSON TOON Database
version: 1.0.0
format: yaml
dataset:
  id: 2924
  slug: version-control-workflows
  title: Version Control Workflows
  description: Common branching and collaboration workflows.
  summary: "Branching and collaboration workflows for version control: centralized, feature branch, Gitflow, forking and trunk-based development, plus GitHub Flow, GitLab Flow, release branching and stacked changes. Each row says how work moves from a branch to release."
  use_when:
    - You are choosing or documenting a team's branching strategy.
    - You need to compare workflows by release cadence and review style.
  caveats:
    - The right workflow depends on release cadence, team size and test automation; there is no universal best.
    - Several names are used loosely, and tools differ in how they implement the same workflow.
  related:
    - git-essential-commands
    - cicd-pipeline-stages
    - site-reliability-practices
  entry_count: 9
  fields:
    - section: data
      field: workflow
      type: string
      example: Centralized
    - section: data
      field: description
      type: string
      example: All developers commit to a single shared branch.
  category: DevOps
  category_slug: devops
  tags: devops,git,workflow
  view_count: 45
  created_at: 1793403093
  updated_at: 1793403093
data:
  - workflow: Centralized
    description: All developers commit to a single shared branch.
  - workflow: Feature Branch
    description: Each feature is developed in an isolated branch and merged via pull request.
  - workflow: Gitflow
    description: Uses master, develop, feature, release, and hotfix branches.
  - workflow: Forking
    description: Contributors fork the repository and submit pull requests.
  - workflow: Trunk-Based
    description: Developers commit to a single trunk frequently with short-lived branches.
  - workflow: GitHub Flow
    description: Short-lived branches off main, pull requests for review, merge and deploy continuously.
  - workflow: GitLab Flow
    description: Feature branches plus environment or release branches to model staged deployment.
  - workflow: Release Branching
    description: Cut a branch per release for stabilization and patching while main continues forward.
  - workflow: Stacked Changes
    description: Break a large change into a chain of small dependent branches reviewed and merged in order.
