GIT-TAG(1) Git Manual GIT-TAG(1) (NAME) git-tag - (SYNOPSIS) git tag [-a | -s | -u ] [-f] [-m | -F ] [-e] [(--trailer [(=|:)])...] [ | ] git tag -d ... git tag [-n[]] -l [--contains ] [--no-contains ] [--points-at ] [--column[=] | --no-column] [--create-reflog] [--sort=] [--format=] [--merged ] [--no-merged ] [...] git tag -v [--format=] ... (DESCRIPTION) refs/tags/ -d/-l/-v . -f . -a -s -u tag . -m -F . -m -F --trailer [=] -a -s -u -a . ( lightweight tag) . -s -u . ( GPG X.509 SSH ) gpg.format OpenPGP . -u . gpg.program . ( -a -s -u) <<>> (annotated) . <<>> (lightweight) ( ) . . ( git describe) . (OPTIONS) -a, --annotate -s, --sign . gpg.format . . GPG SSH . git-config(1) . --no-sign tag.gpgSign . -u , --local-user= . gpg.format . git-config(1) . -f, --force ( ) -d, --delete . -v, --verify . -n -l ( ) . --list . . -n . . -l, --list . ... git tag --list 'v-*' () . git tag . (wildcard) ( fnmatch(3) ). . --contains . . --sort= . - . --sort= . "version:refname" "v:refname" ( ). "version:refname" "versionsort.suffix" . git for-each-ref . tag.sort (lexicographic) . git-config(1) . --color[=] --format. always never auto ( always ). -i, --ignore-case . --omit-empty . --column[=], --no-column . (syntax) column.tag . --column --no-column always never . . --contains [] ( HEAD). --list . --no-contains [] ( HEAD). --list . --merged [] ( HEAD). --no-merged [] ( HEAD). --points-at [] ( HEAD). --list . -m , --message= ( ). -m . -a -s -u -a . -F , --file= . - . -a -s -u -a . --trailer [(=|:)] ( ) . ( git tag --trailer "Custom-Key: value" "Custom-Key" .) trailer.* (git-interpret-trailers(1)) . git tag --list --format="%(trailers)" . -e, --edit -F -m . --cleanup= . verbatim whitespace strip . strip . verbatim whitespace strip . --create-reflog reflog . reflog core.logAllRefUpdates git- config(1) . --no-create-reflog --create-reflog core.logAllRefUpdates . --format= %(fieldname) . git-for-each-ref(1) . %(refname:strip=2) . . git-check-ref-format(1) . . , . HEAD . (CONFIGURATION) git tag (-s) ( Your Name ) . : [user] signingKey = gpg.format openpgp . git-config(1) . gpg..program . openpgp gpg.program gpg.openpgp.program . git-config(1) . pager.tag -l . (pager) . git-config(1) . (DISCUSSION) (On Re-tagging) push . -f . . push ( ) . : 1. . . " X" "X" . "X.1" . 2. . "X" . git tag -f . ( ). git pull . . . . : Ok, I messed up, and I pushed out an earlier version tagged as X. I then fixed something, and retagged the *fixed* tree as X again. If you got the wrong tag, and want the new one, please delete the old one and fetch the new one by doing: git tag -d X git fetch origin tag X to get my updated tag. You can test which tag you have by doing git rev-parse X which should return 0123456789abcdef.. if you have the new version. Sorry for the inconvenience. . " " . . (On Automatic following) ( refs/remotes/origin/master) . . fetch . . pull . " pull " : git fetch : Linus, please pull from git://git..../proj.git master to get the following updates... : $ git pull git://git..../proj.git master . "" "" . . . pull ( " ") ( " 2.6.21 ") ( " ") . ( "" ). . . . (On Backdating Tags) (gitweb) . GIT_COMMITTER_DATE ( "YYYY-MM-DD HH:MM" ). : $ GIT_COMMITTER_DATE="2006-10-02 10:31" git tag -s v1.0.1 (DATE FORMATS) GIT_AUTHOR_DATE GIT_COMMITTER_DATE : (Git internal format) (UNIX epoch) . UTC . CET ( UTC ) +0100 . @ ( @0 +0000) . ( ) YYYYMMDD . RFC 2822 RFC 2822 Thu, 07 Apr 2005 22:13:13 +0200. ISO 8601 ISO 8601 2005-04-07T22:13:13. T . 2005-04-07T22:13:13.019 2005-04-07T22:13:13 . : YYYY.MM.DD MM/DD/YYYY DD.MM.YYYY. (FILES) $GIT_DIR/TAG_EDITMSG . git tag git tag . (CONFIGURATION) git-config(1) . : tag.forceSignAnnotated GPG . --annotate . tag.sort git-tag . --sort= . tag.gpgSign GPG . . (agent) GPG . -u --local-user= . (NOTES) --contains --no-contains --contains --no-contains . --merged --no-merged --merged --no-merged . (SEE ALSO) git-check-ref-format(1). git-config(1). (GIT) git(1) Git 2.55.0 2026-06-29 GIT-TAG(1)