【git】git pull は fetch と merge で代用できる
問題
git pull の動きがよく分からんのですが… pullにはオプションもいろいろあるみたいだし。
答え
何の競合もないときや、ひとりで作業しているときは push、pullでスムーズに使えているような気がするが、pullは手間がかからないように一度にいろいろしてくれているので、細かい挙動を知ろうとすると、分かりにくい。
まず、pushの反対はpullではないと思ってよい。どっちかというと、アップロード = push、ダウンロード = fetch。
git pull は、git fetch と git merge を一緒にやってくれている。
mergeではなくてrebaseしたいこともあるだろうし、絶対pullで大丈夫という場合でない限りは、fetchしてmerge or rebase するのが、悩みが少なくて済みそう。
ちなみに、mergeは2つのブランチを合流させる。rebaseはローカルのコミットを追跡ブランチのコミットを反映させた後に持ってくる。
参考
http://dqn.sakusakutto.jp/2012/10/git_rebase_wild.html
http://dqn.sakusakutto.jp/2012/11/git_pull.html
http://d.hatena.ne.jp/hokaccha/20120404/1333507076
コメント