For the complete documentation index, see llms.txt. This page is also available as Markdown.

Cross-Platform Restore

Restore data between GitHub and GitLab with Cloudback's cross-platform restore feature, using the entity conversion system for bidirectional migration.

Cloudback supports bidirectional cross-platform restore between GitHub and GitLab. You can restore a GitHub backup into a GitLab project, or a GitLab backup into a GitHub repository - with automatic data format conversion.

Supported Entities

EntityGitHub → GitLabGitLab → GitHubNotes
Repository (Git)✓✓All branches, tags, refs pushed via git push --mirror
Issues✓✓Title, body, state, dates, assignee
Labels✓✓Name, color, description
Milestones✓✓Title, description, state, dates
Issue Comments✓✓Body, author, dates
Pull Requests / Merge Requests✓✓Title, body, state, branches, draft status
PR/MR CommentsPartial-GitHub→GitLab: PR comments are included in the issue comments file and may be restored as issue notes. GitLab→GitHub: MR notes are extracted but not written to the GitHub output.
Boards✓✓Column structure and issue assignments
Time Tracking-Appended*GitLab-specific; appended to issue body on GitHub
Weight-Appended*GitLab-specific; appended to issue body on GitHub
Health Status-Appended*GitLab-specific; appended to issue body on GitHub
Confidential Flag-Appended*GitLab-specific; appended to issue body on GitHub

* GitLab-specific fields that have no GitHub equivalent are preserved by appending them as a metadata block at the end of the issue body.

GitLab-Specific Fields in GitHub

When restoring GitLab data to GitHub, fields without a direct equivalent are appended to the issue body as a formatted metadata block:

[Original issue body]

---

**Weight:** 5 | **Health Status:** On Track | **Start Date:** 2024-01-01 | **Due Date:** 2024-12-31 | **Confidential:** Yes | **Time Estimate:** 3600s | **Time Spent:** 1800s

This ensures no data is lost, even when the target platform doesn't support the field natively.

How to Perform a Cross-Platform Restore

GitHub → GitLab

  1. Navigate to a GitHub repository in the Cloudback dashboard
  2. Open the Backups tab and select a backup
  3. Click Restore
  4. In the restore wizard, select GitLab as the target platform
  5. Select the target namespace (personal account or group) from the list of connected accounts - clicking on the namespace starts the restore immediately
  6. If no GitLab account is connected, click Connect New GitLab Account to authorize via OAuth first

GitLab → GitHub

  1. Navigate to a GitLab project in the Cloudback dashboard
  2. Open the Backups tab and select a backup
  3. Click Restore
  4. In the restore wizard, select GitHub as the target platform
  5. Enter the target GitHub account name
  6. Click Start Restore - you will be guided through installing the GitHub restore app if needed

Learn More

Last updated

Questions or feedback? Email support