🗂
<GitHub初心者>フォークしたリポジトリを最新状態に更新する方法
フォークしたリポジトリを最新状態に更新する方法
このドキュメントでは、GitHubでフォークしたリポジトリをローカル環境で最新版に保つための手順を示します。
✅ 前提条件
- GitHubで他人のリポジトリを自分のアカウントにフォークしている
- そのフォークをローカルに
git clone
している - 元のリポジトリのURLは
https://github.com/ORIGINAL_OWNER/REPO_NAME.git
- フォーク先(あなたのアカウント)は
https://github.com/YOUR_USERNAME/REPO_NAME.git
🔧 手順
upstream
リモートを追加(初回のみ)
1. 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)
upstream
の最新情報を取得
3. 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