【PR】を含みます。

プログラミング

【GitHub】フォーク元の最新変更を反映する方法!本家リポジトリの更新を取り込む手順

GitHub フォーク元の最新変更を反映する方法!本家リポジトリの更新を取り込む手順

GitHubでフォークしたリポジトリを使って開発していると、「本家リポジトリ(元のリポジトリ)の最新の変更を取り込みたい!」と思うことがあります。

この記事では、本家リポジトリが更新されたとき、フォークしたリポジトリを最新の状態にする方法を解説します。

フォーク元の変更をfetchmergepushの流れを初心者向けにわかりやすく説明します。

フォークしたリポジトリを最新にする流れ

本家リポジトリの更新をフォークしたリポジトリに反映する手順は以下の通りです。

  1. フォークしたリポジトリのディレクトリに移動
  2. 本家リポジトリを「アップストリーム」として登録
  3. 本家の最新変更を取得
  4. フォークしたリポジトリのブランチを最新化
  5. 変更をGitHubにプッシュ

①フォークしたリポジトリのディレクトリに移動

Command
Copy
  1. cd /forkerepository

②フォーク元を「アップストリーム」として登録

以下のコマンドを実行し、フォークしたリポジトリに本家のリポジトリを「upstream」として登録します。

※以下のコマンドは1度実行すれば、2回目以降は不要です。

Command
Copy
  1. git remote add upstream 本家のリポジトリのURL

アップストリームの登録確認

以下のコマンドを実行し、upstreamが追加されていれば問題ありません。

Command
Copy
  1. git remote -v
アップストリームの登録確認

アップストリームのURLを間違えた場合の修正方法は、以下の記事にまとめています。

あわせて読む
Git リモートリポジトリのURLを変更・修正する方法

【Git】リモートリポジトリのURLを変更・修正する方法

もくじ間違ったリモートURLを修正する方法1. 現在のリモートURLを確認する2. git remote set-url コマンドでURLを修正する3. 修正後のリモートURLを確認するよくあるエラー ...

③本家の最新変更を取得

本家リポジトリの最新の変更を取得します。

以下のコマンドを実行するとupstream(本家)の変更をローカル環境に取り込むことができます。

Command
Copy
  1. git fetch upstream

④フォークしたリポジトリを最新化

ローカルのmainブランチを最新状態に更新します。

mainブランチに移動

Command
Copy
  1. git checkout main

本家の変更をマージ

Command
Copy
  1. git merge upstream/main

コンフリクトが発生した場合、手動で修正しgit commitする必要があります。

⑤最新の状態をGitHubにプッシュ

ローカルで本家の変更を反映できたら、GitHubのフォークしたリポジトリに反映します。

Command
Copy
  1. git push origin main

開発ブランチを最新の状態にする

開発ブランチ(例: feature-branch)を最新にする場合も同じ流れです。

開発ブランチへ移動

Command
Copy
  1. git checkout feature-branch

最新のmainを取り込む

Command
Copy
  1. git merge main

GitHubにプッシュ

Command
Copy
  1. git push origin feature-branch

まとめ

フォークしたリポジトリを最新にする手順

  1. git remote add upstream 本家のリポジトリのURL(最初だけ)

  2. git fetch upstream(本家の変更を取得)

  3. git checkout main

  4. git merge upstream/main

  5. git push origin main

開発ブランチを最新にする場合

  1. git checkout feature-branch

  2. git merge main

  3. git push origin feature-branch

-プログラミング
-,