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?
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
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:
Here's a source branch before it's squashed:
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:
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:
The final result pops that commit directly on top of you "master" branch, without any merge commit:
p.s. All of the commit graphs come from the "All Branches Graph" feature of my add-on (Bit-Booster for Bitbucket Server).
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG