Skip to content

Branch naming

Paul Gerarts edited this page May 9, 2018 · 1 revision

Use underscores to separate words and forward slashes for categories.

General

Type tags

Short Long Explaination
feat Feature Adding [to] a single new feature
wip Work in progress Features without a roadmap
ab A - B test Changes for A-B testing
bug Bug fix Fix for a single bug / issue
junk Junk branch Not recommended - Branch to stash junk

Junk branches are appropriate when stashing locally is impossible / impractical and when forking is not an option.

Structure options

Splitting by type

During early development it can be useful to split by type (feature, bug, work-in-progress) to get a quick overview of what needs to be implemented and worked on.

Example structure when split by type

  • front_end_design_team
    • bug
      • shopping_cart/wrong_total
      • promo/no_video_playback
    • feat
      • home
      • contact
      • shopping_cart
  • server_team
    • bug
      • inventory/special_characters
    • feat
      • search/fuzzy_search

Branch names when split by type

Target Recommended structure Example
Multiple teams in a project team/type/section/subsection design/bug/shopping_cart/no_total
Multiple people with different responsibilities username/type/section/subsection jane_doe/feat/feed/media_queries
Team working together (main/)type/section/subsection ab/mobile_layout/article

Splitting by section

When a project has a lot of different (larger) segments / sections it can be useful to split by section. This allows developers to quickly get an overview of what needs to be done within a segment.

Example structure when split by section

  • front_end_design_team
    • contact
      • feat
        • interactive_map
      • bug
        • contact_form_broken_field
    • home
      • feat
        • video_header
        • recommended_items
      • bug
        • image_size
  • server_team
    • inventory
      • bug
        • special_characters
    • search
      • feat
        • fuzzy_search
        • suggestions
      • bug
        • zero_width_joiner_crash

Branch names when split by type

Target Recommended structure Example
Multiple teams in a project team/section/type/subsection design/shopping_cart/bug/no_total
Multiple people with different responsibilities username/section/type/subsection jane_doe/feed/feat/media_queries
Team working together (main/)section/type/subsection mobile_layout/ab/article