---
title: "Learn versioning and repositories basics"
description: "This tutorial demonstrates how to use the Platform's native versioning system or how to setup a Git repository to track the changes in your Data"
url: https://docs.ovhcloud.com/en/guides/public-cloud/data-platform/tutorials-versioning-basics
lang: en
lastUpdated: 2026-09-14
---
> For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/en/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/en/llms-full.txt.

# Learn versioning and repositories basics

## Objective

This tutorial demonstrates how to use the Platform's native versioning system or how to setup a Git repository to track the changes in your [Data Processing Actions](https://docs.ovhcloud.com/en/guides/public-cloud/data-platform/landing-page-dpe-actions.md).

## Introduction

### Requirements

To follow this tutorial, you need to be familiar with the [Data Processing Engine](https://docs.ovhcloud.com/en/guides/public-cloud/data-platform/landing-page-dpe.md) and you should preferably have done the [Getting Started guide](https://docs.ovhcloud.com/en/guides/public-cloud/data-platform/landing-page-getting-started.md). The essential is that you know what [Actions](https://docs.ovhcloud.com/en/guides/public-cloud/data-platform/landing-page-dpe-actions.md) are for and how to use them.

### Concepts overview

Editing actions is always on autosave mode. When you are trying to iterate on existing actions, it is recommended to create several versions of the actions' code. This lets you incrementally introduce variations to experiment and test your work, while keeping the version in production always intact.

**On the Platform, this versioning happens at the level of the repositories**. The repositories are the tabs you see at the top of the Actions' tree view.

![repos](/images/public-cloud/data-platform/getting-further/versioning/picts/repos.png)
You cannot version an individual action, but rather a whole repository of actions. The versioning panel can be accessed at the top right of the repository header:

![Concepts overview — Versioning panel](/images/public-cloud/data-platform/getting-further/versioning/picts/versioning-panel.png)
There are 2 versioning systems on the Platform:

- [Data Platform version control system](https://docs.ovhcloud.com/en/guides/public-cloud/data-platform/dpe-actions-manage.md#use-the-platform-version-control-system): the default versioning system on all repositories
- [Git versioning](https://docs.ovhcloud.com/en/guides/public-cloud/data-platform/dpe-actions-manage.md#use-a-repository-linked-to-git): if you decide to synchronize your repository with Git

Now let's see how all of this works in practice!

## Use the Platform version control system

By default, each repository of actions on the platform has an integrated version control system which allows you to manually manage the different versions of the code (i.e. actions) they contain.

Repositories all have:

- a _deployed version_, which is the version served when [executing the job](https://docs.ovhcloud.com/en/guides/public-cloud/data-platform/landing-page-dpe-jobs.md).
- an _editing version_, which is the version currently being edited through the editor panel.

:::info
If your repository only has _one version_, the active version is the same as the deployed version, which means that you are editing your actions in production.
:::

If your repository has _two versions or more_, the deployed version cannot be edited. It can be viewed in read-only mode.

Versions need to be created manually. To create a new version for the repository, open the versioning panel at the top right and click on the **+** icon.

![Use the Platform version control system — Versioning fp1](/images/public-cloud/data-platform/getting-further/versioning/picts/versioning-fp1.png)
Choose which version to duplicate to create the new version.

![Use the Platform version control system — Versioning fp2](/images/public-cloud/data-platform/getting-further/versioning/picts/versioning-fp2.png)
After creating the new version, the _deployed version_ will not change. You are able to edit the new version directly.

![Use the Platform version control system — Versioning fp3](/images/public-cloud/data-platform/getting-further/versioning/picts/versioning-fp3.png)
Click on the **Play** button to set a new version as the deployed version: the version of the code used when actions of the repo are executed.

![Use the Platform version control system — Versioning fp4](/images/public-cloud/data-platform/getting-further/versioning/picts/versioning-fp4.png)
## Use a repository linked to Git

Each repository can be linked to an external Git repository in which case versions are synced with Git commits. This allows you to update & test actions continuously without affecting the version deployed in production.

### Linking a repository to Git

To link your repository on the platform to Git, you must click on the gear icon to edit an existing repository or create a new a one. Either of this actions will open the repository configuration window.

![img1](/images/public-cloud/data-platform/getting-further/versioning/picts/repository_configuration_window.png)
Click on _Connect to Git_ to expand the window.

![img1](/images/public-cloud/data-platform/getting-further/versioning/picts/repository_configuration_full.png)
Here the first thing you need to enter is the Repository SSH URL.

It is generally found on repository cloning options of common Git solutions. On GitHUB, for instance, it can be found on Code > Clone > SSH.

![github](/images/public-cloud/data-platform/getting-further/versioning/picts/github.png)
Next click on _FETCH_ to get the distant branches and select the branch you desire to use.

Finally, copy the Public SSH key given at the bottom and paste it in the list of SSH keys associated to your account on your Git solution. For GitHUB, you can follow [this tutorial](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account).

### Committing and pushing

After changing an object in a repo, your repo will display the uncommitted changes as shown in the image below. You can commit and push them by clicking on the arrow pointing upwards indicated in the image.

![commit](/images/public-cloud/data-platform/getting-further/versioning/picts/commit_push.png)
:::info
If there is a conflict when you push, your changes will not be pushed to the branch you configured, instead they will be pushed to a new branch with same name of the current branch and a suffix of _\_conflictN_, where N is the number of the conflict. For example, if your branch is named _current-branch_ and your push causes a conflict, the new branch will be named _current-branch\_conflict1_. If there is a conflict again when you push, the new branch will be named _current-branch\_conflict2_.
:::

### Pulling and merging

Pull distant changes by clicking on the arrow pointing downwards indicated in the image, a popup window will prompt you to confirm your decision. All uncommitted changes will be lost and both branches will be merged together.

![pull](/images/public-cloud/data-platform/getting-further/versioning/picts/pull_merge.png)
## Go further

If you need training or technical assistance to implement our solutions, contact your sales representative or click on [this link](https://www.ovhcloud.com/en-gb/professional-services/) to get a quote and ask our Professional Services experts for a custom analysis of your project.

Ask questions, give your feedback and interact directly with the team building the Data Platform on the dedicated [Discord channel](https://discord.gg/ovhcloud).

If you need support with your OVHcloud services, create a request in our [Help Centre](https://help.ovhcloud.com/csm?id=csm_get_help).

Join our [community of users](https://community.ovhcloud.com/).
