Skip to main content

リポジトリが削除されたり可視性が変更されたりするとフォークはどうなりますか?

リポジトリを削除したり、その可視性を変更したりすると、そのリポジトリのフォークに影響します。

警告:

  • プライベートリポジトリへの個人のアクセス権を削除すると、そのプライベートリポジトリからその人が作成したフォークはすべて削除されます。 プライベートリポジトリのローカルクローンは残ります。 プライベート リポジトリへの Team のアクセス権が削除されたり、プライベート リポジトリへのアクセス権を持つ Team が削除されたりしていることに加え、他の Team 経由でのそのリポジトリへのアクセス権を Team のメンバーが持っていなければ、そのリポジトリのプライベート フォークは削除されます。

  • リポジトリへのアクセスを失った個人に、機密情報や知的財産を確実に削除してもらうのは、あなたの責任です。

  • プライベート リポジトリへの管理アクセス許可を持つユーザーは、そのリポジトリのフォークを禁止することができます。また、Organization 所有者は、Organization 内でのプライベート リポジトリのフォークを禁止することができます。 詳細については、「Organization のフォーク ポリシーを管理する」および「リポジトリのフォーク ポリシーを管理する」を参照してください。

プライベートリポジトリを削除する

プライベートリポジトリを削除すると、そのプライベートフォークもすべて削除されます。

パブリックリポジトリを削除する

パブリック リポジトリを削除すると、既存のパブリック フォークの 1 つが新しい上流リポジトリとして選択されます。 他のすべてのリポジトリはこの新しい上流から分岐し、その後の pull request はこの新しい上流リポジトリに送られます。

プライベートフォークと権限

プライベートフォークは、上流もしくは親リポジトリの権限構造を継承します。 これは、プライベートリポジトリのオーナーがコードに対するコントロールを管理するための役に立ちます。 たとえば、上流リポジトリがプライベートで読み取り/書き込みアクセスをあるTeamに与えているなら、そのチームはプライベートの上流リポジトリのすべてのフォークに読み取り/書き込みアクセスを持つことになります。 (個人のアクセス許可ではなく) チームのアクセス許可のみが、プライベート フォークによって継承されます。

パブリックリポジトリをプライベートリポジトリに変更する

パブリックリポジトリを非公開にすると、そのパブリックフォークは新しいネットワークに分割されます。 パブリック リポジトリの削除と同様に、既存のパブリック フォークの 1 つが新しい上流リポジトリとして選択され、他のすべてのリポジトリはこの新しい上流から分岐します。 後続の pull request は、この新しい上流リポジトリに送られます。

つまり、パブリック リポジトリのフォークは、上流リポジトリがプライベートにされた後も、独自の別のリポジトリ ネットワーク内でパブリックのままになります。 これにより、フォークオーナーは作業を中断せずに作業を継続できます。 このようにパブリック フォークが別のネットワークに移動されなかった場合、それらのフォークの所有者は、適切なアクセス許可を取得して、(現在はプライベートになっている) 上流リポジトリから変更をプルし、pull request を送信する必要があります (以前はそれらのアクセス許可が必要ではなかったとしても)。

プライベートリポジトリを削除する

パブリックリポジトリを非公開にしてから削除しても、そのパブリックフォークは別のネットワークに存在し続けます。

プライベートリポジトリのパブリックリポジトリへの変更

プライベート リポジトリがパブリックに変更されると、そのプライベート フォークはそれぞれスタンドアロンのプライベート リポジトリになり、独自の新しいリポジトリ ネットワークの上流になります。 プライベートフォークは、公開されるべきではない機密のコミットを含む可能性があるため、自動的に公開されることはありません。

パブリックリポジトリを削除する

プライベートリポジトリを公開してから削除しても、そのプライベートフォークは独立したプライベートリポジトリとして別々のネットワークに存在し続けます。

参考資料