Reference

glab-repo-clone(1)

Clone a GitLab repository or project.

NAME

glab-repo-clone - Clone a GitLab repository or project.

SYNOPSIS

glab repo clone [ | -g ] [] [flags] [-- ...]

DESCRIPTION

Clone a GitLab repository to your local machine. Specify the repository by name, namespace/repo path, full URL, or project ID.

The command uses your configured protocol (SSH or HTTPS).

To pass Git clone flags, add them after --. For example: glab repo clone <repo> -- --branch <branch-name>

When you clone a fork you own, the command adds an upstream remote that points to the parent project.

Use --wiki to clone the wiki repository associated with a project.

OPTIONS

-g, --group=""
Specify the group to clone repositories from.

-p, --preserve-namespace[=false]
Clone the repository in a subdirectory based on namespace.

--active[=false]
Limit by project status. When true, returns active projects. When false, returns projects that are archived or marked for deletion. Used with the --group flag.

-a, --archived[=false]
Limit by archived status. Use with '-a=false' to exclude archived repositories. Used with the --group flag.

-G, --include-subgroups[=true]
Include projects in subgroups of this group. Default is true. Used with the --group flag.

--exclude-subgroup=[]
Skip projects in this subgroup, as a path relative to the group, not a numeric ID. Repeat the flag, or separate values with commas, to skip more than one. Projects shared from other namespaces are not affected. Used with the --group flag.

-m, --mine[=false]
Limit by projects in the group owned by the current authenticated user. Used with the --group flag.

-v, --visibility=""
Limit by visibility: public, internal, private. Used with the --group flag.

-I, --with-issues-enabled[=false]
Limit by projects with the issues feature enabled. Default is false. Used with the --group flag.

-M, --with-mr-enabled[=false]
Limit by projects with the merge request feature enabled. Default is false. Used with the --group flag.

-S, --with-shared[=true]
Include projects shared to this group. Default is true. Used with the --group flag.

--paginate[=false]
Make additional HTTP requests to fetch all pages of projects before cloning. Respects --per-page.

--page=1
Page number.

--per-page=30
Number of items to list per page.

--wiki[=false]
Clone the project's wiki repository.

OPTIONS INHERITED FROM PARENT COMMANDS

-h, --help[=false]
Show help for this command.

EXAMPLE

# Clones repository into current directory
glab repo clone gitlab-org/cli
glab repo clone https://gitlab.com/gitlab-org/cli
# Clones repository into 'mydirectory'
glab repo clone gitlab-org/cli mydirectory
# Clones a project's wiki repository
glab repo clone --wiki gitlab-org/cli
# Clones repository 'glab' for current user
glab repo clone glab
# Finds the project by the ID provided and clones it
glab repo clone 4356677
# Clones a specific branch
glab repo clone gitlab-org/cli -- --branch development
# Clones with a shallow clone (depth 1)
glab repo clone gitlab-org/cli -- --depth 1
# Clones with multiple Git flags
glab repo clone gitlab-org/cli -- --branch main --single-branch --depth 1
# Clones all repos in a group
glab repo clone -g everyonecancontribute --paginate
# Clones all repos in a group, except those in one subgroup
glab repo clone -g mygroup --exclude-subgroup domain/backend --paginate
# Clones all non-archived repos in a group
glab repo clone -g everyonecancontribute --archived=false --paginate
# Clones only active projects in a group
glab repo clone -g everyonecancontribute --active=true --paginate
# Clones from a GitLab Self-Managed or GitLab Dedicated instance
GITLAB_HOST=salsa.debian.org glab repo clone myrepo

SEE ALSO

glab-repo(1)

History