39

The "This pull request can be automatically merged [Merge pull request]" button in github is great -- except that it creates merge bubbles.

Is there a way to use this button/functionality in github without it creating merge bubbles?

Marco
  • 8,958
  • 1
  • 36
  • 56

2 Answers2

40

No.

The git blog says using this button you always get an --no-ff merge (no fast-forward merge).

You'd have to do a manual merge if you don't want merge bubbles:

git checkout master
git remote add cameronmcefee git://github.com/cameronmcefee/Spoon-Knife.git
git fetch cameronmcefee 
git merge cameronmcefee/my-branch
git push origin master
Izhaki
  • 23,372
  • 9
  • 69
  • 107
3

And.. they fixed it!

See GitHub's blog on squashing your merge commits

If you go to the settings for your repository, you'll see a "Merge Button" section (under Options). It will have 2 buttons available:

Allow merge commits
Add all commits from the head branch to the base branch with a merge commit.

and

Allow squash merging
Combine all commits from the head branch into a single commit in the base branch.

If you uncheck the first option (and left the Allow squash merging checked), PR "merges" will result in rebase and squashes.

Marco
  • 8,958
  • 1
  • 36
  • 56
  • 10
    Except that squash is not equivalent to rebase + fast-forward merge in the case where you have several commits that you want to keep separate... – Florent Guillaume Apr 12 '16 at 12:07
  • @FlorentGuillaume You're absolutely correct! Unfortunately, that has nothing to do with avoiding a merge bubble or not. ;D – Marco Apr 12 '16 at 13:28
  • 3
    I'm just saying that *Allow squash merging* has (obvious) side effects besides avoiding merge bubbles. – Florent Guillaume Apr 12 '16 at 14:59