title: Can Git track an ancestor branch as well as its own branch?
body: <p>Sorry if this is a noob question, but I've been searching for an hour+ and can't get a clear answer. </p>
  
  <p>What I'd like to do is this:</p>
  
  <ul>
  <li>Checkout a remote branch <code>git checkout origin/feature</code></li>
  <li>Make a local branch based off that branch <code>git checkout -b feature_my_tweak</code></li>
  <li>So now I have a local copy of <code>feature</code> called <code>feature_my_tweak</code> that I can play around with</li>
  <li>Make some changes and <code>commit -m "added my tweak"</code> so now my local <code>feature_my_tweak</code> has diverged from <code>feature</code></li>
  <li>Now do a <code>git push --set-upstream origin feature_my_tweak</code> to push my local branch to the remote server</li>
  <li>Now a workmate pushes a change to <code>feature</code> on the remote server</li>
  </ul>
  
  <p>At this point, I would like to be able to <code>git pull</code> and have git see that there was a change to <code>feature</code> and pull it (fetch/merge) into my local <code>feature_my_tweak</code> branch.  Is there a way to do that automatically?  Or do I have to do a manually <code>git merge feature</code> to get all the changes from that branch to my local <code>feature_my_tweaks</code> branch?  I guess I thought there was a way to have one branch track another.  </p>
  
  <p>Another part of this is that I'd still like to be able to make local changes to <code>feature_my_tweaks</code> and still be able to <code>git push</code> and have that only push up to the remote <code>origin/feature_my_tweak</code> branch and not pollute the <code>origin/feature</code> branch.  </p>
  
  <p>Is there a way to do all that?  From what I can read, it seems that if any branch_A is tracking a remote branch_B, any pushes will go to branch_B, which is what I don't want.</p>
  
  <p>I hope that makes sense.</p>