35
36

More than 5 years have passed since last update.

git mergeコマンドのオプションまとめ

Last updated at Posted at 2016-02-24

備忘録。

--ff

デフォルト設定。オプションに何も指定しない場合は、このオプションが適用される。
fffast-fowardの略。

gitでいうところの「fast-forwardな関係」とは、二つのブランチが同じ線上にある状態のこと。
つまり、ブランチAがブランチBの延長線上にあり二つが枝別れしていない状態のことを指す。

$ git merge --ff {branch_name}

マージする二つのブランチがfast-forwardな関係の場合、マージコミットは作られない。マージ元ブランチのheadがマージ先ブランチのheadに移動するだけ。

二つのブランチがfast-forwardな関係でない場合は、マージコミットが作られる。

--no-ff

$ git merge --no-ff {branch_name}

マージする二つのブランチがfast-forwardな関係であってもそうでなくても、必ずマージコミットが作られる。

--squash

$ git merge --squash {branch_name}

マージする二つのブランチがfast-forwardな関係であってもそうでなくても、マージコミットは作られない。
ワークツリーとインデックスのみ、マージ元ブランチの変更分がすべて取り込まれた状態になる。
トピックブランチのコミットを一つにまとめたい場合などに使う。

35
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
36