🗂

<GitHub初心者>フォークしたリポジトリを最新状態に更新する方法

に公開

フォークしたリポジトリを最新状態に更新する方法

このドキュメントでは、GitHubでフォークしたリポジトリをローカル環境で最新版に保つための手順を示します。


✅ 前提条件

  • GitHubで他人のリポジトリを自分のアカウントにフォークしている
  • そのフォークをローカルに git clone している
  • 元のリポジトリのURLは https://github.com/ORIGINAL_OWNER/REPO_NAME.git
  • フォーク先(あなたのアカウント)は https://github.com/YOUR_USERNAME/REPO_NAME.git

🔧 手順

1. upstream リモートを追加(初回のみ)

git remote add upstream https://github.com/ORIGINAL_OWNER/REPO_NAME.git

2. リモート設定の確認

git remote -v

出力例:

origin    https://github.com/YOUR_USERNAME/REPO_NAME.git (fetch)
origin    https://github.com/YOUR_USERNAME/REPO_NAME.git (push)
upstream  https://github.com/ORIGINAL_OWNER/REPO_NAME.git (fetch)
upstream  https://github.com/ORIGINAL_OWNER/REPO_NAME.git (push)

3. upstream の最新情報を取得

git fetch upstream

4. ローカルの作業ブランチを更新(例:main ブランチ)

git checkout main
git merge upstream/main

または、履歴をきれいに保ちたい場合は rebase

git rebase upstream/main

ここで、コミットメッセージを求められることがあります。
Gitデフォルトのエディタがviに設定されているため、おそらくviが開く。
特にメッセージがなければ、そのまま保存して終了

  • 挿入モードにする: i
  • メッセージを書く
  • 書き終えたら Esc を押してノーマルモードへ
  • 保存して終了: :wq → Enter
  • 編集せず終了(中止): :q! → Enter

5. フォーク(GitHub上の自分のリポジトリ)にも反映(必要に応じて)

git push origin main

📝 補足

  • main の代わりに master を使用している場合は、すべて読み替えてください。
  • 自分のブランチに変更がある場合、mergerebase 前に stash で退避しておくと安全です:
git stash

✅ コマンドまとめ

git remote add upstream https://github.com/ORIGINAL_OWNER/REPO_NAME.git
git fetch upstream
git checkout main
git merge upstream/main      # または git rebase upstream/main
git push origin main         # 必要に応じて

Discussion