Skip to main content

リポジトリを移譲する

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

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

リポジトリを新たなオーナーに移譲すると、そのオーナーはすぐにリポジトリの内容、Issue、プルリクエスト、リリース、プロジェクトボード、そして設定を管理できるようになります。

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

  • 所有しているリポジトリを別の個人用アカウントに移譲すると、新しいオーナーに確認のメールが送られます。確認のメールには、移譲を受け入れる手順が記載されています。 新しいオーナーが移譲を 1 日以内に受け入れなければ、招待は期限切れになります。
  • 自分が所有しているリポジトリを Organization に移譲するには、対象 Organization のリポジトリを作成する権限が必要です。
  • ターゲットのアカウントは、同じ名前のリポジトリを持っていたり、同じネットワーク内にフォークを持っていたりしてはなりません。
  • リポジトリのオリジナルのオーナーは、移譲されたリポジトリにコラボレーターとして追加されます。 移譲されたリポジトリの他のコラボレーターはそのまま変わりません。
  • プライベートフォークは移譲できません。

プライベート リポジトリを GitHub Free ユーザーまたは Organization アカウントに移譲すると、リポジトリは保護されたブランチや GitHub Pages などの機能にアクセスできなくなります。 詳細については、「GitHub's products」を参照してください。

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

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

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

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

  • 移譲されたリポジトリが Git Large File Storage を使う場合、すべての Git LFS オブジェクトは自動的に移動します。 この移譲はバックグラウンドで行われます。このため、多数の Git LFS オブジェクトがあるか、Git LFS オブジェクト自体のサイズが大きい場合、移譲には時間がかかることがあります。Git LFS を利用するリポジトリを移譲する前に、受信側のアカウントが、移動する Git LFS オブジェクトを保存するために十分なデータ パックを所有していることを確認してください。 個人用アカウントにストレージを追加する方法について詳しくは、「Git Large File Storage をアップグレードする」をご覧ください。

  • リポジトリを 2 つの個人用アカウント間で移譲する場合、Issue の割り当てはそのまま残ります。 個人用アカウントから Organization にリポジトリを移譲する場合、Organization のメンバーに割り当てられた Issue はそのまま残ります。その他のすべての Issue 担当者はクリアされます。 Organization の中のオーナーだけが、新しい Issue のアサインを作成できます。 Organization から個人用アカウントにリポジトリを移譲する場合、リポジトリのオーナーに割り当てられた 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 のリポジトリ ロール」をご覧ください。

  • スポンサーシップ層を通じてリポジトリにアクセスできるスポンサーが影響を受ける可能性があります。 詳しくは、「スポンサーシップ層へのリポジトリの追加」をご覧ください。

詳細については、「リモート リポジトリを管理する」を参照してください。

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

Organization にリポジトリを移譲するには、受け取る Organization でのリポジトリ作成許可を持っている必要があります。 Organization のオーナーが Organization のメンバーによるリポジトリ作成を無効化している場合、Organization のオーナーだけが、その Organization に対して、または、Organization からリポジトリを移譲できます。

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

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

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

プライベート リポジトリに GitHub Pages サイトを公開し、カスタム ドメインを追加した場合、ドメイン乗っ取りのリスクを避けるために、リポジトリを移譲する前に DNS レコードを削除または更新することをお勧めします。 詳しくは、「GitHub Pages サイトのカスタム ドメインを管理する」をご覧ください。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン
  2. [危険なゾーン] の [移譲] をクリックします。 転送ボタン
  3. リポジトリの移譲に関する情報を読み、リポジトリの所有権を移譲したいユーザもしくはOrganizationの名前を入力してください。 リポジトリの移譲に関する情報と、新しい所有者のユーザー名を入力するフィールド
  4. 新しいオーナーのプランによって生じうる機能の損失についての警告を読んでください。 無料製品を使っているユーザーへのリポジトリの移譲に関する警告
  5. 移譲するリポジトリの名前を入力し、 [I understand, transfer this repository](理解しました。このリポジトリを移譲します) をクリックします。 移譲ボタン

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

Organization でオーナー権限がある場合、または Organization のリポジトリの 1 つに対する管理者権限がある場合、Organization が所有しているリポジトリを個人用アカウントまたは別の Organization に移譲できます。

  1. リポジトリを所有している Organization で管理者またはオーナー権限がある個人用アカウントにサインインします。
  2. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン
  3. [危険なゾーン] の [移譲] をクリックします。 転送ボタン
  4. リポジトリの移譲に関する情報を読み、リポジトリの所有権を移譲したいユーザもしくはOrganizationの名前を入力してください。 リポジトリの移譲に関する情報と、新しい所有者のユーザー名を入力するフィールド
  5. 新しいオーナーのプランによって生じうる機能の損失についての警告を読んでください。 無料製品を使っているユーザーへのリポジトリの移譲に関する警告
  6. 移譲するリポジトリの名前を入力し、 [I understand, transfer this repository](理解しました。このリポジトリを移譲します) をクリックします。 移譲ボタン