title: Why do we need dev branch?
body: <p>I see some people use branch named <code>dev</code> beside <code>master</code> for development environment. Even they use feature branch, they say that having <code>dev</code> branch is better. I actually didn't hear suitable answer of why. Even there is dev branch, works must still be done before pushing it. (<a href="http://nvie.com/posts/a-successful-git-branching-model/" rel="noreferrer">http://nvie.com/posts/a-successful-git-branching-model/</a>)</p>
  
  <p>I really don't understand. Why do I need to have dev branch after all. </p>
  
  <ul>
  <li>I am using master branch as my development branch.</li>
  <li>Any of my undone works are in feature branches. Whenever I have done with a work in feature branch, I merge it into master.</li>
  <li>Any time I need to release, I am tagging master.</li>
  <li>If I have test, staging or preprod environments, I also have those branches.</li>
  </ul>
  
  <p>Thats all. This flow fixes everything for me. I don't see any reason to have <code>dev</code> branch. </p>
  
  <p>What case do I miss? What is the problem with using <code>master</code> as a development environment? Which cases you use dev branch for if you do?</p>