0

When moving to version 1.8.3.2 of git I'm encountering an unexpected issue. Every time I pull it makes a new merge commit. Previously when I did a pull I think it did a rebase, but at any rate it didn't make a commit for just the pull. How do I get this behavior back? My configuration hasn't changed. Not sure if it's relevant, but I have branch.autosetuprebase=always.

lobati
  • 9,284
  • 5
  • 40
  • 61
  • 2
    What if you do an explicit `git pull --rebase`? Also isn't there a branch-specific config value `branch..rebase=false`? – Yirkha May 11 '14 at 00:14
  • Duplicate of [How to make Git pull use rebase by default for all clones?](http://stackoverflow.com/questions/13846300/how-to-make-git-pull-use-rebase-by-default-for-all-clones) –  May 23 '14 at 18:59
  • They do look pretty similar, but my problem wasn't quite the same as his. – lobati May 23 '14 at 22:48

2 Answers2

4

Figured it out. The repo was copied over to a new installation with its existing git configuration, and the branches were set up without rebase = true, but the old machine had git config --global pull.rebase true, so it didn't make merge commits. Either adding rebase = true to all of the existing branches should do the trick, or what we did was setting pulls to rebase as well.

lobati
  • 9,284
  • 5
  • 40
  • 61
-1

Either create a .gitconfig alias entry for git pull, or set it to always do this for you automatically: http://stevenharman.net/git-pull-with-automatic-rebase.

yurisich
  • 6,991
  • 7
  • 42
  • 63
  • Like I mentioned, I already have `autosetuprebase always` set in my gitconfig, like is recommended in the article. – lobati May 23 '14 at 18:42