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.


Features

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.

Note

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.


Repositories

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 on the branch menu on the project bar.

  • 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 local changes in 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 remote changes from remote to your copy of the branch, updating your working directory version of the code.
  • Merge from branch to integrate changes from a remote branch to your local branch. To see someone else's merged changes, you will need to pull from remote.
  • Compare changes to compare the local changes you have made in a file to the version of that file from the last commit.
  • Reset branch to reset your local branch to either of the following states:
    • Reset to the latest local commit, discarding any uncommitted changes in your local branch.
    • Reset to the latest remote commit, discarding any local commits and any uncommitted changes in your local branch, and then pulling the latest commits from the remote branch.