概要
複数ブランチ運用しているときに
リモートのmasterブランチへ
マージするときにすごく苦労したので
備忘録として書き起こしておこうと思います。
手順
- 作業ブランチでpushする
- masterブランチにmergeする
- masterブランチでpushする
1. 作業ブランチでpushする
私はいつも以下のようにしています。
git add .
git commit -m "[コミットメッセージ]"
git push origin [現在のブランチ]
少し脱線しますが
最近になって知った事で
git add
コマンドに
-u
、--all
、-A
なるオプションがあるらしいですね
-u
は--update
の短縮形で
前回のステージングから変更があったものを対象に加えます
--all
と-A
は同じ意味で
意味的には.
、-u
の組み合わせだとか...
-u
で事足りているのでちょっとこれは理解していません(笑)
2. masterブランチにmergeする
私がよくするのは以下ですね
git checkout master
git merge --no-ff [作業ブランチ]
--no-ff
オプションは
fast-forwardの関係であっても
必ずマージコミットを作る
・・・そうです(笑)
今までこうするものだと思ってやってました
今回書き起こすにあたって調べて知ったわけです
3. masterブランチでpushする
今の手順通りであれば
マージコミットが作られているので
何もせずに以下のコマンドを打ち込みます
git push origin master
お馴染みですね
これでorigin/masterブランチに
マージが反映されました
もし、--ff
オプション(デフォルト)で
mergeされた場合は
恐らくcommitが必要になると思います。
まとめ
- push
- merge --no-ff
- push
すみません、かなり雑です
ですがこの備忘録作ってるとき
一人趣味プロジェクトやってるとき
こういう問題だったりとか
コマンドの意味を調べてみたりだとか
やってみてすごく勉強になりました
やっぱり自分ってまだまだだなと思いながら。
もし間違ったところ、補足等あれば
コメントいただきたいです。