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).
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.