# フォークについて

フォークを使用してリポジトリの独自のコピーを変更し、元のプロジェクトに提案します。

フォークとは、所有しているリポジトリのコピーであり、元のリポジトリに接続され、アップストリーム リポジトリと呼ばれます。 フォークを使うと、アップストリーム プロジェクトに影響を与えることなく自分の領域で変更を加え、その変更をプル リクエストで元のプロジェクトに提案できます。

## フォークを使用する理由

フォークを使うと、元のプロジェクトとのつながりを保ったまま、独立した作業場所を持つことができます。 フォークは、次の場合に便利です。

* 書き込みアクセス権がないプロジェクトに投稿する。
* アップストリーム リポジトリに影響を与えずに変更を試してください。
* 後で独立する可能性がある新しい方向を調べる。
* アップストリーム プロジェクトとは別に、独自のブランチ、問題、プル要求を保持します。

## フォークとブランチ

フォークと分岐はどちらも変更に取り組む場所を提供しますが、動作は異なります。

* **ブランチ**は 1 つのリポジトリ内に存在します。 書き込みアクセス権がある場合はブランチを使用し、共有リポジトリで共同作業を行います。
* **フォーク**は、独自の設定、アクセス許可、コラボレーション スペースを持つ独立したリポジトリです。 アップストリーム リポジトリからの独立が必要な場合、または書き込みアクセス権がない場合は、フォークを使用します。

フォークはそれ自体が独立したリポジトリであるため、ブランチよりも高い独立性があります。 アップストリーム リポジトリに接続したままであるため、変更は引き続きプル要求を通じてフローバックできます。

## フォークがアップストリーム リポジトリに接続する方法

フォークはその履歴をアップストリーム リポジトリと共有するため、2 つのフォークはプル要求を通じて変更を交換できます。 フォークには独自の可視性とアクセス許可もあります。このアクセス許可は、アップストリーム リポジトリと、それが属するリポジトリ ネットワークに関連付けられています。

ほとんどの共同作成者にとって、この接続はバックグラウンドのままです。変更を提案する準備ができたら、リポジトリをフォークし、コピーで作業し、pull request を開きます。

## 詳細については、次を参照してください。

* [リポジトリをフォークする](/ja/pull-requests/how-tos/work-with-forks/fork-a-repo)
* [Writing code for a project](/ja/pull-requests/concepts/writing-code-for-a-project)
* [フォーク](/ja/pull-requests/reference/forks)