asherkin’s answer explains the rationale for this behavior, and why this is the default.
If you don’t find that argument compelling, you can use the --merge
flag to arc land
to perform --no-ff
merges instead of --squash
merges. These merges will not destroy local commits.
If you set history.immutable
to true in your .arcconfig
, arc land
will --no-ff
merge by default.
You can also use raw git
commands if you don’t like the behavior of arc land
; it is provided only for convenience.
In your example, we recommend creating five separate reviews — there are multiple different ideas being implemented, and they are not related and seem easily separable. See Writing Reviewable Code. Combining bugfixes, style changes and new features into one change is hoarding.