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 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Git コマンド一覧(使い方と例)へ戻る