Skip to content
Snippets Groups Projects
git-mktag.txt 1.73 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    git-mktag(1)
    ============
    
    NAME
    ----
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    git-mktag - Creates a tag object with extra validation
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    
    SYNOPSIS
    --------
    [verse]
    'git mktag'
    
    DESCRIPTION
    -----------
    
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    Reads a tag contents on standard input and creates a tag object. The
    output is the new tag's <object> identifier.
    
    This command is mostly equivalent to linkgit:git-hash-object[1]
    invoked with `-t tag -w --stdin`. I.e. both of these will create and
    write a tag found in `my-tag`:
    
        git mktag <my-tag
        git hash-object -t tag -w --stdin <my-tag
    
    The difference is that mktag will die before writing the tag if the
    tag doesn't pass a linkgit:git-fsck[1] check.
    
    The "fsck" check done mktag is stricter than what linkgit:git-fsck[1]
    would run by default in that all `fsck.<msg-id>` messages are promoted
    from warnings to errors (so e.g. a missing "tagger" line is an error).
    
    Extra headers in the object are also an error under mktag, but ignored
    by linkgit:git-fsck[1]. This extra check can be turned off by setting
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    the appropriate `fsck.<msg-id>` variable:
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
        git -c fsck.extraHeaderEntry=ignore mktag <my-tag-with-headers
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    
    OPTIONS
    -------
    
    --strict::
    	By default mktag turns on the equivalent of
    	linkgit:git-fsck[1] `--strict` mode. Use `--no-strict` to
    	disable it.
    
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    Tag Format
    ----------
    A tag signature file, to be fed to this command's standard input,
    has a very simple fixed format: four lines of
    
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
      object <hash>
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
      type <typename>
      tag <tagname>
      tagger <tagger>
    
    followed by some 'optional' free-form message (some tags created
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    by older Git may not have `tagger` line).  The message, when it
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    exists, is separated by a blank line from the header.  The
    message part may contain a signature that Git itself doesn't
    care about, but that can be verified with gpg.
    
    GIT
    ---
    Part of the linkgit:git[1] suite