リポジトリのフォークはリポジトリのコピーと似ていますが、次の 2 つの大きな違いがあります。
-
pull request を使って、ユーザーが所有するフォークからの変更を、GitHub 内にあるオリジナルのリポジトリ (上流 のリポジトリとも呼ばれます) に提案できます。
-
上流のリポジトリと自分のフォークを同期させることで、上流のリポジトリからの変更を自分のローカルフォークへ持ち込めます。
リポジトリの設定と組織のポリシーでフォークが許可されている� �合は、プライベートまたは内部リポジトリを、ご自分の個人アカウントや、リポジトリの作成権限を持っている 上の組織にフォークできます。
GitHub Desktopを使ってリポジトリのフォークをすることができます。 詳細については、「Cloning and forking repositories from GitHub Desktop」 (GitHub Desktop からのリポジトリの複製とフォーク) を参照してく� さい。
フォークを削除しても、オリジナルの上流のリポジトリは削除されません。 オリジナルに影響を与えることなく、コラボレータの追� 、ファイル名の変更、GitHub Pages の生成など、自分のフォークに必要な変更を� えることができます。
オープンソースプロジェクトでは、フォークを使用して、上流のリポジトリに提供される前にアイデアや変更をイテレーションすることがよくあります。 ユーザーが所有するフォークに変更を� え、作業を上流リポジトリと比較する pull request をオープンすると、上流リポジトリにプッシュ アクセスできるどのユーザーにも、変更を pull request ブランチにプッシュする権限 (ブランチの削除を含む) を付与することができます。 これにより、リポジトリメンテナがマージする前に、ユーザが所有するフォークからプルリクエストブランチに対してローカルでコミットを実行したり、テストを実行したりすることができるようになり、コラボレーションがスピードアップします。 Organization が所有するフォークにプッシュ権限を与えることはできません。
プライベートフォークは、上流もしくは親リポジトリの権限構� を継承します。 これは、プライベートリポジトリのオーナーがコードに対するコントロールを管理するための役に立ちます。 たとえば、上流リポジトリがプライベートで読み取り/書き込みアクセスをあるTeamに与えているなら、そのチー� はプライベートの上流リポジトリのすべてのフォークに読み取り/書き込みアクセスを持つことになります。 (個人のアクセス許可ではなく) チー� のアクセス許可のみが、プライベート フォークによって継承されます。
既存のリポジトリのコンテンツから新しいリポジトリを作成したいものの、その後は変更を上流にマージしたくない� �合は、リポジトリを複製するか、リポジトリがテンプレートである� �合は、リポジトリをテンプレートとして使うことができます。 詳しい情� �については、「リポジトリを複製する」と「テンプレートからリポジトリを作成する」を参照します。