title: Github deploy only specific features in development branch
body: <p>So I am figuring out the simplest branching/deployment strategy from Github that at least has a dev and a release(master) branch. 
  After seing <a href="https://stackoverflow.com/a/2429011/641530">this answer</a> I think this is really close to what we need. Except the one big problem of being able to deploy only some features. Not everything. </p>
  
  <p>The 2 options presented <a href="https://stackoverflow.com/a/22695977/641530">here</a> are just not good enough. This is a common scenario and reverting everytime is plain nasty. Also, I have read that cherry picking has other issues as well specially because the cherry picked commits are actually copies (is this true?)</p>
  
  <p>Now, I am thinking that if for new features that we start working on we create a branch, and we merge them to our chosen dev branch, we can merge those branches to the release branch (<strong>instead of merging from dev to the release branch, we merge from feature branch to both dev and release so we can chose what to release</strong>) so we would only have the desired changes ready for release. I can think of at least two possible issues with this:</p>
  
  <ul>
  <li>The feature branch has been merged to both dev and release, will this get me in trouble later?</li>
  <li>Will it work? since my feature branches could be based off changes made in other feature branches (they would be based off dev) when I merge the feature to dev I would have to pull first, thus adding the other features in. </li>
  </ul>
  
  <p>So, in summary, how can i keep a dev branch, put some changes there, and later only move some stuff to another branch?. </p>
  
  <p>Thanks a lot. </p>