When merging a pull request into master branch, does this plugin provide an option to rebase onto master rather than the normal merge? Normal merge will introduce an unnecessary "merge" commit and a small loop in the revision history (see below). Is it possible to make the history of master branch 100% linear using this plugin? In another word, can we get rid of the "Merge Pull Request ##" commit using it?
image2017-1-3 18:7:33.png
I recommend my add-on for squashing pull-requests (Bit-Booster for Bitbucket Server).
Once you've squashed you can later merge with "--ff-only" if you're on Bitbucket 4.9 or newer and your repo's settings allow such:
(repo --> settings --> pull requests --> merge strategies --> [x] Fast-forward only --ff-only).
Here's a screenshot of Bit-Booster's Squash button on the pull-request screen. Notice it also let's you select the author for the final squashed commit:
squash-latest.png
Here's a source branch before it's squashed:
step1-before-dia.png
My add-on pushes the squash back to the source branch (using "git push --force"). It doesn't touch the "master" branch (or whatever branch your PR is targeting). Instead it let's you edit your source branch according to your needs before you merge:
step3-after.png
If you're on Bitbucket 4.9 or newer, make the "[x] Fast-forward only" merge strategy available in your reposistory's settings. That way you can merge like this:
step4-ff-only.png
The final result pops that commit directly on top of you "master" branch, without any merge commit:
step5-merged.png
p.s. All of the commit graphs come from the "All Branches Graph" feature of my add-on (Bit-Booster for Bitbucket Server).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.