Skip to main content

リポジトリを移譲する

他のユーザや Organization アカウントにリポジトリを移譲できます。

リポジトリの移譲について

新しい所有者にリポジトリを転送すると、リポジトリの内容、問題、プル要求、リリース、 プロジェクト、設定をすぐに管理できます。 リポジトリの転送中にリポジトリ名を変更することもできます。 「リポジトリの名前を変更する」を参照してください。

リポジトリの移譲の前提条件:

  • 所有しているリポジトリを別の個人用アカウントに転送すると、新しい所有者に確認メールが届きます。
  • リポジトリを転送するには、リポジトリへの管理者アクセス権が必要です。
  • リポジトリは、同じ GitHub Enterprise Server インスタンス内の所有者にのみ転送できます。 GitHub Enterprise ServerからGitHub Enterprise Cloudへのリポジトリの移動の詳細については、GitHub Enterprise Server から GitHub Enterprise Cloud へのリポジトリの移行 を参照してください。
  • 自分が所有しているリポジトリを Organization に移譲するには、対象 Organization のリポジトリを作成する権限が必要です。
  • ターゲットのアカウントは、同じ名前のリポジトリを持っていたり、同じネットワーク内にフォークを持っていたりしてはなりません。
  • リポジトリのオリジナルの所有者は、移譲されたリポジトリにコラボレーターとして追加されます。 転送されたリポジトリの他のコラボレーターはそのまま残ります。
  • プライベート アップストリーム ネットワークからフォークされた単一リポジトリは転送できません。

リポジトリと共に移譲されるものは?

リポジトリを移譲すると、その Issue、プルリクエスト、ウィキ、Star、そして Watch しているユーザも移譲されます。 移譲されたリポジトリに webhook、サービス、シークレット、あるいはデプロイキーが含まれている場合、移譲が完了した後もそれらは関連付けられたままになります。 コミットに関する Git の情報は、コントリビューションを含めて保持されます。 さらに:

  • 移譲されたリポジトリがフォークである場合、それは上流のリポジトリに関連付けられたままになります。

  • 移譲されたリポジトリにフォークがある場合、それらのフォークは移譲が完了した後リポジトリに関連付けられたままになります。

  • 転送されたリポジトリが Git 大容量ファイルストレージを使用している場合、すべての Git LFS オブジェクトが自動的に移動されます。 この転送はバックグラウンドで行われるため、多数の Git LFS オブジェクトがある場合、または Git LFS オブジェクト自体が大きい場合、転送が発生するまでに時間がかかる場合があります。

  • リポジトリを 2 つの個人用アカウント間で移譲する場合、Issueはそのまま残ります。 個人用アカウントから Organization にリポジトリを移譲する場合、Organization のメンバーに割り当てられた Issue はそのまま残ります。その他のすべての Issue 担当者はクリアされます。 Organization の中の所有者だけが、新しい Issue のアサインを作成できます。 組織から個人アカウントにリポジトリを転送すると、リポジトリの所有者に割り当てられた問題のみが保持され、他のすべての問題担当者が削除されます。

  • リポジトリを organization から別の organization に譲渡すると、新しい organization に一致するものがある issue の種類はそのまま残り、他のすべての issue の種類は issue から削除されます。

  • リポジトリを組織から個人アカウントに転送すると、すべての問題の種類が問題から削除されます。

  • 転送されたリポジトリに GitHub Pages サイトが含まれている場合は、Web 上の Git リポジトリへのリンクと Git アクティビティを介してリダイレクトされます。 ただし、リポジトリに関連付けられている GitHub Pages はリダイレクトされません。

  • 以前のリポジトリの場所へのすべてのリンクは、新しい場所へ自動的にリダイレクトされます。 移譲されたリポジトリで git clonegit fetch、または git push を使う場合には、これらのコマンドは新しいリポジトリの場所または URL にリダイレクトされます。 しかし、混乱を避けるため、既存のローカルクローンは新しいリポジトリの URL を指すよう更新することを強くおすすめします。 これはコマンド ラインで git remote を使うことで行えます。

    git remote set-url origin NEW_URL
    

    警告

    以前のリポジトリの場所に新しいリポジトリまたはフォークを作成した場合、転送されたリポジトリへのリダイレクトは完全に削除されます。

  • Organization から個人用アカウントにリポジトリを移譲する場合、リポジトリの読み取り専用コラボレーターは移譲されません。 個人用アカウントが所有するリポジトリに対して、コラボレーターが読み取り専用アクセス権を持つことはできないからです。 リポジトリのアクセス許可レベルの詳細については、 個人アカウントのリポジトリの権限レベルOrganizationのリポジトリロール を参照してください。

  • リポジトリに関連付けられたパッケージは、それが属しているレジストリによっては、転送される場合や、リポジトリへのリンクが失われる場合があります。 「GitHub Packagesの権限について」を参照してください。

