Skip to content

Git in Designer

Git is a tool used for source control management in software development. It helps developers keep track of changes made to a project's source code, and collaborate without overwriting each other's work. Designer is built with Git from the ground up for version control, making it simple to collaborate and manage your data pipelines within your team.


Git in Designer offers you:

  • Version control: Git keeps a history of every commit, allowing developers to view and track progress in a project.
  • Collaboration: Multiple developers can work on the same project simultaneously, and Git ensures that everyone has access to the most recent version of the pipeline.
  • Branching and merging: Git makes it easy to create new branches for experimenting with new features, or for fixing bugs. You can then merge those branches back into the main codebase.
  • A distributed system: Git is a distributed version control system, which means that each developer has their own copy of the remote repository in their working directory. This makes it easy to work in isolation and merge changes back into the main codebase later.


It's important to note the difference between how Git works in Designer and standard Git. When you work in Designer, you don't have a copy of the files in your local machine. Instead, you'll have an online copy of the remote repository. This is essentially your working directory, which you can access when you're logged into the Hub with this specific account. However, the online copy in Designer is not automatically synced to the remote repository; therefore, changes that are staged and committed are isolated from the remote repository until you push. In the same way, new changes that are pushed to the remote repository by others are isolated from your online copy in Designer, until you pull remote changes.


When you create a project in Your projects, an associated Matillion-hosted Git repository is created with a default branch called main.

To start creating orchestration and transformation pipelines, click the branch you want to check out, and you will be redirected to the Designer UI.

We recommend using branches other than main to develop your orchestration and transformation pipelines.

Read Add branch to learn how to add a branch.

Git actions

You can find the available Git actions inside the Git drop-down menu on the Designer toolbar.

  • Commit changes to your pipelines, creating a new snapshot of the code. A commit is a "local" action and should be followed by a push action when you are ready to collaborate.
  • Push your commits to the remote repository when you're ready to collaborate, allowing other team members to access (pull) the changes into their own copy of the remote.
  • Pull changes from remote to your copy of the branch, updating your working directory version of the code.
  • Merge your committed work. To see someone else's merged changes, you will need to pull from remote.
  • Hard reset your local branch to reset it to your last local commit, discarding any uncommitted changes in your local branch.