The name of the branch will be merged into. If this not given, use current branch as default.
The name of the branch to merge into.
Refuse to merge and exit with a non-zero status unless the current HEAD is already up-to-date or the merge can be resolved as a fast-forward.
After running git merge-into dest, it will look like this:
The H commit will record the merge result, just like what git merge does. And src is still the current branch.
The default implementation of merge-into use git checkout and git merge, which may cause temporary change in the working tree. If you make sure your branch can be merged fast-forward, add --ff-only to avoid files change.