Despite git reset gets correct state of the repo `git status` will be
misleading, since it will always be master with changes.
Instead we should checkout to tags/branches/SHAs so that
`git status` will be explicitly showing what version of the role
we're using
We shouldn't also fetch tags for every scenario, but only when we
suspect that we need to checkout on tag.
Change-Id: I1a5568487f2bb8a8c3f9affa04112ded16a17126