フォークしたリポジトリにアップストリームの更新を反映させる

簡単だがすごい便利なコツ。

Github などでフォークしたリポジトリのアップストリームが更新されたら、その更新内容を自分のフォークにも反映させたいよね。

その時は remoteアップストリームを追加する

現状を確認する。

$ git remote -v
origin	git@github.com:USERNAME/FORK_NAME.git (fetch)
origin	git@github.com:USERNAME/FORK_NAME.git (push)

アップストリームを追加する。

$ git remote add upstream git@github.com:AUTHOR_NAME/UPSTREAM.git

もう一度確認する。

$ git remote -v
origin	git@github.com:USERNAME/FORK_NAME.git (fetch)
origin	git@github.com:USERNAME/FORK_NAME.git (push)
upstream	git@github.com:AUTHOR_NAME/UPSTREAM.git (fetch)
upstream	git@github.com:AUTHOR_NAME/UPSTREAM.git (push)

次は同期する

$ git fetch upstream
remote: Counting objects: 75, done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 62 (delta 27), reused 44 (delta 9)
Unpacking objects: 100% (62/62), done.
From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
 * [new branch]      master     -> upstream/master
$ git checkout master
Switched to branch 'master'
$ git merge upstream/master

More Command

I just discovered Oh Shit, Git!?! which does a good job at helping you unscrew your mistakes with Git.