Git tag 命令

更新时间: 2019-07-13 17:17

git-tag - Create, list, delete or verify a tag object signed with GPG


git tag [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>]
        <tagname> [<commit> | <object>]
git tag -d <tagname>...
git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>]
        [--points-at <object>] [--column[=<options>] | --no-column]
        [--create-reflog] [--sort=<key>] [--format=<format>]
        [--[no-]merged [<commit>]] [<pattern>...]
git tag -v [--format=<format>] <tagname>...


-a, --annotate
    Make an unsigned, annotated tag object

-s, --sign
    Make a GPG-signed tag, using the default e-mail address's key.

-u <keyid>, --local-user=<keyid>
    Make a GPG-signed tag, using the given key.

-f, --force
    Replace an existing tag with the given name (instead of failing)

-d, --delete
    Delete existing tags with the given names.

-v, --verify
    Verify the GPG signature of the given tag names.

    <num> specifies how many lines from the annotation, if any, are printed when using -l. Implies --list.

    The default is not to print any annotation lines. If no number is given to -n, only the first line is printed. If the tag is not
    annotated, the commit message is displayed instead.

-l, --list
    List tags. With optional <pattern>..., e.g.  git tag --list 'v-*', list only the tags that match the pattern(s).

    Running "git tag" without arguments also lists all tags. The pattern is a shell wildcard (i.e., matched using fnmatch(3)). Multiple
    patterns may be given; if any of them matches, the tag is shown.

    This option is implicitly supplied if any other list-like option such as --contains is provided. See the documentation for each of
    those options for details.

    Sort based on the key given. Prefix - to sort in descending order of the value. You may use the --sort=<key> option multiple times,
    in which case the last key becomes the primary key. Also supports "version:refname" or "v:refname" (tag names are treated as
    versions). The "version:refname" sort order can also be affected by the "versionsort.suffix" configuration variable. The keys
    supported are the same as those in git for-each-ref. Sort order defaults to the value configured for the tag.sort variable if it
    exists, or lexicographic order otherwise. See git-config(1).

--color[=<when>]: Respect any colors specified in the --format option. The <when> field must be one of always, never, or auto (if
<when> is absent, behave as if always was given).

-i, --ignore-case
    Sorting and filtering tags are case insensitive.

--column[=<options>], --no-column
    Display tag listing in columns. See configuration variable column.tag for option syntax.--column and --no-column without options
    are equivalent to always and never respectively.

    This option is only applicable when listing tags without annotation lines.

--contains [<commit>]
    Only list tags which contain the specified commit (HEAD if not specified). Implies --list.

--no-contains [<commit>]
    Only list tags which don't contain the specified commit (HEAD if not specified). Implies --list.

--merged [<commit>]
    Only list tags whose commits are reachable from the specified commit (HEAD if not specified), incompatible with --no-merged.

--no-merged [<commit>]
    Only list tags whose commits are not reachable from the specified commit (HEAD if not specified), incompatible with --merged.

--points-at <object>
    Only list tags of the given object (HEAD if not specified). Implies --list.

-m <msg>, --message=<msg>
    Use the given tag message (instead of prompting). If multiple -m options are given, their values are concatenated as separate
    paragraphs. Implies -a if none of -a, -s, or -u <keyid> is given.

-F <file>, --file=<file>

-F <file>, --file=<file>
    Take the tag message from the given file. Use - to read the message from the standard input. Implies -a if none of -a, -s, or -u
    <keyid> is given.

    This option sets how the tag message is cleaned up. The <mode> can be one of verbatim, whitespace and strip. The strip mode is
    default. The verbatim mode does not change message at all, whitespace removes just leading/trailing whitespace lines and strip
    removes both whitespace and commentary.

    Create a reflog for the tag. To globally enable reflogs for tags, see core.logAllRefUpdates in git-config(1). The negated form
    --no-create-reflog only overrides an earlier --create-reflog, but currently does not negate the setting of core.logAllRefUpdates.

    The name of the tag to create, delete, or describe. The new tag name must pass all checks defined by git-check-ref-format(1). Some
    of these checks may restrict the characters allowed in a tag name.

<commit>, <object>
    The object that the new tag will refer to, usually a commit. Defaults to HEAD.

    A string that interpolates %(fieldname) from a tag ref being shown and the object it points at. The format is the same as that of
    git-for-each-ref(1). When unspecified, defaults to %(refname:strip=2).


# 列出所有tag
$ git tag

# 新建一个tag在当前commit
$ git tag [tag]

# 新建一个tag在指定commit
$ git tag [tag] [commit]

# 删除本地tag
$ git tag -d [tag]

# 删除远程tag
$ git push origin :refs/tags/[tagName]

# 查看tag信息
$ git show [tag]

# 提交指定tag
$ git push [remote] [tag]

# 提交所有tag
$ git push [remote] --tags

# 新建一个分支,指向某个tag
$ git checkout -b [branch] [tag]

查看更多 git tag 命令的使用方法,可以使用命令:

git help tag


[美] Cole Nussbaumer Knaflic / 陆 昊、吴梦颖 / 人民邮电出版社 / 2017-8 / 59.00元

本书通过大量案例研究介绍数据可视化的基础知识,以及如何利用数据创造出吸引人的、信息量大的、有说服力的故事,进而达到有效沟通的目的。具体内容包括:如何充分理解上下文,如何选择合适的图表,如何消除杂乱,如何聚焦受众的视线,如何像设计师一样思考,以及如何用数据讲故事。一起来看看 《用数据讲故事》 这本书的介绍吧!

JS 压缩/解压工具

JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析

JSON 在线解析

在线 JSON 格式化工具