title: git: all local branches are behind the remote. How can I bring them all up to the remote state?
body: <p>I've cloned a remote repository which has several branches, worked on one of those branches, committed the changes and pushed. 
  After a time interval during which colleagues have modified the remote repository further (and during which I've possibly forgotten how to use git), I need to make more changes.  I don't need to keep any local changes.
  First I try to bring my local repo up to date by doing</p>
  
  <pre><code>git fetch --all
  </code></pre>
  
  <p>then I try to switch to the required branch by </p>
  
  <pre><code>git checkout -f branchname
  </code></pre>
  
  <p>but git says</p>
  
  <pre><code>Your branch is behind 'origin/branchname' by 85 commits, and can be fast-forwarded.
  </code></pre>
  
  <p>So I take that to mean that my local branch is stuck somewhere behind the commit corresponding to the equivalent remote branch, despite doing a fetch that I hoped would make my repo equal to the remote one. What's the clearest and most straightforward way to do this? I could start with a new clone, but that seems a bit crude.</p>