title: Need a Git workflow with multiple development branches
body: <p>I'm hoping someone can point me toward a workflow that will make sense for our setup, because sorting through all the conflicting information online has proven somewhat useless.</p>
  
  <p>We have been using a modified version of the "GitFlow" workflow for the past few months. These are the permanent branches we have:</p>
  
  <ul>
  <li>master (contains production-ready code)</li>
  <li>beta (contains the latest "demo" for the client)</li>
  <li>develop (contains the latest work for the project)</li>
  </ul>
  
  <p>As you can see, our workflow differs from the traditional GitFlow in that we have a <code>beta</code> branch in addition to <code>develop</code>. As such, we often have to include individual features (from feature branches) in <code>beta</code> without merging in the entirety of <code>develop</code>. This is where our problems arise.</p>
  
  <p><strong>When we create a feature branch from <code>develop</code>, it is synced with <code>develop</code> frequently. This means that when we try to merge in a feature to <code>beta</code>, it includes tons of unwanted commits that happened on <code>develop</code>.</strong></p>
  
  <p>The only "solution" we've been able to find is to manually recommit (or cherry-pick) changes from feature branches into <code>beta</code>. This is very counterintuitive and I know there has to be a better way.</p>
  
  <p>Another problem is that when we need to create a hotfix for the entire project (to be applied to all branches), we create it from <code>master</code>, and it won't merge into <code>develop</code> without an insane amount of merge conflicts. This could also be done via cherry-picking, but we absolutely need our workflow to be accomplished 100% using the GitHub desktop app and website. I'm familiar with the command line but I've been given explicit instructions that we can't rely on it.</p>
  
  <p>One option I've considered is to try a rebase-centric workflow rather than a merge-based one, but this is problematic as rebasing isn't nearly as simple as merging (and I don't even think it's possible to do without the command line).</p>
  
  <p>Please help!! There has to be a simple way to do this and we're just not seeing it. </p>