# any-migrate **Repository Path**: winnerxue/any-migrate ## Basic Information - **Project Name**: any-migrate - **Description**: any-migrate - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-21 - **Last Updated**: 2025-07-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Git 仓库迁移工具 一个用于管理多平台(GitHub/Gitee/Gitea) Git 仓库的 Python 脚本,支持仓库发现、远程准备、迁移和同步功能。 ## 功能特性 - 发现本地 Git 仓库并提取元数据 - 在以下平台准备远程仓库(不存在则创建): - GitHub - Gitee - Gitea - 在不同平台间迁移仓库 - 同步本地仓库到远程 - 通过 JSON 配置文件支持自定义规则 ## 系统要求 - Python 3.x - 已安装 Git 并加入 PATH - 目标平台的 API 访问令牌 ## 安装说明 1. 克隆本仓库或下载 `git-migrate.py` 2. 确保已安装 Python 3 和 Git ## 配置说明 在 `~/.pl/config.json` 创建配置文件,格式如下: ```json [ { "path": "/扫描路径", "prefix": "你的前缀", "remote_url_prefix": "https://github.com/你的用户名", "git_type": "github", "owner": "你的用户名", "extra": { "access_token": "你的令牌", "migrate": { "git_type": "gitea", "git_url": "https://你的.gitea.实例", "access_token": "你的_gitea令牌", "repo_owner": "你的_gitea用户名" } } } ] ``` ## 使用方式 ```bash # 发现仓库并生成元数据 python git-migrate.py --generate # 使用现有元数据同步仓库 python git-migrate.py --sync # 同时执行生成和同步 python git-migrate.py --all ``` ## 命令行选项 | 选项 | 说明 | |------------|-------------------------------| | `--all` | 执行生成和同步两个步骤 | | `--generate` | 仅生成 JSON 元数据文件 | | `--sync` | 使用现有 JSON 文件同步仓库 | ## 使用示例 1. 基本发现和同步: ```bash python git-migrate.py --all ``` 2. 从 GitHub 迁移到 Gitea: ```json { "path": "~/项目目录", "prefix": "迁移", "remote_url_prefix": "https://github.com/你的用户名", "git_type": "github", "owner": "你的用户名", "extra": { "access_token": "github令牌", "migrate": { "git_type": "gitea", "git_url": "https://gitea.example.com", "access_token": "gitea令牌", "repo_owner": "gitea用户名" } } } ``` ## 注意事项 - 脚本将: - 跳过已存在的远程仓库 - 同步后保留原始 git origin - 同步前清理本地更改 - 推送所有分支和标签 - Gitea 迁移: - 创建镜像仓库 - 支持 LFS - 默认设为私有仓库 ## 开源协议 [MIT]