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