Metrics
0
Watch 8 Star 22 Fork 1

hsowan / GigratorPythonMIT

Sign up for free
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
Git 仓库迁移助手,支持 Github、Gitee、Gitlab、Gitea、Coding、Gogs spread retract

https://github.com/hsowan/Gigrator

Clone or download
Loading...
README.md

Gigrator

en | zh

Migrate repos from one GitServer to another.

Gitee: https://gitee.com/hsowan/Gigrator

GitHub: https://github.com/hsowan/gigrator

test.png

Todo

  • [ADMIN]Migrate all repos on a GitServer

Support

Note:

  • Coding only support migrating out
  • Make sure you have added SSH Key on GitServers before using
  • Only support migrating repos the specified user owned and repo path like :username/:repo, not include repos participated in or belonged to groups
  • Migration includes all commits, branches and tags, not include issues, pr and wiki
  • Factors affecting migration speed: GitServer bandwidth and local network speed

Environment

  • Git
  • Python

My own development environment: git version 2.20.1 (Apple Git-117) + Python 3.7.2

Dependency

Config

config.py

Start

# Install pipenv
pip install --user pipenv

# Clone the repo
git clone git@github.com:hsowan/Gigrator.git
cd gigrator

# Init venv
pipenv --python 3
pipenv install

# Run
pipenv run python gigrator.py

Flow

  1. Provide the source and the dest GitServers for migration
  2. List all repo on the source GitServer
  3. Input repos to migrate
  4. Migrate the selected repos:
    1. Inspect that the dest GitServer has a repository of the same name
    2. Clone repo from the source GitServer
    3. Create repo on the dest GitServer
    4. Push repo to the dest GitServer

Wish

Expect Issues/PR :pray:

Docs

GitLab

GitHub

Gitee

Gitea

Gogs

Coding

License

MIT

Comments ( 0 )

You need to Sign in for post a comment

Help Search