title: Are "git fetch --tags --force" and "git pull <branch>" conmutative operations?
body: <p>Normally the git tags are a fixed reference to a commit. But sometimes they are used to mark some event (<code>last-build</code>, <code>base-line</code>, etc..) and they change frequently.   </p>
  
  <p>I have an script that refreshes those kind of "floating" tags from the reference repository.</p>
  
  <pre><code>git fetch --tags --force
  </code></pre>
  
  <p>and also make pull from one branch:</p>
  
  <pre><code>git pull origin &lt;mybranch&gt;
  </code></pre>
  
  <p>I know that many git users warn about using floating tags, but i am forced to deal with that. My question is:</p>
  
  <p><em>If the branch is marked by one of those floating tags... does the execution order of the commands matter?</em></p>
  
  <p>I am afraid that <code>git pull</code> doesn't refresh the tags when they exist locally, and that it might work with the reference of the all tags if it runs first.</p>
  
  <p><code>git pull</code> has a <code>--force</code> option, but the help section of the option <code>--no-tags</code> explain the default behavior as:</p>
  
  <blockquote>
    <p>By default, tags that point at objects that are downloaded from the
    remote repository are fetched and stored locally.</p>
  </blockquote>
  
  <p>Does it means that the objects should be downloaded first in order to be able to refresh the tags ? In that case <code>git pull</code> should go first.</p>
  
  <p>Which is the correct order?</p>