ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

フォークについて

フォークはユーザが管理するリポジトリのコピーです。 フォークを使えば、オリジナルのリポジトリに影響を与えることなくプロジェクトへの変更を行えます。 オリジナルのリポジトリから更新をフェッチしたり、プルリクエストでオリジナルのリポジトリに変更をサブミットしたりできます。

GitHubのユーザあるいは Organization は誰でもリポジトリをフォークできます。 リポジトリをフォークするのは他のリポジトリをコピーするのに似ていますが、2 つの点で大きく異なります:

  • プルリクエストを使って自分のフォークからの変更をオリジナルのリポジトリ(上流のリポジトリとも呼ばれます)に提案できます。
  • 上流のリポジトリと自分のフォークを同期させることで、上流のリポジトリからの変更を自分のローカルフォークへ持ち込めます。

自分のユーザアカウントや自分がリポジトリの作成権限を持つOrganizationに、任意のパブリックリポジトリをフォークできます。 詳細は「Organization の権限レベル」を参照してください。

自分のユーザアカウントや自分がリポジトリの作成権限を持つGitHub TeamあるいはGitHub Enterprise上のOrganizationに、あなたがアクセスできる任意のプライベートリポジトリをフォークできます。 詳しい情報については「GitHubの製品」を参照してください。

フォークを削除しても、オリジナルの上流のリポジトリは削除されません。 実際のところ、自分のフォークにはコラボレータの追加、ファイル名の変更、GitHub Pages の生成など、いかなる変更もオリジナルに影響を与えることなく行えます。フォークリポジトリを削除した後は、それを復元できません。 詳しい情報については、「削除されたリポジトリを復元する」を参照してください。

オープンソースプロジェクトでは、アイデアや変更を上流のリポジトリ戻して全員が利用できるようにする前に、それらについてのイテレーションをするため、しばしばフォークが使われます。 自分のフォークに変更を行い、自分の作業を上流のリポジトリと比較するプルリクエストをオープンする際には、上流のリポジトリへのプッシュアクセスできる人に対して、自分のプルリクエストブランチへの変更をプッシュする権限を与えることができます。 これにより、マージの前に、フォークからのプルリクエストブランチにリポジトリメンテナがコミットをしたり、ローカルでテストを実行したりできるようになるので、コラボレーションの速度が上がります。

プライベートフォークは、上流あるいは親リポジトリの権限構造を継承します。たとえば上流のリポジトリがプライベートで、読み書きのアクセス権を Team に与えているなら、同じチームはそのプライベートの上流リポジトリのすべてのフォークへの読み書きアクセス権を持ちます。これによって、プライベートリポジトリのオーナーはコードの管理がしやすくなります。

既存のリポジトリのコンテンツから新しいリポジトリを作成したいけれども、将来にわたって変更を上流にマージしたくない場合、リポジトリを複製するか、リポジトリがテンプレートである場合は、リポジトリをテンプレートとして使うことができます。 詳細は「リポジトリを複製する」および「テンプレートからリポジトリを作成する」を参照してください。

参考リンク

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください