GitHubやGitLabのマージボタンに頼っていて、マージの際のログを上手く操作できなかったのでメモ
TortoiseGitで手動マージする際に目的とするコミットログにならなかったので調べてみました。
マージするブランチの関係(developにfeatures/Aをマージしたい)
develop
●
↓
features/A
●→〇→◎→■
目標とするdevelopのログ
merge branch develop into features/A
■のコミットログ
◎のコミットログ
〇のコミットログ
何も考えずTortoiseGitでマージしたところ
developのログは
■のコミットログ
◎のコミットログ
〇のコミットログ
となり、developに直接コミットしたようなログになってしまった。
これだとdevelopにfeatures/Aをマージしたという事が分からなくなってしまい使い物にならない
調べたところ、ベースとしたブランチが育っていない状態で、ベースのブランチから育てたブランチをマージすると、このようにベースとしたブランチに直接コミットしたようなログになってしまうらしい(fast-forwardマージ)
TortoiseGitのマージオプションにNo Fast Forwardがあるのでこれをチェックしてマージを行うとdevelopのログは
merge branch develop into features/A
■のコミットログ
◎のコミットログ
〇のコミットログ
というように目的のコミットになりました。
developにorigin/features/Aをマージするとremote-trackingというのが付いた
リモートブランチをマージするとこうなるらしい。
merge remote-tracking branch develop into origin/features/A
■のコミットログ
◎のコミットログ
〇のコミットログ