> For the complete documentation index, see [llms.txt](https://helpcenter.gitprotect.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://helpcenter.gitprotect.io/backup-and-recovery/devops/azure-devops-and-devops-server/recovery/recovering-multiple-repositories.md).

# Recovering multiple repositories

How to restore multiple Azure DevOps and DevOps Server repository backup copies at once.

**Recovering multiple Azure DevOps repositories simultaneously enables organizations to quickly restore only the selected repositories, ensuring consistent and reliable recovery across the development environment.**

***

## Recovery process

The following steps demonstrate how to restore multiple **Azure DevOps** repositories at once using **GitProtect Management Service**.

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

1. Open the **Azure DevOps** tab (**DevOps** > **Azure DevOps**), then click the **Explore** button next to the organization whose backup you want to restore (explore <img src="https://696332517-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtsE6XtJyUIEKVdSxPlS3%2Fuploads%2FlznOQewoKxgR6fVymPw3%2Fimage.png?alt=media&amp;token=ae42e612-0146-41f9-a50f-6977b4a70609" alt="" data-size="original"> icon in list view).
2. Go to the **Repositories** tab, select all repositories you want to restore, and then click **Restore** in the top menu.

<figure><img src="https://696332517-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtsE6XtJyUIEKVdSxPlS3%2Fuploads%2FBFU5AROM4PoXVOhsHt18%2Fimage.png?alt=media&amp;token=8db6dab7-78d7-44fc-876b-ae8dc0689d05" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Click every chosen repository to select the backup plan and copy from which you want to restore data, then click **Next**.

{% hint style="info" %}
By default, the latest backup is always selected, regardless of the plan.
{% endhint %}
{% endstep %}

{% step %}
Select the destination for the recovery and click **Next**.

{% hint style="info" %}
You can choose any device or organization registered in **GitProtect** (you can find more information about cross-recovery in **Useful links and items section**).
{% endhint %}

<figure><img src="https://696332517-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtsE6XtJyUIEKVdSxPlS3%2Fuploads%2FiNnQL1ePDlN6wN55tFoT%2Fimage.png?alt=media&amp;token=77f370cb-1c59-4b13-aab0-3fcb7c6f1f44" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
In **Data to restore section** at the top, click **Edit** and select data you want to restore.

{% hint style="success" %}
By default, all items are selected for restoration. However, **GitProtect** allows you to choose which metadata to restore. You can include or exclude each element by toggling the switch next to it.
{% endhint %}

<figure><img src="https://696332517-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtsE6XtJyUIEKVdSxPlS3%2Fuploads%2FkTNz18qwE89HcbdE86Mf%2Fimage.png?alt=media&amp;token=c3b70551-3efd-45a3-a5d2-d40debf25812" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
In the **Throttling prevention** section, you can add additional **Azure DevOps** accounts to avoid throttling.

{% hint style="warning" %}
To use additional organization accounts, you must first add them in the organization settings (organization view > **Edit**).
{% endhint %}

<figure><img src="https://696332517-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtsE6XtJyUIEKVdSxPlS3%2Fuploads%2F59OHWmzP2wb39D4PSmSI%2Fimage.png?alt=media&amp;token=96c7ecdd-680c-4ef9-8817-f7a2d694c011" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Configure the recovery destination settings, depending on where the backup will be restored.

#### Restore to a Git organization

1. 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="https://696332517-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtsE6XtJyUIEKVdSxPlS3%2Fuploads%2FCtHOKU4Cr6QvB76BzGZa%2Fimage.png?alt=media&amp;token=35a22db6-3f7d-493d-ad8b-dbb63ccf6332" alt=""><figcaption></figcaption></figure>

2. In **Restore settings**, you can set custom names for all repositories or add a suffix to the original repository names.

{% hint style="danger" %}
Restoration will never overwrite existing repositories. If you enter a custom name—or leave the name as default—and a repository with that name already exists in your organization, **the recovery will fail**. To ensure successful recovery, either provide a unique name or select **Add suffix to repo name** to automatically append a unique identifier to the original repository name.
{% endhint %}

3. Adjust the bandwidth and other available settings, depending on the recovery destination.
4. Check which worker is set as the default for recovery and change it if necessary.

<figure><img src="https://696332517-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtsE6XtJyUIEKVdSxPlS3%2Fuploads%2FdIWjb2P08fkhyBPUkqeX%2Fimage.png?alt=media&amp;token=ea6c27f4-3413-4349-82a0-b450d9aa8cdc" alt=""><figcaption></figcaption></figure>

#### Restore to a device

{% hint style="warning" %}
To restore a repository to a local device, you must have a **Git** client and the **GitProtect** worker installed on that device (you can find more information about workers in **Useful links and items** section).
{% endhint %}

{% hint style="danger" %}
You can restore **only the repository** (without metadata) when restoring data to local resources.
{% endhint %}

1. Select the destination device (a registered device).
2. Make sure the device where you want to restore data has 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, you will have to configure it manually.

{% hint style="info" %}
To configure the PATH variable in **Windows**, 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. Specify the restoration directory and configure other options (for example, whether to overwrite existing data or reduce bandwidth). If needed, you can create a new restoration folder on the selected drive from the **Management Service** level.

<figure><img src="https://696332517-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtsE6XtJyUIEKVdSxPlS3%2Fuploads%2FV3hn4TCRuNYntxSGTV8k%2Fimage.png?alt=media&amp;token=efbfd51b-3193-48fc-a268-3c72ea20459f" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
After defining all parameters, click the **Restore** button to begin the recovery process. When the process is complete, a new project/repository/folder will be created in your organization/on your device. You can monitor the restoration process in the **Tasks** tab.
{% endstep %}
{% endstepper %}

***

## Useful links and items

{% content-ref url="/pages/AWu8w4uJUkVdjFTGajr0" %}
[GitProtect worker](/deployment-and-configuration/gitprotect-worker.md)
{% endcontent-ref %}

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

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

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

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