GitRiver GitRiver
RU
Navigation

Import and Mirroring

How to import repositories from other platforms and set up automatic mirroring

GitRiver allows you to import existing repositories from other platforms and set up automatic mirroring for synchronization.

Repository Import

Supported Sources

SourceWhat is imported
GitHubCode, issues, pull requests, labels, milestones, releases, Wiki
GitLabCode, issues, merge requests, labels, milestones, releases, Wiki
BitbucketCode, issues, pull requests
GiteaCode, issues, pull requests, labels, milestones, releases, Wiki
Arbitrary URLCode only (git clone)

Step by Step

  1. Click ”+” in the top bar -> “Import”
  2. Select the source (GitHub, GitLab, Bitbucket, Gitea)
  3. Enter an access token - a personal token with repository read permissions on the source platform
  4. For self-hosted instances, specify the instance URL (e.g., https://gitlab.company.com)
  5. Click “Load repositories” - a list of available repositories will appear
  6. Select a repository or enter a URL manually
  7. Specify the name in GitRiver (defaults to the original)
  8. Choose what to import:
    • Issues
    • Labels
    • Milestones
    • Pull requests / merge requests
    • Releases
    • Wiki
  9. Optionally: “Create mirror” - set up automatic synchronization after import
  10. Click “Start import”

Import Progress

The import runs in the background. The repository page displays the progress: which stage (code, issues, pull requests, releases), how many imported. After completion - status “Done” or “Error” with a description.


Pull Mirroring

A pull mirror periodically fetches changes from an external repository into GitRiver. Useful when the main repository is hosted on another platform, and GitRiver is used as a backup or for CI.

Setup

  1. Open the repository -> “Settings” -> “Mirror” section
  2. Click “Create mirror”
  3. Select the direction: Pull (receive)
  4. Specify:
    • Remote repository URL - https://github.com/owner/repo.git
    • Token - for accessing private repositories (optional)
    • Sync interval - from 5 minutes to 7 days
  5. Click “Create”

How It Works

GitRiver automatically performs git fetch from the remote repository at the specified interval. All new commits, branches, and tags appear in GitRiver.

Manual Sync

Click “Sync” on the mirror page for immediate synchronization without waiting for the interval.

Status

The mirror page shows: last sync time, status (active/disabled), errors if any.


Push Mirroring

A push mirror automatically sends changes from GitRiver to an external repository. Useful for backup or publishing code on another platform.

Setup

  1. Open the repository -> “Settings” -> “Mirror” section
  2. Click “Create mirror”
  3. Select the direction: Push (send)
  4. Specify:
    • Remote repository URL - with authorization in the URL (e.g., https://token@github.com/owner/repo.git)
    • Sync interval - from 5 minutes to 7 days
  5. Click “Create”

How It Works

On each sync, GitRiver performs git push to the external repository. All commits, branches, and tags are sent automatically.


Deleting a Mirror

On the “Settings” -> “Mirror” page -> “Delete mirror” button. Synchronization stops. Repository data is not deleted.