# Recovering multiple repositories

## Recovery process

{% stepper %}
{% step %}
Get into the restore view using the following method:

1. Open the **GitLab** tab (**DevOps** > **GitLab**), then click the **Manage & Restore** button next to the organization whose backup you want to restore.
2. Select the repositories you want to restore and click the **Restore selected** button in the top menu.

<figure><img src="/files/mJzWX64xSB6ZxDURVszm" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
By clicking an individual repository, an aside will appear where you can select a **backup plan** and a **backup version** to restore. Click **Select** under your chosen backup copies to continue.

<figure><img src="/files/Ya9kkNnGiuIkWd1b4AeJ" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Select the destination for the restore process. You can choose one of the assigned organizations from any **Git** service or any device.
{% endstep %}

{% step %}
Choose whether to include metadata in the backup.
{% endstep %}

{% step %}
Next, select the destination where you want to restore the data.

<figure><img src="/files/ptLAY6ep3OIbgMTAXW8s" alt=""><figcaption></figcaption></figure>

#### A. Restore to a Git organization

In **Map organizations** section, select the target organizations where the repositories will be restored.

{% hint style="info" %}
If the recovery destination is **Azure DevOps**, the **Map organizations** section will be replaced by **Target organization** and **Target project** settings.
{% endhint %}

<figure><img src="/files/8QJsWRQkjmwP6yPUkaBM" alt=""><figcaption></figcaption></figure>

In the **Restore settings**, you can configure the following options:

<figure><img src="/files/D8MeMs8VYnCvkJfN2NgC" alt=""><figcaption></figcaption></figure>

When you toggle **Restoring repos with custom name** switch, a window will appear allowing you to rename one or more repositories.

<figure><img src="/files/uRsUymlDLHIV2gywHfWl" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Restoring never overwrites existing repositories in the organization — if you do not choose a repository name, or if you enter the name of a repository that already exists in your organization, **the restore will fail**. To complete the restoration successfully, you must choose a unique repository name or select the **Add suffix to repo name** option so the restored repository keeps its original name with an automatically generated suffix.
{% endhint %}

#### B. Restore to a device

{% hint style="warning" %}
To restore a repository to a local device, you must have a **Git** client installed on that device.
{% endhint %}

{% hint style="danger" %}
You can restore <mark style="color:$danger;">**only the repository**</mark> (without metadata) when restoring data to local resources.
{% endhint %}

1. Select the destination device.
2. Make sure the device where you want to restore data has the **Xopero ONE agent** installed and the **Git** client added to the **PATH** environment variable. The **PATH** variable is usually configured automatically after **Git** installation (a system restart may be required). If it isn’t, set it manually to the path of the **git.exe** file: `C:\Program Files\Git\bin\git.exe`

{% hint style="info" %}
To configure the **PATH** variable, open the environment variables, select the **PATH** variable, and click the **Edit** button. Copy the path to the **git.exe** file and add it to the **PATH** variable.
{% endhint %}

3. Select the directory where you want the data to be restored.

{% hint style="success" %}
If a repository already exists in the selected folder, you can choose to overwrite the existing data.
{% endhint %}

4. Additionally, in the **Restore settings**, you can limit bandwidth usage during the recovery process.
   {% endstep %}

{% step %}
In **Device used to restore the data** section, choose the device that will be responsible for performing the restoration.

<figure><img src="/files/XEUwauxojTezOfSQrWvV" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
After defining all parameters, click the **Start now** button to begin the restore process. When the process is complete, new repositories will be created in your organization account.
{% endstep %}
{% endstepper %}

***

## Useful links and items

{% content-ref url="/pages/MPPruGaBeSFEcj3XiDhQ" %}
[Xopero ONE Agent](/xopero-one-en/deployment-and-configuration/xopero-one-agent.md)
{% endcontent-ref %}

{% content-ref url="/pages/VfmAzO4RFFbc2ck2y96M" %}
[Cross-recovery for DevOps organizations](/xopero-one-en/backup-and-recovery/devops/general/cross-recovery-for-devops-organizations.md)
{% endcontent-ref %}

{% content-ref url="/pages/SZG8dLNiBbeA6U1nHebm" %}
[LFS recovery for DevOps organizations](/xopero-one-en/backup-and-recovery/devops/general/lfs-recovery-for-devops-organizations.md)
{% endcontent-ref %}

{% content-ref url="/pages/fqHadXWTxBQLul6SCq9x" %}
[Wiki recovery for DevOps organizations](/xopero-one-en/backup-and-recovery/devops/general/wiki-recovery-for-devops-organizations.md)
{% endcontent-ref %}

{% content-ref url="/pages/ch2cGR1agZ7mvw2L8z3N" %}
[Throttling prevention](/xopero-one-en/compliance-and-risk-management/throttling-prevention.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://helpcenter.xopero.com/xopero-one-en/backup-and-recovery/devops/gitlab/recovery/recovering-multiple-repositories.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
