title: Why does git perform fast-forward merges by default?
body: <p>Coming from mercurial, I use branches to organize features.
  Naturally, I want to see this work-flow in my history as well.</p>
  
  <p>I started my new project using git and finished my first feature. When merging the feature, I realized git uses fast-forward, i.e. it applies my changes directly to the master branch if possible and forgets about my branch.</p>
  
  <p>So to think into the future: I'm the only one working on this project. If I use git's default approach (fast-forward merging), my history would result in one giant master branch.
  Nobody knows I used a separate branch for every feature, because in the end I'll have only that giant master branch. Won't that look unprofessional?</p>
  
  <p>By this reasoning, I don't want fast-forward merging and can't see why it is the default. What's so good about it?</p>