When the PostgreSQL project decided to migrate to git, we decided not to allow merge commits. A number of people made comments, in a number of different fora, to the effect that we weren’t following “the git workflow”. While a few commentators seemed to think that was reasonable, many thought that it demonstrated our ignorance and stupidity, and some felt it outright heresy.
So I noted with some interest Julio Hamano’s blog post about the forthcoming release of git 1.7.10, which is slated to include a change to the way that merge commits work: users will now be prompted to edit the commit message, rather than just accepting a default one. Actually, what I found most interesting where Linus Torvalds’ comments on this change, particularly where he says this: “This change hopefully makes people write merge messages to explain their merges, and maybe even decide not to merge at all when it’s not necessary.” His comments are quoted more fully in the above-linked blog article; unfortunately I don’t know how to link directly to his Google+ post. And Julio Hamano makes this remark: “Merging updated upstream into your work-in-progress topic without having a good reason is generally considered a bad practice. [...] Otherwise, your topic branch will stop being about any particular topic but just a garbage heap that absorbs commits from many sources, both from you to work on a specific goal, and also from the upstream that contains work by others made for random other unfocused purposes.”
Read more »