リポジトリのフォークはリポジトリのコピーと似ていますが、次の 2 つの大きな違いがあります。
- You can use a pull request to suggest changes from your user-owned fork to the original repository in its GitHub instance, also known as the upstream repository.
- 上流のリポジトリと自分のフォークを同期させることで、上流のリポジトリからの変更を自分のローカルフォークへ持ち込めます。
ユーザアカウントあるいはリポジトリの作成権限を持つOrganizationにリポジトリをフォークできます。 詳しい情� �については「Organization内のロール」を参照してく� さい。
プライベートリポジトリにアクセスでき、オーナーがフォークを許可しているなら、そのリポジトリを自分のアカウントあるいはリポジトリの作成権限を持っているyour GitHub Enterprise Server instance上のOrganizationにフォークできます。
GitHub Desktopを使ってリポジトリのフォークをすることができます。 詳しい情� �については、「GitHub Desktop からのリポジトリのクローンとフォーク」を参照してく� さい。
フォークを削除しても、オリジナルの上流のリポジトリは削除されません。 オリジナルに影響を与えることなく、コラボレータの追� 、ファイル名の変更、GitHub Pages の生成など、自分のフォークに必要な変更を� えることができます。
オープンソースプロジェクトでは、フォークを使用して、上流のリポジトリに提供される前にアイデアや変更をイテレーションすることがよくあります。 When you make changes in your user-owned fork and open a pull request that compares your work to the upstream repository, you can give anyone with push access to the upstream repository permission to push changes to your pull request branch (including deleting the branch). これにより、リポジトリメンテナがマージする前に、ユーザが所有するフォークからプルリクエストブランチに対してローカルでコミットを実行したり、テストを実行したりすることができるようになり、コラボレーションがスピードアップします。 Organization が所有するフォークにプッシュ権限を与えることはできません。
プライベートフォークは、上流もしくは親リポジトリの権限構� を継承します。 これは、プライベートリポジトリのオーナーがコードに対するコントロールを管理するための役に立ちます。 たとえば、上流リポジトリがプライベートで読み取り/書き込みアクセスをあるTeamに与えているなら、そのチー� はプライベートの上流リポジトリのすべてのフォークに読み取り/書き込みアクセスを持つことになります。 Only team permissions (not individual permissions) are inherited by private forks.
If you want to create a new repository from the contents of an existing repository but don't want to merge your changes to the upstream in the future, you can duplicate the repository or, if the repository is a template, you can use the repository as a template. For more information, see "Duplicating a repository" and "Creating a repository from a template".