title: Using git tag to save the state of the repository
body: <p>I have been doing some reading about git tags and I think I am a little confused in my head. I see tags can be used for commit. So, assume here is whats happening in my repo.,</p>
  
  <p>
          Commit - C1
          Commit - C2
          Commit - C3
          Commit - C4
          Commit - C5</p>
  
  <p>At this time, say 5 commits were made into the repo. If I run git tag -a TagV1.0 -m "first tag", that creates a tag that basically saves the current state of repo, right? All files as in at the moment of running this command, not just files in Commit C5. Will it be a snapshot of the repo at the moment of running the command?</p>
  
  <p>After I created the tag.
         Commit - C6 came in. If I do git tag -a -f TagV1.0 -m "Updating tag". This includes all commits and then C6 as well. Is that right?</p>
  
  <p>After I created the tag, if Commit 6,7,8 came in. Can I force update the tag to include only 7 and not 6 and 8?</p>
  
  <p>Thanks for looking.</p>