白黒羊

GitLabでプロジェクトを他のアカウントに移す方法

アカウントAからアカウントBにプロジェクトを移してみます。

方法① 仲介するグループを作る

どちらかのアカウントでGroupを作成し、もう片方のアカウントをOwnerとして招待します。

GroupのページからMembers>Invite member で招待できます

アカウントAでSettings(設定)>General(一般)>Advanced(高度な設定)>Transfer project(プロジェクトを転送)を選択肢、Transfer projectを選択します。
ここで、プロジェクトを転送することについての危険性を語るモーダルが出てきて怖いので、プロジェクト転送を避けたい方は時間はかかりますが方法②の方が良いかもしれません。やってることは同じな気がしますが。

同じようにしてGroupからアカウントBに転送します。
これでアカウントBでプロジェクトが使えるようになりました。

方法② エクスポートしてインポートする

アカウントAで移したいProjectのSettings(設定)>General(一般)>Advanced(高度な設定)>Export project(プロジェクトのエクスポート)でExport project(エクスポートを生成)ボタンを押します。

ボタンを押すと開いていたAdvancedが閉じるので、一瞬失敗したのかなと思ってしまいますが、上に「Project export started. A download link will be sent by email and made available on this page.」という青いバーが出ているのできちんと動いていることがわかります。
エクスポートの準備ができたらメールがくる、ということだと思いますが、私のところには来なかったので何か設定で外してしまっていると来ないのかもしれません。しばらく待ってからDownload export(エクスポートをダウンロード)を選択してダウンロードします。
ダウンロードできたら先ほど作ったアカウントBで、New Project (新規プロジェクト)>Import Project(プロジェクトのインポート)>GitLab Export からアカウントBに読み込みます。

プロジェクト名などを適当に設定して、Import Project(プロジェクトのインポート)ボタンを押すとインポートしてくれます。はじめずっとアップロード中(0%)…って出て何も進まなかったりタイムアウトするときがあるので厳しいです。何回か試したらうまくいきました。サーバーの混雑状況次第のようなので待つしかないです……。

感想

これしたいときそんなにないとは思いますが、結構面倒でした。方法①は作業自体は割とすぐに終わるけれど……。
だいぶ前からIssueがあるみたいなので将来的にはサクッとできるようになると良いですね。

Transfer project from one user to another (#14502) · Issues · GitLab.org _ GitLab · GitLab