🗂
<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を使用している場合は、すべて読み替えてください。 - 自分のブランチに変更がある場合、
mergeやrebase前に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