GCLI-RELEASES(1)

πŸ“¦
version 2.13.0 Β· 5 versions
, in nixpkgs unstable, ubuntu stonking

πŸ’– GCLI-RELEASES(1) πŸ’–

okay so bestie, this is a page from the General Commands Manual ✨ and it's all about gcli releases β€” the little command that handles your releases on git forges. Sit down, grab a boba, we're doing this πŸ§‹πŸ«Ά


✨ NAME ✨

gcli releases β€” manage releases on git forges πŸ’…


🌸 SYNOPSIS 🌸

gcli releases [forge-path] [-sl] [-n n] [-o owner -r repo]
gcli releases [forge-path] create -t tagname [-n name] [-c commitish]
              [-a asset] [-o owner -r repo] [-d] [-p]
              [-T template-file.md]
gcli releases [forge-path] delete [-o owner -r repo] [-y] release-id

πŸ¦‹ DESCRIPTION πŸ¦‹

So like, gcli releases is THE girl for listing, creating and deleting releases on repos that live on git(1) forges β€” think GitLab, Gitea or GitHub 🌈

If you don't give it a subcommand, gcli releases just lists the releases in whatever repository you handed it (or the one it auto-detects, she's smart like that πŸ’…). And here's the tea: if you are the owner of that repo, you also get to see the draft releases πŸ‘€. If you're not the owner of that particular repository? Nah, no drafts for you, sorry babe 😭.


πŸ’œ OPTIONS πŸ’œ

  • -s, --sorted β€” flip the output around so the most recent items show up at the bottom instead of the top πŸ”„
  • -l, --long β€” give me the long list instead of the short lil table, we're being thorough today πŸ‘‘
  • -o, --owner owner β€” list releases in the repo belonging to the given owner. This option can only be used in combination with -r. no solo runs, she needs her plus-one 🫢
  • -r, --repo repo β€” list releases in the given repo. This option can only be used in combination with -o. same deal, they're a package πŸ’ž
  • -n, --count n β€” fetch at least n releases. Set n to -1 and you get ALL of them πŸŽ€ Default: 30.
⚠️ heads up bestie β€” on repositories with many releases, fetching all of them can take a considerable amount of time and may result in rate limiting by the GitHub API 😭 pace yourself

πŸŽ€ SUBCOMMANDS πŸŽ€

🌟 create

Create a brand new release on the given or auto-detected repository ✨ The editor will pop up and ask you to enter a message for the release. Very main character of it πŸ“

The following flags can be specified:

  • -t, --tag tagname β€” specify a tag to be used or to be created for the release. This option is mandatory. See -c for how to specify what the tag should be created from πŸ’…
  • -n, --name name β€” name of the release 🌸
  • -c, --commitish commitish β€” when a new tag is going to be created, this says what the tag is based on. It can be either a branch or a commit hash. It's unused if the tag already exists. Otherwise it defaults to the default branch from git(1) πŸ¦‹
  • -o, --owner owner β€” operate on the repository of the specified owner. This option can only be used in combination with -r. Use this if you wanna, like, create the release in an organisation and not your own account πŸ‘‘
  • -r, --repo repo β€” create the release in the given repository. This option can only be used in combination with -o.
  • -a, --asset asset β€” attach the given asset to the release. It gets uploaded to GitHub and made available for download πŸ“¦ You can specify this option multiple times to attach more than one asset to the release β€” stack 'em up bestie πŸ’…
  • -y, --yes β€” do not ask for confirmation before creating the release. Assume yes βœ…
  • -d, --draft β€” mark this release as a draft πŸ“
  • -p, --prerelease β€” mark this release as a prerelease 🚧
  • -T, --template template-file.md β€” use the provided template-file.md as a template for the release message. Unless -y has been specified, an editor will be opened to edit a copy of this file ✍️ Using this option together with -y allows for completely automated creation of releases πŸ€–βœ¨

πŸ—‘οΈ delete

Delete a release. Simple as that, no cap πŸ’€

The following options can be specified:

  • -r, --repo repo β€” delete the release in the given repository. This option can only be used in combination with -o.
  • -o, --owner owner β€” delete the release in the repository of the given owner. This option can only be used in combination with -r. Use this if you want to delete a release in a given organisation and not your own account πŸ‘‘
  • -y, --yes β€” do not ask for confirmation before deleting the repository. Assume yes βœ…

🌈 EXAMPLES 🌈

Delete release with ID 54656866 in herrhotzenplotz/gcli-playground without asking for confirmation:

$ gcli releases delete --owner herrhotzenplotz \
  --repo gcli-playground --yes 54656866

🌸

Create a new release named Foobar in herrhotzenplotz/gcli-playground. Create a new tag called banana based on the commit with the hash 0fed3c9 and upload foobar.tar.xz, barfoo.tar.gz and CHANGELOG as assets to the release:

$ gcli releases create --owner herrhotzenplotz \
  --repo gcli-playground --tag banana --name Foobar \
  --commitish 0fed3c9 --asset foobar.tar.xz \
  --asset barfoo.tar.gz --asset CHANGELOG

🌸

Create a release called β€œv2.8.0” from a pre-existing tag. Read the release notes from the file relnotes.md and do not ask for confirmation:

$ gcli releases create --tag v2.8.0 --name 'Version 2.8.0' \
  --commitish v2.8.0 --template relnotes.md --yes

🌸

List releases in herrhotzenplotz/gcli on GitHub using the forge path shorthand:

$ gcli releases gh:herrhotzenplotz/gcli

πŸ‘€ SEE ALSO πŸ‘€

git(1), gcli(1) β€” go read those too bestie, they're iconic 🫢


πŸ’– AUTHORS πŸ’–

Nico Sonack aka. herrhotzenplotz <nsonack@herrhotzenplotz.de> and contributors. legends, honestly πŸ‘‘


πŸ’€ BUGS πŸ’€

Okay so currently uploading release assets to GitLab doesn't work 😭. Also, prereleases and draft releases are unsupported by GitLab. Using those flags in a GitLab forge type remote will produce warnings but still create the release πŸ™ˆ.

Please report bugs via E-Mail to <https://lists.sr.ht/~herrhotzenplotz/gcli-discuss> πŸ“§

Alternatively you can report them on any of the forges linked at <https://sr.ht/~herrhotzenplotz/gcli>. However, the preferred and quickest method is to use the mailing list πŸ’Œ (fr fr, the mailing list is the move)


and that's the whole page, bestie!! this was gcli 2.13.0, dated 05-Aug-2026, and she ate πŸ’…βœ¨ mwah, go make some releases πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from