People always ask me why I hate #git and when I try to tell them there's just too many things and it's a waste of my time, they tend to think I'm full of it..

With that in mind, here's a small interaction I had with #git today that I went and asked about on the @pidgin discord.

1/?

@pidgin

ok, so.. this isn't a tag and it's not a branch.. wtf is it?

* commit 47e4f7cf9f5b0b9bdfc943b0bec63e5d90d1a7a4 (tag: 2.6.0)

also reflog only shows one entry and i tried git fetch --tags origin and nada..
according to gitlab it is a tag but git tag -v is empty...
oh wtf, i thought you had to do git tag -v to get a list of tags, apparently the -v is to verify the tag's signature but it gives zero output..

2/?

@pidgin

high quality 11x engineered software right here... 🙄

$ git tag -v ; echo $?
0

I tried git tag -v because I've always used git branch -v to see all branches and thought it was necessary, but apparently not.

3/3

@pidgin

And now I just learned that you can't `git switch` to a tag so you still need to use checkout.

Which is fine I guess, but I have no idea how anyone is supposed to keep track of all these inconsistencies.

These inconsistencies are precisely why I believe people are afraid to try other SCMs because they think they're all like this, but they're not.

Guess I'll keep fantasizing about what our SCMs could have been if Linus's name wasn't attached to git..

4/3

@grimmy @pidgin git switch --detach $tag

You can only switch to branches unless you are ok to be in a detached state (i.e. not attached to a branch). Tags are not branches, but point to a commit hence why you need the `--detach`

@grimmy People can agree or disagree if git is great or not, but anyone who has used it for anything more than very basics can't deny that it has it's umm... idiosyncracies.