clone all group projects from gitlab
Project description
Git Clone Group (gcg)
A command-line tool to clone or update all projects from a GitLab group and its subgroups.
Features
- Clone/update all repositories in a GitLab group and its subgroups
- Parallel processing with progress bars
- Smart retry mechanism
- Empty repository detection
- Detailed statistics
Installation
You can install git-clone-group using pip:
pip install git-clone-group
Usage
Basic usage:
gcg -g GITLAB_ADDR -t TOKEN -i GROUP_ID [-d DEST_DIR]
Show help:
gcg -h
Examples:
# Clone all projects from group ID 123 to current directory
gcg -g gitlab.com -t glpat-xxxxxxxxxxxx -i 123
# Clone to a specific directory
gcg -g gitlab.com -t glpat-xxxxxxxxxxxx -i 123 -d /path/to/repos
# Clone from private GitLab instance
gcg -g git.company.com -t glpat-xxxxxxxxxxxx -i 456 -d ./projects
Getting a GitLab Access Token
- Log in to your GitLab instance
- Go to Settings > Access Tokens
- Create a new personal access token with
apiscope - Copy the token and use it with the
--tokenargument
Getting a Group ID
You can find the group ID in GitLab:
- Go to your group's page
- The group ID is shown in the group information panel
- Or look at the URL:
https://gitlab.com/groups/your-group-name- the group ID will be visible in the group details
Notes
- The tool will automatically handle nested subgroups
- For existing repositories, it will perform a git pull
- Progress bars show real-time cloning/pulling status
- Both HTTP and SSH URLs are supported (SSH recommended)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
git_clone_group-1.1.1.tar.gz
(8.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file git_clone_group-1.1.1.tar.gz.
File metadata
- Download URL: git_clone_group-1.1.1.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70d143c1e8e0507c5c4d75f696a5863b4fcc2a4489d539ddc9a6e680a964f360
|
|
| MD5 |
25215bb784dd6d8a2abe38adeb8252ed
|
|
| BLAKE2b-256 |
c565a373ebacd61f613e39aef41146f511d7b2ce308b3f278db6b1379d40c912
|
File details
Details for the file git_clone_group-1.1.1-py3-none-any.whl.
File metadata
- Download URL: git_clone_group-1.1.1-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30c3054deab021aa4631f0729060f826931202f5f3ce2cf9809b4359eed9d946
|
|
| MD5 |
1ededde653c18d1731d26a1b9108a719
|
|
| BLAKE2b-256 |
669a78efdba149ea224f136e8f98b519e3f85ffe6c995cbaa15777876a94bed5
|