While trying to build the GNS3 network emulator from sources, this project works with git tags instead of branches. GNS3 project makes git tags releases. I have never worked with tags in git repositories until now, but tags are well known in telecommunication sector. A tag that is prepended to an IP packet, the properitary Tag Switching, nowadays better known as Multi Protocol Label Switching which is the core part of the MPLS functionality. A tag or label is prepended to an IP packet, to not handle touch the IP header information, instead to deal with label information that describes locally the information inside the IP packet. Much like a nickname everyone of us has, like my uncle his name is Josef but everyone is refering to him as boguś.

In terms of git, a git tag is a nickname to a git version name. It is a label, that different development stages a memorable name.

Back to tig in git. List all tags in a git repository:

user@host % git tag"
...
v2.2.4
v2.2.5
v2.2.6
v2.2.7
lines 99-146/146 (END)

Change the current branch and checkout the appropriate tag, in this example this is v2.2.7

user@host % git checkout tags/v2.2.7

switching to 'tags/v2.2.7'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at b1ec9d53 Release v2.2.7

And now it's done.