All pages
Powered by GitBook
1 of 6

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

General

Useful tools and tips for backup and recovery across all supported DevOps platforms.

Cover
Repository selection methods

Learn about repository and project selection methods in GitProtect, including manual selection and rule-based configuration.

Cover
Repository selection rules

Configure selection rules to automatically include or exclude specific Git repositories and projects from backup jobs.

Cover
Cross-recovery for DevOps organizations

How GitProtect restores repositories and metadata across Git providers for rapid disaster recovery and DevOps migrations.

Cover
LFS recovery for DevOps organizations

Learn how GitProtect restores Git LFS objects alongside repositories to ensure complete data recovery for DevOps organizations.

Cover
Wiki recovery for DevOps organizations

How to restore a DevOps organization wiki and its metadata separately.

Repository selection methods

Learn about repository and project selection methods in GitProtect, including manual selection and rule-based configuration.

GitProtect supports multiple repository selection methods that allow administrators to define the scope of backup and recovery operations according to organizational requirements. Repositories can be selected manually, automatically, or included and excluded based on configurable rules and filters.


Selecting data to protect

When creating a backup plan, one of the steps is to specify which repositories you want to protect. GitProtect offers several methods for selecting repositories:

  1. Protect all: this option ensures that all existing repositories and projects, as well as any newly created ones, are automatically included in the backup plan without requiring manual updates.

  2. Select projects: using checkboxes, you can choose specific projects to protect.

  3. Select repositories: using checkboxes, you can choose specific repositories to protect.

Repositories and projects created after applying method 2 or method 3 will not be automatically included in the backup plan and must be added manually.

  1. Exclude repositories: using checkboxes, you can exclude specific repositories, allowing the plan to cover all other repositories by default.

  2. Set rules: this option lets you define criteria to include repositories and projects based on attributes such as their names or associated topics, ensuring that repositories meeting these conditions are automatically protected.

Learn more about selection rules and rule patterns in this article.

Repository selection rules

Configure selection rules to automatically include or exclude specific Git repositories and projects from backup jobs.

GitProtect provides selection rules, allowing administrators to determine which repositories and projects are included or excluded from backup and recovery tasks. Rules can be based on names, owners, creation dates, branches, or specific patterns, offering granular control over the backup scope and ensuring that only relevant repositories and projects are processed.


Selection rules and rule patterns

Below are the selection rules and rule patterns you can use in GitProtect to select repositories and projects for inclusion in backup jobs within your DevOps organization.

Azure DevOps & Bitbucket

  1. Repository name — you can use the full or partial name of a repository. Wildcard characters can be used at the end of the rule to match repository names:

    1. * matches zero or more characters

    2. ? matches exactly one character

  2. Project name: protects all repositories within the specified project.

GitHub

  1. Repository name — you can use the full or partial name of a repository. Wildcard characters can be used at the end of the rule to match repository names:

    1. * matches zero or more characters

    2. ? matches exactly one character

  2. Topic name — specify the exact name of a topic. For example, if you enter the topic html, all repositories assigned to the html topic will be backed up.

GitLab

  1. Repository name — you can use the full or partial name of a repository. Wildcard characters can be used at the end of the rule to match repository names:

    1. * matches zero or more characters

    2. ? matches exactly one character

  2. Topic name — specify the exact name of a topic. For example, if you enter the topic html, all repositories assigned to the html topic will be backed up.

  3. Group path: protects all repositories within the specified group or subgroup path.


Selection rule examples

