HOWTO · Git
GitHub でレポをフォークする
GitHub でのフォークに関する包括的なガイド。
このページの内容
この記事では、GitHub でフォークを作成および管理するプロセスの概要を説明します。 フォークは、GitHub アカウントで管理するリポジトリのコピーです。
フォークを使用すると、必ずしも元のリポジトリを変更することなく、プロジェクトに変更を加えることができます。 変更をフェッチするか、フォークを通じて元の所有者に変更を提案することで、フォークを更新できます。
GitHub でレポをフォークする
GitHub でフォークを作成すると、次のことができます。
- 元のリポジトリへの変更を提案するプル リクエストを元の所有者に送信します。
- フォークを同期して、通常は
アップストリームと呼ばれる元のリポジトリからの変更で更新します。
誰かのプロジェクトに変更を提案する
フォークを使用するのに最適なシナリオは、誰かのコードにバグが見つかった場合です。 問題をログに記録する代わりに、次のことが簡単にできます。
- リポジトリをフォークします。
- バグを修正します。
- 所有者にプル リクエストを送信します。
プロジェクトをアイデアの出発点として使用する
私たちのプロジェクトの出発点として、別の人のプロジェクトを使用することもできます。 良い例は、API フレームワークを開発する場合です。
REST API の例を見てみましょう。 GitHub には多数のボイラープレート/テンプレート プロジェクトがあります。
これらのほとんどは公開リポジトリであり、フォークして変更を開始できます。
GitHub でどのようにフォークしますか?
リポジトリをフォークする
フォークするリポジトリを見つけたら、次の簡単な手順に従ってください。すぐに起動して実行できます。
-
GitHub.com で、フォークするリポジトリを開き、右上隅に移動して、[フォーク] をクリックします。
-
フォークの所有者を選択し、名前を付けます。 フォークの簡単な説明を追加することもできます。 さらに、デフォルト ブランチのみをコピーできます。
-
満足したら、
Create Forkをクリックしてプロセスを終了します。 これにより、アカウントにリポジトリのコピーが作成されます。
フォークを作成したら、フォークをマシンに複製して変更を開始する必要があります。 フォークのクローンを作成すると、ファイルがマシンのローカル リポジトリに移動します。
-
GitHub のフォークに移動し、[コード] をクリックします。
-
このセッションでは、HTTPS を使用してレポを複製します。 URL を HTTPS の下にコピーします。
-
Git Bash を開き、複製する作業ディレクトリに切り替えます。 リポジトリのクローンを作成するには、コピーしたリンクで
git cloneコマンドを使用します。
フォークからのすべてのファイルとブランチがローカル マシンにコピーされ、開発を開始できます。
元のリポジトリでフォークを最新の状態に保つことを常にお勧めします。 次の手順に従って、フォークを元のリポジトリと同期するように git を構成できます。
-
GitHub で元のリポジトリに移動し、[コード] をクリックします。 (前のセッションと同じ)。
-
HTTPS URL をコピーして、Git Bash を開きます。
-
次に、フォークのクローンを含むディレクトリに切り替え、
git remote -vコマンドを実行して、どのリモートがフォークで構成されているかを確認します。
-
以下に示すように、リンクで
git remote add uploadコマンドを使用できるようになりました。$ git remote add upstream https://github.com/app-generator/flask-corona-dark.git
フォークを同期するには、git fetch upload コマンドを実行してアップストリームからフェッチします。
これで、アップストリームの master ブランチからの変更をローカル フォークの master ブランチにマージできるようになりました。 続行する前に、ローカルの master ブランチにチェックアウトされていることを確認してください。 この場合の master は、フォークのデフォルト ブランチです。
ローカル リポジトリに独自のコミットがある場合、競合に対処する必要があります。 そうでない場合は、早送りマージを行います。
これにより、上流の変更で master ブランチが更新されます。 残っているのは、変更を GitHub のフォークにプッシュすることです。