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

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2020-11-12. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

フォークについて

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

リポジトリのフォークはリポジトリのコピーと似ていますが、次の 2 つの大きな違いがあります。

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

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

アクセス権を持っている任意のプライベートリポジトリを、自分のユーザアカウント及びリポジトリの作成権限を持っているGitHub TeamもしくはGitHub Enterprise上の任意のOrganizationにフォークできます。 You cannot fork a private repository to an organization using GitHub Free.

GitHub Desktopを使ってリポジトリのフォークをすることができます。 詳しい情報については「GitHub Desktopからのリポジトリのクローンとフォーク」を参照してください。

フォークを削除しても、オリジナルの上流のリポジトリは削除されません。 You can make any changes you want to your fork—add collaborators, rename files, generate GitHub Pages—with no effect on the original.

オープンソースプロジェクトでは、フォークを使用して、上流のリポジトリに提供される前にアイデアや変更をイテレーションすることがよくあります。 ユーザ所有のフォークに変更を加え、作業を上流リポジトリと比較するプルリクエストをオープンすると、上流リポジトリへのプッシュアクセスできる人に対して、変更をプルリクエストブランチにプッシュする権限を付与することができます。 これにより、リポジトリメンテナがマージする前に、ユーザが所有するフォークからプルリクエストブランチに対してローカルでコミットを実行したり、テストを実行したりすることができるようになり、コラボレーションがスピードアップします。 Organization が所有するフォークにプッシュ権限を与えることはできません。

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

If you want to create a new repository from the contents of an existing repository but don't want to merge your changes upstream in the future, you can duplicate the repository or, if the repository is a template, use the repository as a template. 詳細は「リポジトリを複製する」および「テンプレートからリポジトリを作成する」を参照してください。

参考リンク