glab(1)

NAME
glab-repo-mirror - Configure mirroring on an existing project to sync with a remote repository.

SYNOPSIS
glab repo mirror [ID | URL | PATH] [flags]

DESCRIPTION
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.

OPTIONS
--allow-divergence[=false]
    Determines if divergent refs are skipped.

--direction="pull"
    Mirror direction. Options: pull, push.

--enabled[=true]
    Determines if the mirror is enabled.

--protected-branches-only[=false]
    Determines if only protected branches are mirrored.

--url=""
    The target URL to which the repository is mirrored.

OPTIONS INHERITED FROM PARENT COMMANDS
-h, --help[=false]
    Show help for this command.

EXAMPLE
    # 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

SEE ALSO
glab-repo(1)