フォークについて
フォークを使うと、オリジナルのリポジトリ ("上流の" リポジトリとも呼ばれます) に影響を与えることなくプロジェクトを変更できます。 リポジトリをフォークした後は、上流のリポジトリから更新をフェッチしてフォークを最新の状態に保つことができ、pull request を使ってフォークから上流のリポジトリに変更を提案できます。フォークは、個人用アカウントまたは組織が所有できます。
フォークされたリポジトリを GitHub Enterprise Server で表示すると、上流のリポジトリがフォークの名前の下に示されます。
オープンソース プロジェクトでは、上流のリポジトリに変更を組み込む前に、フォークを使ってアイデアや変更を繰り返すことがよくあります。 パブリック リポジトリを個人用アカウントにフォークして変更を加えた後、pull request を開いて上流リポジトリに変更を提案する場合、上流リポジトリへのプッシュ アクセス許可を持つどのユーザーにも、pull request ブランチに変更をプッシュする (ブランチの削除を含む) アクセス許可を付与することができます。 これにより、リポジトリの保守管理者がマージする前に、ユーザー所有のフォークから pull request ブランチにローカルでコミットしたりテストを実行したりできるようになり、コラボレーションのスピードアップにつながります。 Organization が所有するフォークにプッシュ権限を与えることはできません。 詳しくは、「フォークから作成されたプルリクエストのブランチへの変更の許可」を参照してください。
フォークを削除しても、オリジナルの上流のリポジトリは削除されません。 フォークにはどのような変更でも自由に行うことができ、上流には影響ありません。 たとえば、上流に影響を与えることなく、フォークでコラボレーターの追加、ファイル名の変更、GitHub Pages の生成を行うことができます。 プライベート リポジトリを削除すると、そのリポジトリのすべてのフォークが削除されます。
フォークの作成について
リポジトリの設定と Organization のポリシーでフォークが許可されている場合は、個人用アカウント、またはリポジトリを作成するアクセス許可がある お使いの GitHub Enterprise Server インスタンス 上の Organization にプライベートまたは内部リポジトリをフォークできます。 一般に、任意のパブリック リポジトリを、自分の個人アカウント、またはリポジトリを作成するアクセス許可を自分が持っている Organization に、フォークできます。
リポジトリをフォークする手順については、「リポジトリをフォークする」をご覧ください。 フォークを作成できるタイミング、およびフォークのアクセス許可と表示の設定について詳しくは、「フォークのアクセス許可と可視性について」をご覧ください。
ヒント: GitHub Desktopを使ってリポジトリのフォークをすることができます。 詳しくは、「GitHub Desktopからのリポジトリのクローンとフォーク」を参照してください。
リポジトリのフォークとリポジトリの複製
既存のリポジトリのコンテンツから新しいリポジトリを作成したいものの、その後は変更を上流にマージしたくない場合は、リポジトリを複製するか、リポジトリがテンプレートである場合は、リポジトリをテンプレートとして使うことができます。 詳しくは、「リポジトリを複製する」と「テンプレートからリポジトリを作成する」をご覧ください。
リポジトリのフォークは、リポジトリの複製と似ていますが、次のような違いがあります。
- pull request を使って、フォークから上流のリポジトリへの変更を提案できます。
- 自分のフォークと上流のリポジトリを同期することで、上流のリポジトリから自分のフォークに変更を取り込むことができます。
- フォークには、固有のメンバー、ブランチ、タグ、ラベル、ポリシー、issue、pull request、ディスカッション、アクション、プロジェクト、Wiki があります。
- フォークは、上流のリポジトリの制限を継承します。 たとえば、上流のリポジトリが GitHub Free プランで Organization に属している場合、ブランチ保護ルールを下流に渡すことはできません。