Gitでfolkしたブランチを最新の状態に更新する方法と、それを調べたとき出てきたupstreamという概念についてのメモ。
目次
1. folkしたレポジトリを最新の状態に更新する
Github上でレポジトリをfolkしたあとの話。
$ git clone git@github.com:アカウント名/folkしたレポジトリ.git #とりあえずfolkしたレポジトリをclone
$ cd folkしたレポジトリ
$ git branch #ブランチを確認
* master
$ git remote -v #リモートの状態を確認
origin https://github.com/アカウント名/folkしたレポジトリ.git (fetch) #自分のアカウントにあるレポジトリが指定されている
origin https://github.com/アカウント名/folkしたレポジトリ.git (push)
$ git remote add upstream git://github.com/folk元のレポジトリ.git #本家をupstreamとして追加
$ git remote -v #リモートの状態を確認
origin https://github.com/アカウント名/folkしたレポジトリ.git (fetch) #自分のアカウントにあるレポジトリが指定されている
origin https://github.com/アカウント名/folkしたレポジトリ.git (push)
upstream https://github.com/folk元のレポジトリ.git (fetch) #本家のレポジトリが指定されている
upstream https://github.com/folk元のレポジトリ.git (push)
$ git checkout master
$ git fetch upstream #upstreamに対してfetch
$ git git merge upstream/master #upstreamのmasterからマージ
2. upstreamって何よ?
- Gitでの慣例として、自分のリポジトリは「origin」、フォーク元は「upstream」とする。
- origin に対しては read / write ができるが、upstream に対しては read だけができる。