Re: "man git-tag" inconsistent about whether you can tag non-commit objects
From: Junio C Hamano <hidden>
Date: 2018-05-25 08:47:13
Ævar Arnfjörð Bjarmason [off-list ref] writes:
quoted
As that sentence talks about a lightweight tag (i.e. a reference in refs/tags/ hierarchy that directly points at an object of any kind), another possibility would be to say Otherwise a tag reference that directly points at the given object (i.e. lightweight tag) is created.Related, this recent patch of mine: https://public-inbox.org/git/20180429202100.32353-6-avarab@gmail.com/#t I.e. might be worth talking about this briefly in the git-tag manpage as well, i.e. that you can create a lightweight "tag" to a commit, but then depending on where you push it it becomes either a branch or a tag, which may not be intuitive to users...
I am not sure if I agree. People won't get confused, unless they think too much and pedantically. If you make refs/tags/$name point at a commit, it becomes a lightweight tag, if you make refs/heads/$name point at a commit, it becomes a local branch, if you make refs/remotes/$remote/$name point at a commit, it behaves as a remote-tracking branch for the named $remote. Anywhere else, it is just a random ref that happens to point at a commit. And notice that I never said "push" in the above. The verb I used is "make" and that is deliberate. It does not make any difference if you make such a ref point at a commit by pushing into a repository, fetching from elsewhere, or running "git branch", "git tag", "git update-ref" locally.