gbp-tag(1)

🏷️ gbp-tag β€” bestie, let's tag that release πŸ’–

okay so real talk: this is the man page for gbp-tag(1), one little command from the git-buildpackage Manual. it's the part of the suite that goes "you made a Debian release, now let's stick a git tag on it so the timeline knows" πŸ’…


✨ SYNOPSIS ✨

gbp tag [--version] [--help] [--verbose] [--color=[auto|on|off]]
        [--color-scheme= COLOR_SCHEME] [--ignore-branch]
        [--[no-]ignore-new] [--[no-]sign-tags] [--keyid= GPG-KEYID]
        [--debian-branch= BRANCH_NAME] [--debian-tag= tag-format]
        [--debian-tag-msg= tag-msg-format] [--posttag= COMMAND]
        [--retag]

🌸 DESCRIPTION 🌸

gbp tag slaps an appropriate tag on the current head commit. iconic behavior. here's the exact order it does things in, no cap:

  • first it verifies you're running it from the Debian branch πŸ‘€
  • then it verifies the repo has zero uncommitted source changes β€” clean tree only, bestie
  • then it creates a git tag using the info it pulls from debian/changelog πŸŽ€
  • aaand (optionally) it calls a post tag hook πŸ¦‹

periodt.


πŸ’… OPTIONS πŸ’…

  • --version β€” prints the version of the program, i.e. the version of the git-buildpackage suite ✨
  • -v, --verbose β€” verbose execution, give me all the tea πŸ«–
  • -h, --help β€” print help and dip out πŸ‘‹
  • --color=[auto|on|off] β€” whether to use colored output 🌈
  • --color-scheme=COLOR_SCHEME β€” the colors to use in output (when color is enabled, obvi). the format for COLOR_SCHEME is '<debug>:<info>:<warning>:<error>'. numerical values and color names are both accepted, and empty fields imply the default color. for example, --git-color-scheme='cyan:34::' would show debug messages in cyan, info messages in blue, and other messages in default (i.e. warning and error messages in red) 🎨
  • --posttag=COMMAND β€” execute COMMAND after creating the tag. the exported environment variables are: GBP_TAG (the name of the generated tag), GBP_BRANCH (the branch the package was built from) and GBP_SHA1 (the sha1 of the commit the tag was created at) πŸ”₯
  • --[no-]sign-tags β€” GPG sign all created tags πŸ”
  • --keyid=GPG-KEYID β€” use this keyid for gpg signing tags πŸ”‘
  • --debian-tag=TAG-FORMAT β€” use this tag format when tagging Debian versions, default is debian/%(version)s 🏷️
  • --debian-tag-msg=tag-msg-format β€” use this tag message format when signing Debian versions, default is %(pkg)s Debian release %(version)s πŸ’Œ
  • --retag β€” don't fail tag operations if a tag with the same version already exists. heads up bestie: this is a command line only option that cannot be specified via gbp.conf ⚠️
  • --debian-branch=BRANCH_NAME β€” if you're not on this branch when invoking gbp tag it will fail. default is master. this is done to make sure you don't accidentally tag on the wrong branch 😭 not being on this branch will be ignored when using --ignore-branch πŸ™ˆ
  • --ignore-branch β€” don't check if the current branch matches DEBIAN-BRANCH 🚫
  • --[no-]ignore-new β€” don't abort if there are uncommitted changes in the source tree, or the current branch doesn't match the DEBIAN-BRANCH 😌

πŸŽ€ EXAMPLES πŸŽ€

create a tag with the current defaults, simple as:

gbp tag

create using a more upstreamish tag format, look at her go:

gbp tag --debian-tag='v%(version)s'

πŸ“œ CONFIGURATION FILES πŸ“œ

several gbp.conf files get parsed to set defaults for all the command-line arguments above. see the gbp.conf(5) manpage for the deets 🧚


πŸ‘€ SEE ALSO πŸ‘€

gbp-buildpackage(1), gbp-push(1), gbp.conf(5),


πŸ‘‘ AUTHOR πŸ‘‘

Guido GΓΌnther <agx@sigxcpu.org>


and that's the whole vibe 🫢 this page comes to you from the git-buildpackage Manual (that's the source, bestie), dated 26 May 2026 β€” gbp-tag(1), that's the manual name, slay πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from