title: Merging upstream git changes with pending pull requests
body: <p>I keep running into problems with git in a common workflow on GitHub.</p>
  
  <ol>
  <li>I fork a repo</li>
  <li>I commit some changes</li>
  <li>I make a pull request to upstream repo</li>
  <li>Twiddle thumbs while upstream developer sits on my pull request.</li>
  <li>Upstream developer makes changes to their repo</li>
  <li>They look at your pull request, but because of changes in their tree it will no longer apply cleanly, so they ask you to update your pull request.</li>
  <li>I fetch &amp; merge changes from upstream into my repo, resolve conflicts, commit changes</li>
  <li>I rebase commits in my pull request to make it neat and tidy.</li>
  </ol>
  
  <p>This is where the problem arises: my pull request now contains all the changes that occurred between steps 2 and 7, including the upstream developer's own changes. In a recent example this expanded a 10-line pull request to over 12,000 lines.</p>
  
  <p>How should I reapply my original commits onto a later version of the upstream repo without their changes getting into my pull request?</p>