The following are examples of rule patterns, along with brief explanations:

  • Pattern: yourorganization/*

    • This will match all repositories in the organization named yourorganization.

  • Pattern: yourorganization/n??

    • Matches repositories where n is followed by exactly two characters.


Regular expression patterns (regex)

All selection rules can use regular expression patterns (regex).

Regular expressions let you create flexible and adaptable rules that align with your organization's naming conventions. This approach allows precise targeting and automation based on consistent patterns in repository or project names.

The following are illustrative examples of how these rules can be applied, although the available configurations extend well beyond these cases:

  • Pattern: yourorganization/repo[0-9]+

    • This will match repositories such as repo1, repo12, repo123, and so on.

  • Pattern: yourorganization/.*data.*

    • Matches any repository name containing the word data.

  • Pattern: yourorganization/(?!.*data.*)

    • Excludes any repository name that contains the word data.

LFS recovery for DevOps organizations

Learn how GitProtect restores Git LFS objects alongside repositories to ensure complete data recovery for DevOps organizations.

GitProtect supports backup and recovery of Git Large File Storage (LFS) content for DevOps organizations, ensuring that repositories configured with Git LFS are protected together with their associated large binary objects. During restore operations, both standard Git data and LFS objects are recovered to preserve repository integrity and maintain consistency across supported DevOps platforms.


Restoring LFS metadata

GitProtect supports the backup and recovery of LFS objects across all supported DevOps platforms.

While you can choose whether to include LFS metadata during the recovery process, please note that LFS must be restored alongside its parent repository; it cannot be recovered as a standalone item.

If LFS objects are included in your repository’s source code archives, downloading those archives will count toward the repository’s bandwidth usage.

Example of LFS metadata included in Azure DevOps project recovery process.

Useful links and items

Wiki recovery for DevOps organizations

How to restore a DevOps organization wiki and its metadata separately.

Recovering an organization wiki restores lost or overwritten documentation, enabling projects to quickly regain access to their knowledge base without affecting other repository or project metadata.


Recovery process for Bitbucket, GitHub, and GitLab

The following steps demonstrate how to quickly recover your wiki using GitProtect Management Service.

1

Get into the restore view using the following method:

  1. Open the appropriate DevOps tab, then click the Explore button next to the organization whose backup you want to restore (explore icon in list view).

  2. Search for the repository containing the wiki you want to restore, then click the restore icon in the action menu of that repository.

2

In the Backup plans section, select the appropriate backup plan, then go to the Backup copies section to choose the point in time from which you want to restore your wiki.

3

Select the Restore now button in the Restore wiki section to configure the restoration settings.

4

Select the destination for the recovery and click Next.

You can choose any organization registered in GitProtect (you can find more information about cross-recovery in Useful links and items section).

If your destination is GitHub, make sure that your repository has at least one wiki page created.

5

In the Restore to section, select the repository where you want to restore the wiki. If you are restoring the wiki to an Azure DevOps or Azure DevOps Server organization, also select the target project.

6

In the Restore settings section, you can limit the bandwidth if required by your network infrastructure and change the device that will perform the restoration.

7

Once all parameters are defined, click Restore to start the recovery process. You can monitor the progress in the Tasks tab; once finished, the wiki will be available in the defined organization account.


Recovery process for Azure DevOps & DevOps Server

The following steps demonstrate how to quickly recover your Azure DevOps project wiki using GitProtect Management Service.

1

Get into the restore view using the following method:

  1. Open the appropriate DevOps tab, then click the Explore button next to the organization whose backup you want to restore (explore icon in list view).

  2. In the Projects & repositories tab, search for the project containing the wiki you want to restore, then click the restore icon in the action menu of that project.

2

In the Backup plans section, select the appropriate backup plan, then go to the Backup copies section to choose the point in time from which you want to restore your wiki.

3

Select the destination for the recovery and click Next.

4

Select the Restore now button in the Restore wiki section to configure the restoration settings.

5

In the Restore to section, select the repository where you want to restore the wiki. If you are restoring the wiki to an Azure DevOps or Azure DevOps Server organization, also select the target project.

6

In the Restore settings section, you can limit the bandwidth if required by your network infrastructure and change the device that will perform the restoration.

7

Once all parameters are defined, click Restore to start the recovery process. You can monitor the progress in the Tasks tab; once finished, the wiki will be available in the defined organization account.


Useful links and items

Cross-recovery for DevOps organizationsLFS recovery for DevOps organizations

You can choose any organization registered in GitProtect (you can find more information about cross-recovery in Useful links and items section).

If your destination is GitHub, make sure that your repository has at least one wiki page created.

Cross-recovery for DevOps organizations

How GitProtect restores repositories and metadata across Git providers for rapid disaster recovery and DevOps migrations.

GitProtect enables cross-recovery across DevOps ecosystems by letting organizations restore repositories and associated metadata between different hosting providers such as GitHub, GitLab, Bitbucket and Azure DevOps. Recovered content covers repositories and many forms of metadata, including pull requests, wikis, issues and other repository artifacts where supported by the source and target platforms.


The following tables outline which resources and metadata can be cross-restored between platforms.


Available resources

For a complete list of protected resources and metadata, refer to the Protected resources article for the relevant DevOps platform.

Different vendors provide various types of metadata, which may not be common to all providers. As a result, during the restore process, some metadata might not be available for restoration.

In the tables below, the term GitLab refers collectively to both GitLab self-managed and GitLab SaaS environments. Similarly, the term Azure DevOps refers collectively to both Azure DevOps Server and SaaS environments.

The list is presented in alphabetical order.

ADDITIONAL DATA

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

BRANCHES

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

COMMIT COMMENTS

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

COMMITS

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

DEPLOYMENT KEYS

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

GITHUB PROJECTS (CLASSIC)

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

ISSUE COMMENTS

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

ISSUES (CLOSED)

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

ISSUES (OPEN)

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

LABELS

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

LFS

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

MILESTONES

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

PULL REQUEST COMMENTS

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

PULL REQUESTS (CLOSED)

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

PULL REQUESTS (OPEN)

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

RELEASE ASSETS

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

RELEASES

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

REPOSITORY

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

TAG

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

WIKI

TO →

↓ FROM

Azure DevOps

Bitbucket

Bitbucket DC

GitHub

Useful links and items

ADDITIONAL DATA
BRANCHES
COMMIT COMMENTS
COMMITS
DEPLOYMENT KEYS
GITHUB PROJECTS (CLASSIC)
ISSUE COMMENTS
ISSUES (CLOSED)
ISSUES (OPEN)
LABELS
LFS
MILESTONES
PULL REQUEST COMMENTS
PULL REQUESTS (CLOSED)
PULL REQUESTS (OPEN)
RELEASE ASSETS
RELEASES
REPOSITORY
TAG
WIKI
LFS recovery for DevOps organizations
Wiki recovery for DevOps organizations

GitHub Enterprise

GitLab

GitHub

❌

✅

❌

✅

✅

✅

GitHub Enterprise

GitLab

Azure DevOps

✅

✅

✅

✅

✅

✅

Bitbucket

✅

✅

✅

✅

✅

✅

Bitbucket DC

✅

✅

✅

✅

✅

✅

GitHub

✅

✅

✅

✅

✅

✅

GitHub Enterprise

✅

✅

✅

✅

✅

✅

GitLab

✅

✅

✅

✅

✅

✅

GitHub Enterprise

GitLab

GitHub

❌

❌

❌

✅

✅

❌

GitHub Enterprise

❌

❌

❌

✅

✅

❌

GitHub Enterprise

GitLab

Azure DevOps

✅

✅

✅

✅

✅

✅

Bitbucket

✅

✅

✅

✅

✅

✅

Bitbucket DC

✅

✅

✅

✅

✅

✅

GitHub

✅

✅

✅

✅

✅

✅

GitHub Enterprise

✅

✅

✅

✅

✅

✅

GitLab

✅

✅

✅

✅

✅

✅

GitHub Enterprise

GitLab

Bitbucket

❌

✅

❌

✅

✅

✅

GitHub

❌

✅

❌

✅

✅

✅

GitHub Enterprise

❌

✅

❌

✅

✅

✅

GitLab

❌

✅

❌

✅

✅

✅

GitHub Enterprise

GitLab

GitHub

❌

❌

❌

✅

✅

❌

GitHub Enterprise

GitLab

Bitbucket

❌

✅

❌

✅

✅

✅

GitHub

❌

✅

❌

✅

✅

✅

GitHub Enterprise

❌

✅

❌

✅

✅

✅

GitLab

❌

✅

❌

✅

✅

✅

GitHub Enterprise

GitLab

Bitbucket

❌

✅

❌

✅

✅

✅

GitHub

❌

❌

❌

✅

✅

✅

GitHub Enterprise

❌

❌

❌

✅

✅

✅

GitLab

❌

✅

❌

✅

✅

✅

GitHub Enterprise

GitLab

Bitbucket

❌

✅

❌

✅

✅

✅

GitHub

❌

✅

❌

✅

✅

✅

GitHub Enterprise

❌

✅

❌

✅

✅

✅

GitLab

❌

✅

❌

✅

✅

✅

GitHub Enterprise

GitLab

Azure DevOps

✅

❌

❌

✅

✅

✅

GitHub

✅

❌

❌

✅

✅

✅

GitHub Enterprise

❌

❌

❌

✅

✅

✅

GitLab

✅

❌

❌

✅

✅

✅

GitHub Enterprise

GitLab

Azure DevOps

✅

✅

✅

✅

✅

✅

Bitbucket

✅

✅

✅

✅

✅

✅

Bitbucket DC

✅

✅

✅

✅

✅

✅

GitHub

✅

✅

✅

✅

✅

✅

GitHub Enterprise

✅

✅

✅

✅

✅

✅

GitLab

✅

✅

✅

✅

✅

✅

GitHub Enterprise

GitLab

GitHub

❌

❌

❌

✅

✅

✅

GitHub Enterprise

❌

❌

❌

✅

✅

✅

GitLab

❌

❌

❌

✅

✅

✅

GitHub Enterprise

GitLab

Azure DevOps

✅

✅

❌

✅

✅

✅

Bitbucket

✅

✅

❌

✅

✅

✅

GitHub

✅

✅

❌

✅

✅

✅

GitHub Enterprise

✅

✅

❌

✅

✅

✅

GitLab

✅

✅

❌

✅

✅

✅

GitHub Enterprise

GitLab

Azure DevOps

❌

❌

❌

✅

✅

✅

GitHub

❌

❌

❌

✅

✅

✅

GitHub Enterprise

❌

❌

❌

✅

✅

✅

GitLab

❌

❌

❌

✅

✅

✅

GitHub Enterprise

GitLab

Azure DevOps

✅

✅

✅

✅

✅

✅

Bitbucket

✅

✅

✅

✅

✅

✅

Bitbucket DC

❌

✅

✅

✅

✅

✅

GitHub

✅

✅

✅

✅

✅

✅

GitHub Enterprise

✅

✅

✅

✅

✅

✅

GitLab

✅

✅

✅

✅

✅

✅

GitHub Enterprise

GitLab

GitHub

❌

❌

❌

✅

✅

❌

GitHub Enterprise

❌

❌

❌

✅

✅

❌

GitHub Enterprise

GitLab

GitHub

❌

❌

❌

✅

✅

❌

GitHub Enterprise

❌

❌

❌

✅

✅

❌

GitLab

❌

❌

❌

❌

✅

✅

GitHub Enterprise

GitLab

Azure DevOps

✅

✅

✅

✅

✅

✅

Bitbucket

✅

✅

✅

✅

✅

✅

Bitbucket DC

✅

✅

✅

✅

✅

✅

GitHub

✅

✅

✅

✅

✅

✅

GitHub Enterprise

✅

✅

✅

✅

✅

✅

GitLab

✅

✅

✅

✅

✅

✅

GitHub Enterprise

GitLab

Azure DevOps

✅

✅

✅

✅

✅

✅

Bitbucket

✅

✅

✅

✅

✅

✅

Bitbucket DC

✅

✅

✅

✅

✅

✅

GitHub

✅

✅

✅

✅

✅

✅

GitHub Enterprise

✅

✅

✅

✅

✅

✅

GitLab

✅

✅

✅

✅

✅

✅

GitHub Enterprise

GitLab

Azure DevOps

✅

✅

❌

✅

✅

✅

Bitbucket

✅

✅

❌

✅

✅

✅

GitHub

✅

✅

❌

✅

✅

✅

GitHub Enterprise

✅

✅

❌

✅

✅

✅

GitLab

✅

✅

❌

✅

✅

✅

Git Large File Storage billing - GitHub DocsGitHub Docs
Logo
Manage and Store Large Files in Git - Azure ReposMicrosoftLearn
Manage large files with Git Large File Storage (LFS) | Bitbucket Cloud | Atlassian SupportAtlassian Support
Logo
Logo
Storage policy for Git LFS with Bitbucket | Bitbucket Cloud | Atlassian SupportAtlassian Support
Logo