Git Branching Strategy – 3 Factors to pick right one

If you are reading this post, then most probably you are using Git source control , probably some of the top Git platforms or Azure Repos , or Gitlab , and various others. And may be while you are using Git and applied some form of Branching to enable faster delivery, you are wondering why does the developers struggle with basic code issues ?.This post attempts to focus on 3 Factor to decide Git Branching Strategy for your team.

Git Branching Strategy

There are multiple approach to apply Git branching for your teams to help release features faster and with great quality.

You can visit gitflow for most commonly used branching.

Also, you could visit my post on Git branching strategies to know various branching strategies based on my experience , which with a bit of tweaking, you can apply for your projects.

The branching strategy you decide impacts your teams in two factors

  1. Testing
  2. Certainty of release

There are 3 main factors i have seen impacting this decision :

3 Factors for Git Branching

Team Size

Team Size

First of the 3 factors to decide branching strategy, is the team size.

Typically, team size can be

  • Small
  • Medium
  • Large

It doesn’t make sense to use a complex branching strategy if you have a small team who sit close to each other. For small and medium teams the simple branching or developer branching would suffice , or a combination of simple and developer/release branching, as team grows you have to look at hybrid or more complex branching

Team Locations

Team Location

Second factor of the 3 factors to decide branching strategy which would determine effectiveness of your branching would be the location of your teams. Generally speaking we could consider team location into 3 types

  • Co located
  • OffShore – OnShore
  • Multi – Geo

teams might get away with simplest of branching strategies , but as teams go multiple geo locations the branching strategy should be carefully decided along with the teams.

Application Type

Application Type

Last of the 3 factors to decide branching strategy is the type of application development model will have some impact on how effective branching is. Below are few application type which may fit into your app

  • Cloud or On Premise
  • Application Support
  • Greenfield Applications

You could get more benefits by optimising DevOps with Git Branching. Read more in my post Git – DevOps Workflow

Let me know if there are other factors you feel impact the Git Branching Strategy from your experience.