GitHubリポジトリを別アカウントへ移管する手順(Transferの使い方)

広告

GitHubで管理しているリポジトリは、別の所有者(個人アカウントやOrganization)へ移管できます。

例えば、以下のようなケースでよく使われます。

  • 個人アカウント → 別の個人アカウント(アカウントの作り直しなど)
  • 個人アカウント → Organization(個人開発からチーム開発へのステップアップ)
  • Organization → 個人アカウント(プロジェクトの個人引き取り)

今回は、GitHubの標準機能である Transfer を使って、安全にリポジトリを移管する方法を紹介します。

事前確認

1. 移管先のアカウント名(ユーザー名 / Organization名)

移管先のアカウント名を正確に確認しておきます。

  • konishi-dev
  • school-team

※ 1文字でも間違えると、意図しない相手を指定してしまう可能性があるため注意しましょう。

2. 同名リポジトリの重複チェック

移管先に同名のリポジトリが既に存在する場合、移管処理が失敗します。事前に確認しておきましょう。

移管の手順

手順1:対象リポジトリを開く

GitHubにログインし、移管したいリポジトリのトップページを開きます。

hidepon4162/MyApp

手順2:Settings を開く

リポジトリ上部のタブメニューから Settings をクリックします。

手順3:Danger Zone までスクロール

ページ最下部までスクロールします。赤枠で囲まれた Danger Zone というエリアがあります。ここには削除や移管など、重要な操作が集まっています。

手順4:Transfer を選ぶ

Danger Zone内にある Transfer ボタンをクリックします。

手順5:移管先を指定する

New owner の入力欄で移管先を指定します。

自分のOrganizationに移す場合
Select one of my organizations から対象組織を選択します。

他の個人アカウントや別Organizationに移す場合
Specify an organization or username を選択し、アカウント名を入力します。

konishi-dev

手順6:リポジトリ名を入力して確認

誤操作防止の最終確認として、画面に表示された リポジトリ名をそのまま手入力 します。入力後、I understand, transfer this repository をクリックします。

手順7:承認を待つ(必要な場合)

移管先によって挙動が異なります。

個人アカウントへの移管
相手に確認メール(またはGitHub通知)が届きます。相手が承認すると移管完了です。

Organizationへの移管
自分がそのOrganizationでリポジトリ作成権限を持っていれば、承認なしで即時完了します。

移管後に確認すること

1. リポジトリURLの変更と自動転送(リダイレクト)

移管に伴い、URLが変更されます。

変更前:

github.com/hidepon4162/MyApp

変更後:

github.com/konishi-dev/MyApp

GitHubには親切な仕様があります。旧URLへアクセスしても、自動的に新URLへリダイレクトされます。そのため、ブログに貼ったリンク・README内のリンク・過去の共有URLが、すぐにリンク切れになる心配はありません。

※ ただし、移管元アカウント側で同名repoを新規作成すると、リダイレクトは解除されます。

2. ローカルPCの clone URL(remote URL)

すでにローカルPCへ clone 済みなら、remote URL を確認しておきましょう。

確認:

git remote -v

変更:

git remote set-url origin 新しいリポジトリURL

旧URLのままでも動くケースはありますが、トラブル防止のため新URLへ更新しておくのがおすすめです。

3. GitHub Actions と外部連携

GitHub Actions や外部サービスを使っている場合は、移管後に以下を確認しましょう。

  • Secrets / Variables
  • Token権限
  • Webhooks(例: Discord / Slack 通知)

何が引き継がれる?

基本的に、開発資産のほぼすべてが引き継がれます。

  • コミット履歴
  • ブランチ
  • タグ
  • Issues
  • Pull Requests
  • Releases
  • Wiki
  • Stars / Watchers

データの連続性を保ったまま綺麗に移管できます。

まとめ

GitHubでリポジトリを移管する流れはシンプルです。

  1. 対象リポジトリを開く
  2. Settings を開く
  3. Danger Zone へ移動
  4. Transfer を選択
  5. 移管先を指定
  6. リポジトリ名を入力して確定
  7. 必要なら相手の承認を待つ

個人開発をしていると、最初は個人アカウントで十分です。ただ、プロジェクトが大きくなったり、チーム開発に移行したりすると、Organizationへ移したくなる場面が出てきます。そんな時、この Transfer を知っていると慌てずに対応できます。

訪問数 2 回, 今日の訪問数 2回

広告