Git

origin/masterの備忘録

概要

複数ブランチ運用しているときに
リモートのmasterブランチへ
マージするときにすごく苦労したので
備忘録として書き起こしておこうと思います。

手順

  1. 作業ブランチでpushする
  2. masterブランチにmergeする
  3. 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

すみません、かなり雑です

ですがこの備忘録作ってるとき
一人趣味プロジェクトやってるとき
こういう問題だったりとか
コマンドの意味を調べてみたりだとか
やってみてすごく勉強になりました
やっぱり自分ってまだまだだなと思いながら。

もし間違ったところ、補足等あれば
コメントいただきたいです。

参考文献

git mergeコマンドのオプションまとめ
Gitコマンドについて調べる【git add】