dev.toihrk.me

Githubでforkしたリポジトリでオリジナルリポジトリの変更を追従する

Githubでforkしたリポジトリで、オリジナルリポジトリの変更を追従する。

リモートリポジトリとしてオリジナルのリポジトリをupstreamという名前で設定する。

$ git remote add upstream git://github.com/#{USERNAME}/#{REPO}.git

設定した状態で、以下のようにfetchするとオリジナルでの変更がローカルリポジトリでも参照できる。

$ git fetch upstream

例えば以下のようになる。

$ git branch -a
* develop
  master
  remotes/origin/develop
  remotes/origin/master
  remotes/upstream/master

upstream/masterを作業を行っているdevelopブランチにマージする。

$ git branch
* develop
  master

$ git merge upstream/master

これでオリジナルのリポジトリの変更を作業をしているブランチに取り込むことができる。

ちなみにrebaseする場合は以下のような感じ。

$ git rebase upstream/master