> Squash and rebase are functionally identical in this case.
Sorry, but for me `git merge --squash` doesn't work.
Currently, I have a global option --no-ff for master
$ git config branch.master.mergeoptions --no-ff
In this way `git merge --squash` crashes with message
> fatal: options '--squash' and '--no-ff.' cannot be used together
In other way it writes something like
> Fast-forward
> Squash commit -- not updating HEAD
and... not updates parent branch.
For example, GitHub propose for PR's:
- Create a merge commit - the same as `git merge --no-ff`
- Rebase and merge - the same as `git rebase ...; git merge --ff-only`
- Squash AND commit - like two different operations. So after squash we
still have to merge our commit properly into parent branch.
The new option just dynamically selects between --ff and --no-ff for
`git merge`. Nothing else.
--
Ruslan