title: Develop features in different branches, but work with the accumulated code change?
body: <p>I have understood that it is best to develop each feature and bug fix in a separate branch, to make it easier for the repository owner to evaluate pull requests.</p>
  
  <p>My workflow for this is that I</p>
  
  <ul>
  <li>checkout the master branch</li>
  <li>create a new branch</li>
  <li>develop a feature</li>
  <li>commit the feature</li>
  <li>pull request the feature</li>
  <li>check out the master branch again and rinse and repeat with the next feature</li>
  </ul>
  
  <p>This works OK. But what if I when I am working on my second, third or fourth feature, want to work with the code base that has the accumulated changes from previous branches? But I don't want to include those changes when I commit this branch.</p>
  
  <p>It might be that the first branch fixed something that had broken. When I am working on the second branch, I need to be working with the accumulated code base from the previous branch, but when I commit the second branch, I just want to commit the changes that I am working on now in my second branch.</p>
  
  <p>Does this type of workflow make sense?<br>
  How can I use git to work like this?</p>