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
- Specify branch to clone/pull
- 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] [-b BRANCH]
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 specific branch from private GitLab instance
gcg -g git.company.com -t glpat-xxxxxxxxxxxx -i 456 -d ./projects -b develop
# Clone default branches
gcg -g gitlab.com -t glpat-xxxxxxxxxxxx -i 123 -d ./repos
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.2.tar.gz
(9.2 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.2.tar.gz.
File metadata
- Download URL: git_clone_group-1.1.2.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d46a9e496b8d230d7b9940dd8bba24320921234c112c39871c3e575a59cd17a0
|
|
| MD5 |
f98331e84540d3585cd030bfcbc82d91
|
|
| BLAKE2b-256 |
0b90f1ffaac223a8d97f8513ec1bdfdfaf39e2156b50510b74e75d9a15f2e051
|
File details
Details for the file git_clone_group-1.1.2-py3-none-any.whl.
File metadata
- Download URL: git_clone_group-1.1.2-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc1e435a25805055ead2ce76c2c5b27637092e0e53f893d9ac1c8eae51185056
|
|
| MD5 |
20c4bee1718bd6683ed44893acdcff5a
|
|
| BLAKE2b-256 |
0ace130940e9d97c77c3c79784c13e4c5e44556277c99c0608f4bf5936fef884
|