menu
書いてる野郎
orebike@gmail.com
なんだかいろんなところの説明読んでもしっくりこなかったので自分の感覚でまとめておく。感覚なので実内部構造と違うかもしれん。
ローカルの Git リポジトリにはリモートの変更を一時的に置いておくfetch領域的なブランチ置き場がある。 Hg の場合は Pull してきたら対象のブランチが自動的にマルチヘッド状態になるが、Git ではリモートの変更ハンドリング用のブランチが勝手にできると考えればいいのか。
$ git fetch origin master
これによりローカル側に origin/master
というブランチが出来上がった。ここにリモートの変更が詰まっている。ここまでくると後は単なるブランチ操作なので
$ git checkout master $ git merge origin/master
で本線の master ブランチにリモートハンドリング用のブランチを統合すれば取り込みが完了する。この fetch と merge を一気にやるのが pull コマンドである
$ git checkout master $ git pull origin master