GitHub でレポをフォークする

John Wachira 2024年2月15日
GitHub でレポをフォークする

この記事では、GitHub でフォークを作成および管理するプロセスの概要を説明します。 フォークは、GitHub アカウントで管理するリポジトリのコピーです。

フォークを使用すると、必ずしも元のリポジトリを変更することなく、プロジェクトに変更を加えることができます。 変更をフェッチするか、フォークを通じて元の所有者に変更を提案することで、フォークを更新できます。

GitHub でレポをフォークする

GitHub でフォークを作成すると、次のことができます。

  1. 元のリポジトリへの変更を提案するプル リクエストを元の所有者に送信します。
  2. フォークを同期して、通常はアップストリームと呼ばれる元のリポジトリからの変更で更新します。

誰かのプロジェクトに変更を提案する

フォークを使用するのに最適なシナリオは、誰かのコードにバグが見つかった場合です。 問題をログに記録する代わりに、次のことが簡単にできます。

  1. リポジトリをフォークします。
  2. バグを修正します。
  3. 所有者にプル リクエストを送信します。

プロジェクトをアイデアの出発点として使用する

私たちのプロジェクトの出発点として、別の人のプロジェクトを使用することもできます。 良い例は、API フレームワークを開発する場合です。

REST API の例を見てみましょう。 GitHub には多数のボイラープレート/テンプレート プロジェクトがあります。

これらのほとんどは公開リポジトリであり、フォークして変更を開始できます。

GitHub でどのようにフォークしますか?

リポジトリをフォークする

フォークするリポジトリを見つけたら、次の簡単な手順に従ってください。すぐに起動して実行できます。

  1. GitHub.com で、フォークするリポジトリを開き、右上隅に移動して、[フォーク] をクリックします。

    フォークボタン

  2. フォークの所有者を選択し、名前を付けます。 フォークの簡単な説明を追加することもできます。 さらに、デフォルト ブランチのみをコピーできます。

    フォークの作成

  3. 満足したら、Create Fork をクリックしてプロセスを終了します。 これにより、アカウントにリポジトリのコピーが作成されます。

フォークを作成したら、フォークをマシンに複製して変更を開始する必要があります。 フォークのクローンを作成すると、ファイルがマシンのローカル リポジトリに移動します。

  1. GitHub のフォークに移動し、[コード] をクリックします。

    GitHub コード ボタン

  2. このセッションでは、HTTPS を使用してレポを複製します。 URL を HTTPS の下にコピーします。

    HTTPS URL

  3. Git Bash を開き、複製する作業ディレクトリに切り替えます。 リポジトリのクローンを作成するには、コピーしたリンクで git clone コマンドを使用します。

    クローンリポジトリ

フォークからのすべてのファイルとブランチがローカル マシンにコピーされ、開発を開始できます。

元のリポジトリでフォークを最新の状態に保つことを常にお勧めします。 次の手順に従って、フォークを元のリポジトリと同期するように git を構成できます。

  1. GitHub で元のリポジトリに移動し、[コード] をクリックします。 (前のセッションと同じ)。

  2. HTTPS URL をコピーして、Git Bash を開きます。

  3. 次に、フォークのクローンを含むディレクトリに切り替え、git remote -v コマンドを実行して、どのリモートがフォークで構成されているかを確認します。

    Run Git Remote

  4. 以下に示すように、リンクで git remote add upload コマンドを使用できるようになりました。

    $ git remote add upstream https://github.com/app-generator/flask-corona-dark.git
    

    Git Remote Add Upstream を実行

フォークを同期するには、git fetch upload コマンドを実行してアップストリームからフェッチします。

Git Fetch アップストリームを実行

これで、アップストリームの master ブランチからの変更をローカル フォークの master ブランチにマージできるようになりました。 続行する前に、ローカルの master ブランチにチェックアウトされていることを確認してください。 この場合の master は、フォークのデフォルト ブランチです。

ローカル リポジトリに独自のコミットがある場合、競合に対処する必要があります。 そうでない場合は、早送りマージを行います。

これにより、上流の変更で master ブランチが更新されます。 残っているのは、変更を GitHub のフォークにプッシュすることです。

著者: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

関連記事 - Git Pull