フォークとは、所有しているリポジトリのコピーであり、元のリポジトリに接続され、アップストリーム リポジトリと呼ばれます。 フォークを使うと、アップストリーム プロジェクトに影響を与えることなく自分の領域で変更を加え、その変更をプル リクエストで元のプロジェクトに提案できます。
フォークを使用する理由
フォークを使うと、元のプロジェクトとのつながりを保ったまま、独立した作業場所を持つことができます。 フォークは、次の場合に便利です。
- 書き込みアクセス権がないプロジェクトに投稿する。
- アップストリーム リポジトリに影響を与えずに変更を試してください。
- 後で独立する可能性がある新しい方向を調べる。
- アップストリーム プロジェクトとは別に、独自のブランチ、問題、プル要求を保持します。
フォークとブランチ
フォークと分岐はどちらも変更に取り組む場所を提供しますが、動作は異なります。
- ブランチは 1 つのリポジトリ内に存在します。 書き込みアクセス権がある場合はブランチを使用し、共有リポジトリで共同作業を行います。
- フォークは、独自の設定、アクセス許可、コラボレーション スペースを持つ独立したリポジトリです。 アップストリーム リポジトリからの独立が必要な場合、または書き込みアクセス権がない場合は、フォークを使用します。
フォークはそれ自体が独立したリポジトリであるため、ブランチよりも高い独立性があります。 アップストリーム リポジトリに接続したままであるため、変更は引き続きプル要求を通じてフローバックできます。
フォークがアップストリーム リポジトリに接続する方法
フォークはその履歴をアップストリーム リポジトリと共有するため、2 つのフォークはプル要求を通じて変更を交換できます。 フォークには独自の可視性とアクセス許可もあります。このアクセス許可は、アップストリーム リポジトリと、それが属するリポジトリ ネットワークに関連付けられています。
ほとんどの共同作成者にとって、この接続はバックグラウンドのままです。変更を提案する準備ができたら、リポジトリをフォークし、コピーで作業し、pull request を開きます。