Skip to main content

Connect to GitHub/GitLab


By default, your analytics code in Holistics is kept in an internal Git repository that Holistics maintains. In case you want to have more granular control of your code base, you can easily connect your Holistics account with an external repository in GitHub or GitLab

Benefits of using an external repository:

  • You have direct access to a backup version of your analytics code.
  • You can apply proper data governance and quality control protocols by enforcing a code review process before someone click Deploy to production.
  • You can leverage your own local editor (i.e VS Code) to manage Holistics modeling layer and push changes back to Holistics conveniently.

How to connect to your external Git repository


Ensure that your external Git repository is a bare repository. It must not have any commits, or contain any default file like,, etc.

  1. Create an empty Git repository (without a README) on GitHub, GitLab or any Git-based version control platform of choice.

    If you use Github to initialize a new repository

    When initializing a new repository in Github, be careful not to select the options to generate default files.

  2. Navigate to the Version Control Settings page.

  3. Get the SSH URL for the external Git repository.

  4. Paste the SSH URL into the “SSH URL” field on the Version Control Settings page.

  5. Copy the Deploy Key which Holistics provides on the Version Control Settings page and paste it into the Settings for the repository:

    Make sure to select the Allow write access option because Holistics requires this setting in order to make and deploy changes.

  6. Navigate back to the Version Control Settings page and click Test connection.

  7. Once the connection is successfully established, a new master branch will appear in the repository, along with a set of folders, one for each object type that is synced. Holistics will then sync with the master branch in the repository as the Production branch.


  • Any changes made in Holistics will be synced to the external repository at the corresponding branches
  • Any changes merged into the master branch in the external repository will be reflected in the Holistics. However, it will not affect your production directly. You will need to pull changes from master branch and merge to your current branch in Holistics. After that, you can click Deploy to production.

To make full use of you new setup with external Git repository, you can take an extra step and enforce a pull request & code review process.

Let us know what you think about this document :)