Integrations → Git for Version Control

Overview

Starting with the 2025.7.0 release, Incorta has introduced Git integration, offering robust version control. The first phase of this feature's implementation brings version control to materialized views (MVs) and business notebooks.

This integration is designed to offer the following:

  • Version tracking: View a complete history of all changes made to the supported entities, such as MVs and business notebooks.
  • Rollback capabilities: Restore previous versions to revert unwanted changes easily.
  • Auditing: Audit changes with commit messages and version history.
  • Streamlined deployments: Provide an alternative to manual deployment processes between different environments.

Integration prerequisites and guidelines

Integration prerequisites and guidelines

Before you can enable the Git integration, ensure you have the following in place:

  • A Git repository (a repository on GitHub or GitLab, for example) dedicated to your Incorta content
  • A dedicated branch for each Incorta environment
  • A Git account with the required permissions
  • A personal access token (PAT). You can generate a PAT in your Git provider's settings. Refer to the Git provider’s documentation, for example, GitHub’s PAT documentation.

Guidelines for setting up the Git repository

To maintain a reliable integration process with your Git provider, follow these key guidelines:

Git provider

  • The provided Git repository must be used exclusively for Incorta.
  • Use a dedicated branch for each Incorta environment; do not reuse branches across different Incorta environments.
  • Do not change the configured Git repository or branch after initial setup.

Account permissions

  • Git account for CMC configuration
    • Clone repositories
    • Create branches
  • Git account for user configuration
    • List branches (Fetch remote origin)
    • Push
    • Pull
    • Content read and write access

General

  • Perform all modifications to MVs and Notebooks exclusively through Incorta.
  • To maintain a clean commit history, avoid operations from other sources that would rewrite commit history (e.g., amending or re-ordering remote commits).
  • It is highly recommended to set up Incorta branches as protected branches to prevent forced pushes.
  • When authoring commits, ensure all relevant changes are included in a single commit.

Setup and Configuration

The Git integration requires a two-step configuration process:

Step 1: Enable the integration

A CMC or cloud administrator must first enable the feature in the Cluster Management Console (CMC).

  1. Sign in to the CMC, and then navigate to Clusters > <your_cluster> > Cluster Configurations > Server Configurations > Git Integration.
  2. Turn on the Git Integration toggle, and then add the following details:.
    • In Repository, enter the full Git repository URL where your content will be saved, for example, https://github.com/MyAccount/incorta.
    • In Branch, specify the branch dedicated to your environment.
    • In Username, enter the Git account's username.
    • In PAT, enter the Git account’s access token (PAT).
  3. Select Save.
  4. Restart the Analytics services.

Step 2: Individual user configuration

Once configured in the CMC, a new icon, Source Control, will appear on the details pages of the supported entities; however, it will be disabled till the user provides their own Git username and PAT.

You can provide your Git username and PAT using either of these two methods:

Method 1: From the details page of a supported entity When you open a supported entity, such as an MV, the Source Control icon will appear.

  1. Hover over the Source Control icon.
  2. Select Enter credentials.
  3. Enter your Git username and PAT, and then select Save.
Important

To use this feature, the user account must have the necessary access rights to the related entity. For example, to commit new MV versions, a user needs to either own the physical schema or have at least Edit access to it.

Method 2: From your profile page

  1. In the navigation pane, select Account, and then select your username and email.
  2. On your profile page, navigate to the Access tab.
  3. Under the Remote Git tab, enter your Git username and PAT.
  4. Select Save.

How to use the feature

After providing your Git credentials, the Source Control icon becomes available on the details pages of the supported entities. You can now do the following:

  • Commit a change: Save your changes to the remote Git repository.
  • View version history: See a timeline of commits, allowing for easy change tracking.
  • Restore a version: Restore any version from the history as a draft, which you can then save as a new version or continue editing.
  • Get the latest version: Get the latest version from the same branch, another branch, or a folder.

Limitations and conflict resolution

  • Saving an entity in Incorta and committing the current draft/version are two separate processes.
  • There is no visual interface to resolve conflicts or to compare the local version to the remote version.
  • If a version conflict occurs, you must first restore the latest version from source control, then manually reapply your changes.
    Note

    A conflict can occur when the remote branch has changes that you haven't pulled yet, and you attempt to commit your local changes.