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.0.tar.gz
(8.7 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.0.tar.gz.
File metadata
- Download URL: git_clone_group-1.1.0.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e50d972d2d14f5c5f4961a8311a5c209695438b47fb4f73458579923e3540c87
|
|
| MD5 |
39b8faa02f5358bfd331cf38041f8c02
|
|
| BLAKE2b-256 |
5e886a8c50574a1bebea34e5d7c9cb550614ddb6c53e0a87e25a9ce6385ef0cb
|
File details
Details for the file git_clone_group-1.1.0-py3-none-any.whl.
File metadata
- Download URL: git_clone_group-1.1.0-py3-none-any.whl
- Upload date:
- Size: 8.0 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 |
80b57b8e4da741d3225c417503f097ce9f50416f745c0387b96168f13957e69a
|
|
| MD5 |
2bb893dc9e0c187c493e50aa8b4216ed
|
|
| BLAKE2b-256 |
0c5b87d0b2e73c3061ff7ef54338ea4cf673df46513b6ede8f4e049d285705ae
|