前提
- 本家リポジトリは
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する際に必要だ。