前提
- 本家リポジトリは
origin/master - 本家リポジトリをforkし、リモートリポジトリ
origin/masterができた - リモートリポジトリをcloneし、ローカルリポジトリ
origin/masterができた - commitが先に進んだ本家リポジトリ
origin/masterの変更を、ローカルリポジトリorigin/masterに反映させたい
1
まず、作業ディレクトリに移動する。
本家リポジトリをupstreamという名でローカルに登録する。upstreamの箇所は、新しいものであれば、何でもよい。
git remote add upstream <本家リポジトリのURL>
この作業は、初回のみでよい。
2
ローカルでupstreamと名付けた本家リポジトリを、ローカルリポジトリにpullする。
git pull upstream <pull元のbranch>:<pull先のbranch> --allow-unrelated-histories
今回の条件設定では、本家upstream/masterから、ローカルのorigin/masterにpullをするので、git pull upstream master:master --allow-unrelated-historiesとなった。
また、ローカルリポジトリにないファイルを本家リポジトリにからpullするのに、オプション--allow-unrelated-historiesを用いる。Gitが追跡していないファイルをpullする際に必要だ。