記事のバージョン: Enterprise Server 2.17
リポジトリが削除されたり可視性が変更されたりするとフォークはどうなりますか?
リポジトリを削除したり、その可視性を変更したりすると、そのリポジトリのフォークに影響します。
警告:
-
プライベートリポジトリへの個人のアクセス権を削除すると、そのプライベートリポジトリからその人が作成したフォークはすべて削除されます。 プライベートリポジトリのローカルクローンは残ります。 プライベートリポジトリへのTeamのアクセス権が削除されたり、プライベートリポジトリへのアクセス権を持つTeamが削除された場合、Teamのメンバーが他のTeamを通じてそのリポジトリへのアクセス権を持っていなければ、そのリポジトリのプライベートフォークは削除されます。
-
LDAP Syncが有効化されている場合、リポジトリから個人を削除すると、その人はアクセス権を失いますが、その人のフォークは削除されません。 元々のOrganizationのリポジトリへのアクセスできるように3ヶ月以内にその人がTeamに追加されたなら、次回の同期の際にフォークへのアクセスは自動的に回復されます。
-
リポジトリへのアクセスを失った個人に、機密情報や知的財産を確実に削除してもらうのは、あなたの責任です。
-
プライベートリポジトリに対する管理権限を持つ人は、そのリポジトリのフォークを禁止でき、OrganizationのオーナーはOrganization内のプライベートリポジトリのフォークを禁止できます。 詳しい情報については「Organizationのためのフォークのポリシーの管理」及び「リポジトリのフォークのポリシーの管理」を参照してください。
プライベートリポジトリを削除する
プライベートリポジトリを削除すると、そのプライベートフォークもすべて削除されます。
パブリックリポジトリを削除する
パブリックリポジトリを削除すると、既存のパブリックフォークの 1 つが新しい親リポジトリとして選択されます。 他のすべてのリポジトリはこの新しい親から分岐し、その後のプルリクエストはこの新しい親に送られます。
プライベートフォークと権限
プライベートフォークは、上流もしくは親リポジトリの権限構造を継承します。 たとえば、上流リポジトリがプライベートで読み取り/書き込みアクセスをあるTeamに与えているなら、そのチームはプライベートの上流リポジトリのすべてのフォークに読み取り/書き込みアクセスを持つことになります。 これは、プライベートリポジトリのオーナーがコードに対するコントロールを管理するための役に立ちます。
パブリックリポジトリをプライベートリポジトリに変更する
パブリックリポジトリを非公開にすると、そのパブリックフォークは新しいネットワークに分割されます。 パブリックリポジトリの削除と同様に、既存のパブリックフォークの 1 つが新しい親リポジトリとして選択され、他のすべてのリポジトリはこの新しい親から分岐されます。 後続のプルリクエストは、この新しい親に行きます。
言い換えれば、パブリックリポジトリのフォークは、親リポジトリが非公開にされた後も、独自の別のリポジトリネットワークで公開されたままになります。 これにより、フォークオーナーは作業を中断せずに作業を継続できます。 このようにパブリックフォークが別のネットワークに移動されなかった場合、それらのフォークのオーナーは適切なアクセス許可を取得してプルする必要があります。 以前はこれらのアクセス権が必要ではなかったとしても、(現在はプライベートになっている) 親リポジトリからの変更を取得して送信します。
パブリックリポジトリで匿名の Git 読み取りアクセスが有効になっていて、そのリポジトリが非公開になっている場合、リポジトリのすべてのフォークは匿名の Git 読み取りアクセスを失い、デフォルトの無効設定に戻ります。 分岐したリポジトリが公開された場合、リポジトリ管理者は匿名の Git 読み取りアクセスを再度有効にすることができます。 詳細は「リポジトリに対する匿名 Git 読み取りアクセスを有効化する」を参照してください。
プライベートリポジトリを削除する
パブリックリポジトリを非公開にしてから削除しても、そのパブリックフォークは別のネットワークに存在し続けます。
プライベートリポジトリのパブリックリポジトリへの変更
プライベートリポジトリが公開されると、そのプライベートフォークはそれぞれスタンドアロンのプライベートリポジトリになり、独自の新しいリポジトリネットワークの親になります。 プライベートフォークは、公開されるべきではない機密のコミットを含む可能性があるため、自動的に公開されることはありません。
パブリックリポジトリを削除する
プライベートリポジトリを公開してから削除しても、そのプライベートフォークは独立したプライベートリポジトリとして別々のネットワークに存在し続けます。