/Gigrator

Git 仓库批量迁移助手,支持 Github、Gitee、Gitlab、Gitea、Coding、Gogs

Primary LanguagePythonMIT LicenseMIT

Gigrator

Git 仓库批量迁移小助手

GitHub: https://github.com/hsowan-me/Gigrator

码云: https://gitee.com/hsowan/Gigrator

gigrator.png

Start

git clone git@gitee.com:hsowan/Gigrator.git
cd Gigrator
pip3 install -r requirements.txt

# 迁移前需在配置文件(settings.py)中配置 SOURCE_GIT 和 DEST_GIT
# 配置参考: settings_example.py
python3 gigrator.py

Develop

# Base class
class Git:
    pass


# Other GitServer class should inherit Git
class OtherGit(Git):
    pass

Support

Note:

  • 不支持迁移至 Coding, 可从 Coding 迁移至其他 Git 服务器
  • 由于 Coding 的升级, 其基础 API 不再是 https://coding.net, 而改为: https://{username}.coding.net
  • 迁移前请确认已在Git服务器上添加 SSH Key
  • 只能迁移指定用户下的仓库, 即 {username}/{repo_name}, 不包括参与的或者组织的仓库
  • 迁移包括commits、branches和tags, 不包括issues、pr和wiki

Environment

  • Git
  • Python

开发环境: git version 2.20.1 (Apple Git-117) + Python 3.7.2

Dependencies

References

GitLab

Can not create a project!

It will co-exist with the current v4 REST API. If we have a v5 API, this should be a compatibility layer on top of GraphQL.

Gitee

Gitea

Gogs

Coding

GraphQL Client

How to choose between Gitea and Gogs

Gitea vs. Gogs on their contributions, 2/13/2020

I am using Gitea, https://code.ncucoder.com

License

MIT