Using Git in Kyvos
This documentation is for Kyvos 2026.9.x. To view documentation for other Kyvos versions, click here. |
|---|
Overview
This section explains how to use a Git-based versioning and backup framework within Kyvos. The feature enables you to systematically manage entity versions, preserve milestone states, restore historical versions, and promote stable configurations across Kyvos environments, using Git as the transport and version-control layer.
By integrating Git, Kyvos enhances backup reliability, traceability, collaboration control, and environment migration, enabling customers to manage and track changes to analytical artifacts more effectively.
The primary objective of this framework is to introduce structured version governance while maintaining the Kyvos repository as the system of record.
Note
From Kyvos 2026.9 onwards, there’s support for automatic detection of modified entities for push and pull operations which eliminates the need to manually identify changed entities.
Pushing Entities from the Kyvos Repository to the Git Repository
To push entities from the Kyvos repository to the Git repository, perform the following steps.
Click the Toolbox and select Utilities > Push to Git Repository. The Push to Git Repository dialogs box is displayed.
Select one of the following to synchronize the required entities between the Git repository and the Kyvos repository.
Detect Changes Automatically: Click this option to automatically detect changes between the two repositories.
Sync Manually: Click this option to manually synchronize the required entities between the Git repository and the Kyvos repository.
Note:The procedure from Step 3 onward shows how to manually sync required entities between the Git repository and the Kyvos repository. To learn how to detect changes automatically, see the Detect Changes in Modified Entities Automatically section.
In the Connection field, select the required Git connection.
In the Branch field, select the target branch where the entities will be pushed.
In the Kyvos Repository pane, select the type of entity (for example, dataset or user) that you want to push to the Git repository.
After selecting the entity type, the corresponding entities available in Kyvos are displayed in the Selected Entities section. For example, if you select semantic models, all semantic models created in Kyvos are listed in the Selected Entities section.
From the Kyvos Repository section, select the required entity that you want to push to the Git repository. You can select one or multiple entities as needed.
Select the entities that you want to push. The selected entities are displayed in the Selected Entities to Push section. To remove the selected entities before pushing, click Clear Selection. You can also click Cancel to exit the process without pushing entities.
Click Check for Conflicts. If conflicts are identified, then then resolve them accordingly. For more information, see Resolving Git Conflicts.
Review the selected entities and the target Git branch in the Push to Git Repository page.
Click Push Entities to push the selected entities to the Git repository. The Confirm to push dialog box is displayed.
In the Confirm to Push dialog box, verify the Target Branch.
Enter a meaningful description in the Commit Message box.
(Optional) Select Create tag to create a Git tag that should include some meaningful description for the commit. Kyvos recommends adding a tag whenever you push Kyvos entities.
Click Push to Git to push the selected entities to the Git repository. Click Cancel to close the dialog without pushing the changes.
Pushing to a New Branch
You can create a new Git branch directly from the Kyvos UI during a push operation to organize and manage changes efficiently in the Git repository.
To create a new Git branch during push operation, perform the following steps.
Open the Push to Git Repository page.
From the Branch drop-down list, click Push to New Branch.
The Create New Branch dialog box is displayed.Select one of the following branch creation options:
Create from an existing branch: Create a new branch from an existing branch.
Create an orphan branch: Create a new empty branch.
If you select Existing Branch, select the source branch from the Select the base branch drop-down list.
In the New branch name field, enter the name of the new branch.
Click Create Branch.
The new branch is created and selected for the push operation.
Pulling Entities from the Git Repository
You can retrieve entities from a Git repository and import them into the Kyvos repository. This allows users to restore entities, synchronize environments, or retrieve previously committed versions.
To pull entities from a Git repository and import them into the Kyvos repository, perform the following steps.
Click the Toolbox and select Utilities > Pull from Git Repository. The Pull from Git Repository dialogs box is displayed.
Select one of the following to synchronize the required entities between the Git repository and the Kyvos repository.
Detect Changes Automatically: Click this option to automatically detect changes between the two repositories.
Sync Manually: Click this option to manually synchronize the required entities between the Git repository and the Kyvos repository.
Note:The procedure from Step 3 onward shows how to manually sync required entities between the Git repository and the Kyvos repository. To learn how to detect changes automatically, see the Detect Changes in Modified Entities Automatically section.
In the Connection field, select the required Git connection.
Select either Branch or Tag, depending on the source from which you want to pull entities.
In the Branch (or Tag) field, select the required branch or tag from the Git repository.
Click Fetch to load the repository contents. The available entities from the selected branch or tag are displayed.
In the Git Repository pane, select the type of entity (for example, dataset or user) that you want to pull from the Git repository.
After selecting the entity type, the corresponding entities available in Git are displayed. For example, if you select semantic models, all semantic models available in Git are listed.
Select the required entity or entities that you want to pull from the Git repository. You can select one or multiple entities as needed. The selected entities appear in the Selected Entities to Pull section.
If conflicts are detected, resolve them following the steps mentioned in Resolving Git Conflicts.
After resolving the conflicts, click Mark as Resolved to finalize the resolution.
Click Pull Entities to import the selected entities into the Kyvos repository. To uncheck the selected entities, click Clear Selection. You can also click Cancel to exit the process without pulling entities.
Detect Changes in Modified Entities Automatically
You can automatically detect modified entities during both push and pull operations. The process is the same for both push and pull operations. However, the screens may vary depending on the operation. The following steps illustrate the automatic change detection process for a push operation.
To detect changes automatically, perform the following steps.
Click the Toolbox and select Utilities > Push to Git Repository. The Push to Git Repository window is displayed.
In the Connection field, select the required Git connection.
In the Branch field, select the target branch where the entities will be pushed.
Select Detect Changes Automatically and click Detect Changes. All available entities will be displayed along with their signs (merged or conflict)
In the Changed Entities pane, select the required entity (for example, dataset or user) or entities that you want to push to the Git repository. You can select one or multiple entities as needed and can filter the displayed entities using the following options:
Added: Displays only the entities that are newly added in the Kyvos repository.
Modified: Displays only the existing entities that have been modified since the last synchronization.
All: Displays both newly added and modified entities.
Select the entity or entities that you want to push to the Git repository. You can select one or multiple entities as required. Entities with conflicts are marked with a conflict indicator (red warning icon).
Click the conflict indicator (red warning icon) next to an entity with a conflict. In the Review and Resolve section, compare the version of the entity in the Kyvos repository with the version in the Git repository.
Resolve all identified conflicts as required.
Review the selected entities and the target Git branch.
Click Push Entities to push the selected entities to the Git repository. The Confirm to push dialog box is displayed.
Enter a meaningful description in the Commit Message box.
(Optional) Select Create tag to create a Git tag that should include some meaningful description for the commit. Kyvos recommends adding a tag whenever you push Kyvos entities.
Click Push to Git to push the selected entities to the Git repository. Click Cancel to close the dialog without pushing the changes.
Resolving Git Conflicts
When conflicts are detected between the Kyvos repository and the selected Git branch, you must resolve them before completing the push or pull operation. The conflict resolution process is the same for both push and pull operations; however, the screens may vary depending on the operation. The following steps illustrate the conflict resolution process for a push operation.
Note
The Push or Pull Entities button remains unavailable until all conflicts have been resolved.
Select the entities that you want to push to the Git repository.
In the Changed Entities section, click the conflict indicator (red warning icon) next to any entity that has a conflict. The Current Version pane displays the version of the entity in the Git repository, while the Final Version to be Pushed pane displays the version of the entity in the Kyvos repository.
Click Mark as Resolved to push the version of the entity in the Kyvos repository to Git repository.
Repeat the conflict resolution process for all conflicted files.
Verify that all conflict indicators are resolved and replaced with tick indicators
.
Once all conflicts are resolved, click Push Entities to complete the push operation.
Click Cancel to exit without pushing changes.