Documentation / git-commit-tree.txton commit Use longer alias names in subdirectory tests (d16ece2)
   1git-commit-tree(1)
   2==================
   3
   4NAME
   5----
   6git-commit-tree - Create a new commit object
   7
   8
   9SYNOPSIS
  10--------
  11[verse]
  12'git commit-tree' <tree> [(-p <parent>)...] < changelog
  13'git commit-tree' [(-p <parent>)...] [(-m <message>)...] [(-F <file>)...] <tree>
  14
  15DESCRIPTION
  16-----------
  17This is usually not what an end user wants to run directly.  See
  18linkgit:git-commit[1] instead.
  19
  20Creates a new commit object based on the provided tree object and
  21emits the new commit object id on stdout. The log message is read
  22from the standard input, unless `-m` or `-F` options are given.
  23
  24A commit object may have any number of parents. With exactly one
  25parent, it is an ordinary commit. Having more than one parent makes
  26the commit a merge between several lines of history. Initial (root)
  27commits have no parents.
  28
  29While a tree represents a particular directory state of a working
  30directory, a commit represents that state in "time", and explains how
  31to get there.
  32
  33Normally a commit would identify a new "HEAD" state, and while git
  34doesn't care where you save the note about that state, in practice we
  35tend to just write the result to the file that is pointed at by
  36`.git/HEAD`, so that we can always see what the last committed
  37state was.
  38
  39OPTIONS
  40-------
  41<tree>::
  42        An existing tree object
  43
  44-p <parent>::
  45        Each '-p' indicates the id of a parent commit object.
  46
  47-m <message>::
  48        A paragraph in the commit log message. This can be given more than
  49        once and each <message> becomes its own paragraph.
  50
  51-F <file>::
  52        Read the commit log message from the given file. Use `-` to read
  53        from the standard input.
  54
  55
  56Commit Information
  57------------------
  58
  59A commit encapsulates:
  60
  61- all parent object ids
  62- author name, email and date
  63- committer name and email and the commit time.
  64
  65While parent object ids are provided on the command line, author and
  66committer information is taken from the following environment variables,
  67if set:
  68
  69        GIT_AUTHOR_NAME
  70        GIT_AUTHOR_EMAIL
  71        GIT_AUTHOR_DATE
  72        GIT_COMMITTER_NAME
  73        GIT_COMMITTER_EMAIL
  74        GIT_COMMITTER_DATE
  75        EMAIL
  76
  77(nb "<", ">" and "\n"s are stripped)
  78
  79In case (some of) these environment variables are not set, the information
  80is taken from the configuration items user.name and user.email, or, if not
  81present, system user name and the hostname used for outgoing mail (taken
  82from `/etc/mailname` and falling back to the fully qualified hostname when
  83that file does not exist).
  84
  85A commit comment is read from stdin. If a changelog
  86entry is not provided via "<" redirection, 'git commit-tree' will just wait
  87for one to be entered and terminated with ^D.
  88
  89include::date-formats.txt[]
  90
  91Discussion
  92----------
  93
  94include::i18n.txt[]
  95
  96FILES
  97-----
  98/etc/mailname
  99
 100SEE ALSO
 101--------
 102linkgit:git-write-tree[1]
 103
 104GIT
 105---
 106Part of the linkgit:git[1] suite