Skip to content

Branches#

All development work is done on branches, which are merged into main via merge requests.

  • Start from an issue. All work must be tracked in a CTA GitLab issue. Follow the issue guidelines and apply the required labels.
  • Create development branches from the issue via “Create merge request”. This enforces naming, opens an MR immediately, and the branch will be auto-deleted on merge.
  • Create non-merging branches via “Create branch”. Use this for benchmarking/testing spikes. It links to the issue but does not open an MR; you must delete the branch when finished.

Info

Ensure you frequently rebase your branches to prevent having to do a potentially complicated rebase at the very end.

Naming

  • Allowed characters: a–z, 0–9, -, /, . (lowercase).
  • Pattern:
    <issue-number>-<issue-title-slug>
    

Creating the branch from the issue applies this automatically.

  • Rarely, a branch may exist without an issue (must be justified). Use a clear, descriptive name. For test/benchmark work tied to an issue, reuse the base name with a descriptive suffix, and clean it up when done.

Forks

Prefer branches in the main repo. Use forks only when required (e.g., permission constraints).