Now Available On-Demand | AI. The Future of Data Engineering - Today. Not Just Tomorrow.

Watch now

Mastering Git at Matillion. Branching

Welcome back to our Git series! We’re continuing our journey into the heart of version control. In our last blog post, we explored the concepts of working directory, staging, local, and remote workspaces, along with common Git actions like add, commit, push, and pull. Now, it's time to dive into another essential aspect of Git: Branching.

Branching, Safety, and Isolation

Just as a tree branches out into different paths from its trunk (in Git, the main branch is sometimes referred to as “trunk”), Git allows you to create branches in your project's development timeline. Creating a branch, aptly named “branching,” in Git provides a separate space for you to innovate and iterate without disrupting the stability of the main project. And fear not – if you make a mistake or encounter obstacles along the way, Git's commit history allows you to backtrack and explore alternative routes with ease.

Note: Backtracking through previous versions is currently only supported externally in the Data Productivity Cloud using our “Connect your GitHub Repository” feature.


Branching not only enhances flexibility but also fosters collaboration within your team. By creating feature branches, each developer can work independently on their assigned tasks without stepping on each other's toes, promoting productivity and accelerating the pace of innovation. Merging complements branching in Git's version control workflow. When it's time to integrate your changes back into the main codebase, Git's merging capabilities allow you to incorporate your branch's changes into the project safely and easily. 

Keep an eye out for our coverage of merging in a future blog post: exploring different approaches to the merging process, ensuring smooth transitions between branches, and preserving the integrity of your project's history.

Commits on branches

Each branch maintains its own isolated history of commits, allowing developers to work on distinct features or fixes without interfering with the main codebase. When commits are made on a branch, they remain confined to that branch until it's merged back into another branch, such as the main branch. This ensures that changes are contained within their respective branches until they're ready to be integrated into the larger project. The branching and merging workflow facilitates a structured approach to development, enabling teams to collaborate efficiently and manage changes with precision.

Strategies, a preview

There are a variety of branching strategies that we’ll delve deeper into in our next blog post, exploring best practices for managing branches effectively in different project scenarios. Whether you're working on a small-scale project or a large-scale enterprise application, selecting a suitable branching strategy is essential for maintaining code quality and project stability.


Branching in Git empowers developers to explore new ideas, experiment with features, and collaborate seamlessly with team members. By embracing the branching model, you can navigate the complexities of software development with confidence, safety, and agility.

Stay tuned for our upcoming installments, where next, we'll unravel the mysteries of branching strategies and equip you with the tools and techniques needed to harness the full potential of Git. Until then, happy branching and Git Good with the Data Productivity Cloud!

Find Part One and Part Three here! 

Bryns Jones
Bryns Jones

Senior Engineering Manager

Bryns Jones is a Senior Engineering Manager working with the DataOps team at Matillion