GitLabからGitHubへの移行メモ
これまで他の実験用のWebサイトと相乗りしたメモリ1GBのカツカツの環境でGitLabを動かしてたもののかなり辛くなってきたためついカッとなってスペックを上げて対応するのではなくGitHubのプライベートリポジトリに移行する形で対応した。
以下、移行と設定のメモ。
自分のケースでは用途で複数のGitHubアカウント使ってることもあって~/.ssh/configに以下を追加(Windowsの場合もホームディレクトリの下の.sshに記す。WindowsでもIdentityFileはスラッシュ区切りかつ~/指定でよい)。
これによりgithub.comではなくprivate.github.comと指定してssh接続した際にのみ所定のキーが使われる。
Host private.github.com Hostname github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_private_github
移行は予めGitHubのコンソール上でmyname/group01-repo01なるプライベートリポジトリを作っておき、その後以下を実行。--mirrorをつけることでローカルに作業ディレクトリを作らずにベアリポジトリだけ作り、かつ、全ブランチを移行できる。
git clone --mirror git@myhost.example.com:group01/repo01.git cd repo01.git git remote add --mirror=push github ssh://git@private.github.com/myname/group01-repo01.git git push github cd ..
TortoiseGitのSettings/NetworkでSSH clientを「C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe」とかにしている場合は、PuTTYで以下のように設定すればTortoiseGit上のURLを「git@private.github.com:myname/group01-repo01.git」指定に出来る。