git merge の使い方
ブランチを合わせる
書き方
git merge ブランチ git merge --no-ff ブランチ git merge --abort
相手のブランチの変更を今のブランチに取り込みます。一直線なら早送り(Fast-forward)、分かれていればマージコミット。コンフリクトしたら直して add と commit。
よく使うオプション
| オプション | 意味 |
|---|---|
--no-ff | 早送りできるときも、マージコミットを作る |
--ff-only | 早送りできるときだけマージする |
--squash | 相手の変更を 1 つにまとめてステージする(コミットは自分で作る) |
--abort | コンフリクトしたマージをやめて、前の状態に戻す |
--continue | コンフリクトを直したあと、マージを続ける |
例
$ git merge featureUpdating 9c1e2f4..5b7d3a1
Fast-forward
search.js | 40 ++++++++++++
1 file changed, 40 insertions(+)feature のブランチの変更を、今のブランチに取り込みます。一直線なら早送りになります。
$ git merge --no-ff feature
早送りできるときもマージコミットを作り、「ここでブランチを合わせた」と履歴に残します。
$ git merge --abort
コンフリクトして困ったとき、マージを始める前の状態に戻します。
$ git merge --squash feature
feature の変更をまとめてステージだけします。あとで git commit すると 1 つのコミットになります。
よくある間違い・注意
- コンフリクトしたら、<<<<<<< と >>>>>>> の印の間を直し、印を消してから git add と git commit をします。
- マージする前に、取り込む側のブランチ(main など)に移っているかを git status で確かめます。
実際に打って練習する
Git コースの Lv13「枝を合わせる fast-forward」で覚えます(第2章 枝分かれの森(ブランチとマージ))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜10 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。