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.

-n<num>
    <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=<key>
    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.

--cleanup=<mode>
    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-reflog
    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.

<tagname>
    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.

<format>
    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
架构真经

架构真经

马丁L. 阿伯特(Martin L. Abbott)、迈克尔T.费舍尔(Michael T. Fisher) / 机械工业出版社 / 2017-4 / 79

前言 感谢你对本书第2版感兴趣!作为一本入门、进修和轻量级的参考手册,本书旨在帮助工程师、架构师和管理者研发及维护可扩展的互联网产品。本书给出了一系列规则,每个规则围绕着不同的主题展开讨论。大部分的规则聚焦在技术上,少数规则涉及一些关键的思维或流程问题,每个规则对构建可扩展的产品都是至关重要的。这些规则在深度和焦点上都有所不同。有些规则是高级的,例如定义一个可以应用于几乎任何可扩展性问题的模......一起来看看 《架构真经》 这本书的介绍吧!

URL 编码/解码

URL 编码/解码

URL 编码/解码

UNIX 时间戳转换

UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具

HEX CMYK 转换工具

HEX CMYK 互转工具