# GitLab Cloner **Repository Path**: magicbooks/gitlab-cloner ## Basic Information - **Project Name**: GitLab Cloner - **Description**: GitLab Cloner 是一个用于批量克隆 GitLab 组中所有项目的工具。它支持自动化处理项目的更新或克隆,适用于需要同步 GitLab 仓库的开发者或团队。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-01-20 - **Last Updated**: 2025-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GitLab Cloner GitLab Cloner 是一个用于批量克隆 GitLab 组中所有项目的工具。它支持自动化处理项目的更新或克隆,适用于需要同步 GitLab 仓库的开发者或团队。 ## 功能特性 - 列出所有可访问的 GitLab 组 - 自动克隆指定组下的所有项目 - 检测已存在项目的更新状态并拉取更新 - 支持分页获取项目,适配大规模仓库 ## 使用方法 ### 环境要求 1. Python 版本 >= 3.8 2. 已安装 `requests` 模块 ### 安装 1. 克隆本仓库: ```bash git clone https://gitee.com/your-repo-name/gitlab-cloner.git cd gitlab-cloner ``` 2. 安装依赖: ```bash pip install requests ``` ### 配置 编辑 `main` 方法中的以下变量: - `gitlab_url`: GitLab 实例的地址,例如 `https://gitlab.example.com` - `private_token`: 您的 GitLab 访问令牌,可以在 GitLab 个人设置中生成 - `target_dir`: 项目克隆的目标目录 ```python # 配置信息 gitlab_url = "https://gitlab.example.com" private_token = "your-private-token" target_dir = "./backend" ``` ### 运行 执行以下命令运行脚本: ```bash python gitlab_cloner.py ``` 程序会: 1. 列出所有您可访问的组。 2. 选择组 ID 后,分页获取该组下的所有项目。 3. 自动克隆或更新项目到指定目录。 ### 示例输出 ``` 可用的组列表: ---------------------------------------------------------------------------------------------------- ID 路径 名称 访问链接 ---------------------------------------------------------------------------------------------------- 1 example-group Example Group https://gitlab.example.com/example-group 2 demo-group Demo Group https://gitlab.example.com/demo-group ---------------------------------------------------------------------------------------------------- 请输入要克隆的组ID: 1 使用组ID: 1 开始获取项目列表... 总共发现 3 个项目,开始处理... [1/3] 处理项目: project-a 开始克隆: project-a ✓ 克隆成功: project-a [2/3] 处理项目: project-b ✓ 项目已是最新: project-b [3/3] 处理项目: project-c 开始更新: project-c ✓ 更新成功: project-c ``` ## 常见问题 ### 1. 如何生成 GitLab 私人访问令牌? 在 GitLab 的个人设置中,依次点击: - 用户头像 > Settings > Access Tokens - 输入令牌名称和权限(建议至少勾选 `api` 权限) - 点击 `Create personal access token` - 复制生成的令牌并保存 ### 2. 如果克隆或更新失败怎么办? - 检查 Git 命令是否已安装并配置在系统 PATH 中。 - 确保 `private_token` 和 `gitlab_url` 的配置正确。 - 查看错误信息,检查网络连接是否正常。 ## 贡献 欢迎提交 Issue 或 Pull Request 来改进本项目。 ## 授权 [MIT License](https://chatgpt.com/c/LICENSE)