From the article:<p><i>&gt; The biggest issue with [the article &quot;A successful Git branching model&quot;] is that it comes up as one of the first ones in many git branching related searches when it should serve as a warning how not to use branches in software development.</i><p>This is so true! That one seems to be a classic example of over-engineering. Although that model may be useful for some types of developments, ultimately every project has to find out their own way of branching model, which I should be the simplest model that serves their need - no more, no less. Going crazy with branches is just another way to fail using them.<p><i>&gt; I will explain next why merge commits are bad and what you will lose by using them.</i><p>To add to that, I think it is quite telling that the Linux kernel developers themselves prefer a simple, linear history in the end (using branches only as intermediate steps), especially since they were the ones who created Git in the first place.