Skip to content

mw gitlab repo mirror

Releasev0.35.0 · cfeceb67

mw gitlab repo mirror [ID | URL | PATH] [flags]

Configure repository mirroring for an existing GitLab project.

The GitLab project must already exist. This command configures mirroring on existing projects but does not create new projects.

Mirror types:

  • Pull mirror: Syncs changes from an external repository to your GitLab project. The external repository is the source of truth. Use pull mirrors to sync from GitHub, Bitbucket, or other GitLab instances.
  • Push mirror: Syncs changes from your GitLab project to an external repository. Your GitLab project is the source of truth. Use push mirrors to sync to GitHub, Bitbucket, or other GitLab instances.

Authentication:

  • For pull mirrors from private repositories, embed credentials in the URL: https://username:token@gitlab.example.com/org/repo
  • For push mirrors to private repositories, configure credentials in the GitLab UI or use SSH URLs with deploy keys.
--allow-divergence
Determines if divergent refs are skipped.
--direction <string>
Mirror direction. Options: pull, push. Default: pull.
--enabled
Determines if the mirror is enabled. Default: true.
--protected-branches-only
Determines if only protected branches are mirrored.
--url <string>
The target URL to which the repository is mirrored.
-h, --help
Show help for this command.
--no-interaction
Do not ask any interactive questions
--profile <string>
Saved account profile (login defaults to the verified username)
-v, --verbose <count>
Increase output verbosity. Example: --verbose=2 or -vv
Terminal window
# Create a project, then configure pull mirroring
$ glab repo create mygroup/myproject --public
$ glab repo mirror mygroup/myproject --direction=pull --url="https://gitlab.example.com/org/repo"
# Configure pull mirroring from a private repository
$ glab repo mirror mygroup/myproject --direction=pull --url="https://username:token@gitlab.example.com/org/private-repo"
# Configure pull mirroring for protected branches only
$ glab repo mirror mygroup/myproject --direction=pull --url="https://gitlab.example.com/org/repo" --protected-branches-only
# Configure push mirroring to another GitLab instance
$ glab repo mirror mygroup/myproject --direction=push --url="https://gitlab-backup.example.com/backup/myproject"
# Configure push mirroring and allow divergent refs
$ glab repo mirror mygroup/myproject --direction=push --url="https://gitlab-backup.example.com/backup/repo" --allow-divergence
Report an issue with this page

Report a documentation issue

The report includes this page’s link, section and documentation version.

Review and submit on Phabricator, or run the command using your saved CLI profile. The command asks before creating the task.