title: Recommended workflow for keeping git branch up to date
body: <p>I have two goals, and I need a workflow to achieve them while working on my features (master is an enterprise github repo).</p>
  
  <p>Goals:</p>
  
  <ul>
  <li><p>Keep my branch up to date</p></li>
  <li><p>Be able to see changes I made using <code>git diff</code> and <code>git show</code></p></li>
  </ul>
  
  <p>I am new to github, but I tried few scenarios to achieve this and they don't help me.</p>
  
  <p>Initially, I create a new branch (tracks origin/master) and I make a code change. </p>
  
  <p>I commit the change and use <code>git push origin</code> to publish this change to github. </p>
  
  <p>Then I create a PR and let people comment. </p>
  
  <p>I get good feedback, I make code changes and commit on top of my 1st commit. </p>
  
  <p>What to do to keep my branch in sync with origin/master?</p>
  
  <p>I tried updating my local branch by merging via <code>git pull</code>. It goes ok, but now if I do <code>git show</code> I won't see my changes, I will see latest master commit.</p>
  
  <p>I tried updating my local branch by rebasing via <code>git pull --rebase</code>. I can use <code>git show</code> to see my changes, but my local and remote branches are out of sync, and I have to use <code>git push origin -f</code> to update my github PR with second change.</p>
  
  <p>I am open for suggestions, thank you!</p>