'git merge' will (by default) do a fast-forward merge if it can, otherwise it will do a recursive merge. As shown by the PDF I linked to a few posts back, if you're merging develop into master (git checkout master; git merge develop), a fast-forward merge can happen if and only if develop is a direct descendant of master. That is, if the master branch contains only commits which are also contained by the develop branch. If master has commits which develop does not have, then a fast-forward merge cannot occur, and a recursive merge must be used instead. Graphically: (Use a fixed-width font to view: I know google groups uses a variable-width font by default) A fast-forward merge *can* occur: O--O--O / ^ O--O--O develop ^ master which will result in: develop v O--O--O--O--O--O ^ master A fast-forward merge *cannot* occur (as master contains commits which aren't present on develop): develop v O--O--O / O--O--O--O ^ master where a recursive merge will result in (M being the merge commit): develop v O--O--O / \ O--O--O--O------M ^ master If you're having trouble visualising your branch structure, use `gitk master develop` (if gitk is available), otherwise `git log --graph --oneline --decorate master develop`. You should see that, in the repository where fast-forward merges are occuring, there are no commits present on master which aren't also present on develop. In the other repository (where fast-forward merges are not occuring), you will see that there is at least one commit on master which is not also present on develop (you may have to look back a bit, to slightly before the first recursive merge occurred). Hope that helps clarify the situation. If you're still not getting it, paste (or pastebin) the output of `git log --graph --oneline --decorate master develop`, and I can point out the critical difference. -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To view this discussion on the web visit https://groups.google.com/d/msg/git-users/-/oPwwwmapb70J. To post to this group, send email to firstname.lastname@example.org. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.