どちらもよく使うコマンドですが、引数の順番をよく忘れます。
二つの方法で、developブランチの変更をmasterに取り込むことを考えてみます。
git merge
こちらはわかりやすいですね。
git checkout master git merge develop
git rebase
rebaseする場合はというと、
git checkout develop git rebase master
ちょうどmasterとdevelopが逆ですね。(だから分からなく...)
checkoutせずに、rebaseする方のブランチ(ここではdevelop)を指定するには、
git rebase master develop
です。
これだけだとmasterはまだ変わっていないので、mergeする場合と全く同じコマンドを続けて打って fast-forward merge を行います。これで、変更をmasterに取り込めました。
その他
mergeに2つめの引数を渡しても、merge先は変わりません。この場合、 octopus merge といって、複数ブランチをまとめてmergeするそうです。(初めて知りました。)
最後に
これぐらいは、調べずに覚えて打てるようになりたいですね。
本当は --help オプションで使い方が見られるのですが、windows だとテキストエディタが立ち上がるせいで、あまり使えていません ... 。
それと、rebaseは用量用法を守って使いましょう!