📦
GitHub -> GitLab 移行手順例
published_at: 2019-04-27 14:33
- 4/24 の GitLab Meetup Tokyo #16: 新年度応援 に感銘を受けて、思い切ってGitHubの ひとり organization をGitLabに移行したので手順を共有します
- 1月か2月に
GitHub無料ユーザーも無制限にプライベートリポジトリを使えるようになる
となってからなんかもったいないなあと思っていた気がかりを解消できてよかったです
凡例
- ■■■■■■ : 旧 Organization
- ◇◇◇◇ : 新 Group
現状の確認
❯ git remote -v
origin git@github.com:■■■■■■/MyRepo.git (fetch)
origin git@github.com:■■■■■■/MyRepo.git (push)
❯ git branch
* master
❯ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
移行してみた
refs
- https://qiita.com/flmil/items/89ca07fa976546365c49
- 新規プロジェクトをカラで作成したときのGitLabのガイド
Push an existing Git repository cd existing_repo git remote rename origin old-origin git remote add origin git@gitlab.com:◇◇◇◇/myrepo.git git push -u origin --all git push -u origin --tags
GitHubのリモートリポジトリをリネーム
❯ git remote rename origin github
リモートリポジトリにGitLabの情報を付加
❯ git remote add origin git@gitlab.com:◇◇◇◇/myrepo.git
GitLabのリモートリポジトリをPush
❯ git push -u origin --all
Enumerating objects: 27, done.
Counting objects: 100% (27/27), done.
Delta compression using up to 4 threads
Compressing objects: 100% (25/25), done.
Writing objects: 100% (27/27), 7.23 KiB | 493.00 KiB/s, done.
Total 27 (delta 4), reused 3 (delta 0)
To gitlab.com:◇◇◇◇/myrepo.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
❯ git push -u origin --tags
Everything up-to-date
状況確認
❯ git remote -v
github git@github.com:■■■■■■/MyRepo.git (fetch)
github git@github.com:■■■■■■/MyRepo.git (push)
origin git@gitlab.com:◇◇◇◇/myrepo.git (fetch)
origin git@gitlab.com:◇◇◇◇/myrepo.git (push)
GitHubリポジトリの情報を削除する
❯ git remote rm github
❯ git remote -v
origin git@gitlab.com:◇◇◇◇/myrepo.git (fetch)
origin git@gitlab.com:◇◇◇◇/myrepo.git (push)
- あとは、GitHubのWeb管理画面でリポジトリを削除すればOK
- 一気に、Organizationを削除すると全リポジトリ削除できる(復元できなくなるので、十分に確認してから)
Discussion