-
Star
(367)
You must be signed in to star a gist -
Fork
(59)
You must be signed in to fork a gist
-
-
Save rponte/fdc0724dd984088606b0 to your computer and use it in GitHub Desktop.
# The command finds the most recent tag that is reachable from a commit. | |
# If the tag points to the commit, then only the tag is shown. | |
# Otherwise, it suffixes the tag name with the number of additional commits on top of the tagged object | |
# and the abbreviated object name of the most recent commit. | |
git describe | |
# With --abbrev set to 0, the command can be used to find the closest tagname without any suffix: | |
git describe --abbrev=0 | |
# other examples | |
git describe --abbrev=0 --tags # gets tag from current branch | |
git describe --tags `git rev-list --tags --max-count=1` # gets tags across all branches, not just the current branch | |
Just deleted a stupid long ass comment. Just want to warn about git tag --sort=committerdate
it does not work correctly with the tag command for whatever reason. But this does work.
git for-each-ref --sort=creatordate --format '%(refname) %(creatordate)' refs/tags
COMPLETELY different result that makes no sense to me git tag --sort=committerdate
However git tag --sort=taggerdate
is basically what I always looked for, what should be the default output for git-tag
IMG. I also hate how it paginates the output with less
or whatever by default.
Again, be warned about committerdate
! There is somebody above that had issue as well I think because of this. Even if my commit of things I tagged days or maybe even a week later. I makes absolutely no sense to me WTF this produces. Maybe my memory is just bad and it all makes sense, well probably actually. I think to much about this shit.
@eggbean I like that idea, but it hits an auth wall for private/enterprise repos
@arderyp There are a few different ways to authenticate. Have you tried the gh
cli tool?
Thanks! :)
If the remote is GitHub and there's an associated release for the tag, why not just use the GitHub API?
$ tag="$(curl -s https://api.github.com/repos/box/box-java-sdk/releases/latest | jq -r '.tag_name')" $ echo $tag v4.0.1
@eggbean THANK YOU! This is the perfect solution!
All the other methods mentioned earlier were fetching the most recently created tag, NOT the latest release tag!
@fykaa No problem. I have a lot of GitHub Actions where I was using the GitHub API a lot to retrieve binaries. Maybe you will find them useful to look at as I was using regex to get the latest version.
https://github.com/eggbean/.dotfiles/tree/master/.github/workflows
If the remote is GitHub and there's an associated release for the tag, why not just use the GitHub API?