GitHubからGitLabにリポジトリを移行

GitHubがマイクロソフトに買収されたため、GitHubを捨ててGitLabに移行する例が増えているそうだ。当然だが、私としてもマイクロソフトの全く信頼性の無いボロいサービス(になるであろう)を使うつもりなどさらさらないので、GitHubの既存のリポジトリをGitLabに移行することにする。

手順は以下の通りである。

GitHubからのインポート

New Projectをクリックする。

Import Projectをクリックし、GitHubをクリックする。

ここでGitHubへのログインを要求され、プロジェクト一覧が表示される。

一度にすべてをインポートすることもできるようだが、ここではひとつずつインポートしていく。あまりに数が多いので、どちらが最新なのかわからなくなってしまいそうだからだ。

プロジェクトが小さいからなのか、一瞬でインポートされ、GitLabの方にプロジェクトが生成されている。何の問題も無いようだ。

インポートすると、インポート候補からは消える。

GitHubのプロジェクトを削除

しかし、当然ながら、GitHubから消えるわけではない。この時点では、同じものがGitHubとGitLabの二つに存在している。

GitHubの方を消すには、プロジェクトのSettingsをクリックする。

下の方のDanger Zoneに行き、Delete This Repositoryを選択する。

ここでプロジェクト名を手入力してやると、完全に削除される。GitHubとお別れである。

ローカルリポジトリの修正

これでリポジトリがGitHubからGitLabに移動した。後は、ローカルの作業用リポジトリの設定を変更してやる。.gitの中にconfigというファイルがあるので、これを書き換えるだけだ。

“`
[core]
repositoryformatversion = 0
filemode = false
logallrefupdates = true
[remote "origin"]
url = https://github.com/ysugimura/swingWrapper.git
fetch = +refs/heads/<em>:refs/remotes/origin/</em>
[branch "master"]
remote = origin
merge = refs/heads/master
rebase = false
““

となっている、githubをgitlabに変えるだけだった。ユーザ名はどちらもysugimuraであり、リポジトリ名は同一なので。

おそらくこれで問題無いと思うが、正規の方法かどうかはわからない。