こんばんは、ウチイダです。

先日、GitHub上でソースコードの管理をしていたプロジェクトを、組織(Organization)上で管理することになりました。

はじめて自分で対応したので、メモに残しておこうと思います。

(事前準備)Organizationを作成する

GitHubのOrganizationがない場合、作成するのも簡単です。

無料プランで用意できるので、多人数で開発をする予定があれば、あらかじめOrganizationを要しておくとよいかもしれません。

まずは以下のURLからOrganizationの画面を開き、「New Organization」ボタンをクリックします。

https://github.com/settings/organizations

「New Organization」ボタンをクリック

プラン選択画面が表示されるので、作成するOrganizationで利用するプランを選びます。とりあえず作成するだけであれば、Freeでよいと思います。ウチイダも今回Freeを選択しました。

プランを選択。とりあえずFreeを選ぶ

Organizationの情報を入力する画面が表示されるので、組織名などを入力していきます。

ビジネス用途(A business or institusion)を選択した場合、Organizationが所属する組織を入力する必要があります。

個人名でも大丈夫だと思いますが、法人名とか屋号を入力しておくのがベターのようです。

ウチイダは実際にはリポジトリを管理する団体の名称(クライアント名)を入力しました。

すべて入力できたら、画面したの「Next」ボタンをクリックします。

Organizationの情報を入力する

以上でOrganizationの作成は完了です。

Organizationに招待したいユーザーを追加して、「Complete Setup」ボタンをクリックします。

招待するユーザーがいなければ、「Skip this step」で先に進めることも可能です。

Organizationに追加するユーザーに招待を送って、作成手順は完了

1. 移管するリポジトリの設定画面を開く

まずはリポジトリの設定画面を開きます。

リポジトリの設定画面を開く

2. 移管設定から、移管先組織を選択する

設定画面のメニュー「General」の下の方に、「Danger Zone」のエリアがあります。

この中に「Transfer ownership」の設定項目があります。「Transfer」ボタンをクリックすると、リポジトリの移管設定画面が開きます。

Transfer ボタンをクリックして、移管設定の画面を開く

3. 移管先組織を設定する

移管設定画面で、リポジトリを移管するOrganizationの名称を入力します。

確認のためにリポジトリ名を入力した後、「I understand, transfer this repository.」ボタンをクリックします。

移管先のOrganizationを指定して、ボタンをクリック

4. 移管が完了するのを待つ

ボタンクリック後、トップページに戻ります。

画面上部に「Moving repozitory ***/*** . This may take a few minutes.」というメッセージが表示されます。

しばらく待ってからリポジトリ一覧を再表示すると、移管したリポジトリが消えているのが確認できます。

トップページに戻り、メッセージが表示されれば操作は完了

5. リポジトリにアクセスできるか確認

リポジトリの移管によって、GitHub上のリポジトリ名称が変更されています。

念のため、表示ができるかを確認しておくとよいです。

ウチイダは念のため以下2点を確認しました。

  • 移管前の名称でURLを開いて、移管後の画面が表示できるか
  • 移管前にクローンしてあったローカルのリポジトリの設定のまま、fetch操作ができるか

リダイレクトの設定がされているのか、どちらも正しく動作しました。

もしかしたら、リポジトリのURLとかリモートリポジトリの参照先とか、いろいろな押さないといけないかなと心配していましたが、杞憂でした。

細かいところまで行き届いています。

このほかに、例えばGitHub Actionsを使う場合の検証などはしていないので、もしかしたらエラーが出る場面もあるかもしれません。

移管が終わったら、一連のワークフローが問題なく動作するか、確認しておくとよいと思います。

まとめ

Organizationも無料で作成できるうえ、移管設定もとても簡単に対応できました。

思っていたよりもすぐに済んでよかったです。

以上です。あなたのお役に立てればうれしいです。