Version Control & Git Branching Strategy
All code we write is stored in a Git version control repository. This article explains how we manage code versions and what this means for your project's reliability and auditability.
What Is Git?
Git is the industry-standard version control system. Every change to your codebase is recorded as a commit, with who made it, when, and why. This means:
- Every change is traceable and auditable
- We can identify exactly when and why a bug was introduced
- We can revert to any previous state of the code
- Multiple engineers can work on the same codebase without overwriting each other's work
Our Branching Strategy
We use a Git branching strategy (typically Git Flow or Trunk-Based Development depending on project type):
- main/master: Always represents the current production-ready code. Protected — no direct pushes allowed.
- develop: The integration branch where completed features are merged before release
- feature branches: Each piece of new work is developed on its own branch, keeping main clean
- release branches: Created when preparing a production release — final testing and fixes happen here
- hotfix branches: For urgent production fixes that cannot wait for the next release cycle
Code Repository Access
Your code repository is typically hosted on GitHub, Bitbucket, or Azure DevOps. Access is provided to you under your project — you can view the code, commit history, and pull requests at any time. If you want to add your internal developers as observers or contributors, request this via your Project Manager.
Handover
At project completion, the full repository with all its history is yours. We will transfer ownership or provide export in your preferred format.