リモートリポジトリを管理する」を参照してください。

リポジトリの移譲および Organization

リポジトリを organization に委譲するには、受信側の organization でリポジトリを作成するアクセス許可、元の organization の外部にリポジトリを委譲するアクセス許可が必要です。 Organization または Enterprise 所有者が、特定のユーザーがこれらのことを行うことを禁止するポリシーを設定している場合があります。

Organization にリポジトリが移譲されたら、Organization のデフォルトのリポジトリ許可設定およびデフォルトのメンバーシップの権利が、移譲されたリポジトリに適用されます。

個人アカウントが所有しているリポジトリを移譲する

リポジトリの移譲を受け入れるどの個人用アカウントにも、リポジトリを移譲できます。 2 つの個人用アカウント間でリポジトリを移譲する場合、元のリポジトリ 所有者とコラボレーターは、新しいリポジトリにコラボレーターとして自動的に追加されます。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. ページの下部にある [危険なゾーン] セクションで、 [転送] をクリックします。

  4. リポジトリの転送に関する情報を読んだ後、[新しい所有者] で、新しい所有者を指定する方法を選択します。

    • いずれかの組織を選択する場合は、 [自分の組織のいずれかを選択] を選択します。

      • ドロップダウン メニューを選択し、組織をクリックします。

      • 必要に応じて、[リポジトリ名] フィールドに、リポジトリの新しい名前を入力します。

        メモ

        リポジトリの名前を変更するには、対象の organization の所有者である必要があります。

    • 組織またはユーザー名を指定するには、 [組織またはユーザー名の指定] を選び、組織名または新しい所有者のユーザー名を入力します。

  5. 新しい所有者の GitHub サブスクリプションによって生じる可能性のある機能の損失についての警告を読んでください。

  6. [確認するリポジトリ名を入力してください] に従って転送するリポジトリの名前を入力し、 [理解しました。このリポジトリを転送します] をクリックします。

Organization が所有しているリポジトリを移譲する

Organization で所有者権限がある場合、または Organization のリポジトリの 1 つに対する管理者権限がある場合、Organization が所有しているリポジトリを個人用アカウントまたは別の Organization に移譲できます。 内部リポジトリを個人アカウントに転送することはできません。別の組織にのみ転送できます。 内部リポジトリを転送するには、リポジトリの可視性を "プライベート" または "パブリック" に変更します。 リポジトリの可視性を設定する を参照してください

  1. リポジトリを所有している Organization で管理者または所有者権限がある個人用アカウントにサインインします。

  2. GitHub で、リポジトリのメイン ページに移動します。

  3. リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  4. ページの下部にある [危険なゾーン] セクションで、 [転送] をクリックします。

  5. リポジトリの転送に関する情報を読んだ後、[新しい所有者] で、新しい所有者を指定する方法を選択します。

    • いずれかの組織を選択する場合は、 [自分の組織のいずれかを選択] を選択します。

      • ドロップダウン メニューを選択し、組織をクリックします。

      • 必要に応じて、[リポジトリ名] フィールドに、リポジトリの新しい名前を入力します。

        メモ

        リポジトリの名前を変更するには、対象の organization の所有者である必要があります。

    • 組織またはユーザー名を指定するには、 [組織またはユーザー名の指定] を選び、組織名または新しい所有者のユーザー名を入力します。

  6. 新しい所有者の GitHub サブスクリプションによって生じる可能性のある機能の損失についての警告を読んでください。

  7. [確認するリポジトリ名を入力してください] に従って転送するリポジトリの名前を入力し、 [理解しました。このリポジトリを転送します] をクリックします。