| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 1 | git-commit(1) |
| 2 | ============= |
| 3 | |
| 4 | NAME |
| 5 | ---- |
| Junio C Hamano | 7c73c66 | 2007-01-19 00:37:50 | [diff] [blame] | 6 | git-commit - Record changes to the repository |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 7 | |
| 8 | SYNOPSIS |
| 9 | -------- |
| Junio C Hamano | 235a91e | 2006-01-07 01:13:58 | [diff] [blame] | 10 | [verse] |
| Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 11 | 'git commit' [-a | --interactive] [-s] [-v] [-u<mode>] [--amend] |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 12 | [(-c | -C) <commit>] [-F <file> | -m <msg>] |
| 13 | [--allow-empty] [--no-verify] [-e] [--author=<author>] |
| Junio C Hamano | 554da79 | 2007-12-27 03:29:58 | [diff] [blame] | 14 | [--cleanup=<mode>] [--] [[-i | -o ]<file>...] |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 15 | |
| 16 | DESCRIPTION |
| 17 | ----------- |
| Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 18 | Stores the current contents of the index in a new commit along |
| 19 | with a log message from the user describing the changes. |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 20 | |
| Junio C Hamano | bd2b4bb | 2007-08-06 06:42:24 | [diff] [blame] | 21 | The content to be added can be specified in several ways: |
| Junio C Hamano | b515b6a | 2007-08-08 09:21:16 | [diff] [blame] | 22 | |
| Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 23 | 1. by using 'git-add' to incrementally "add" changes to the |
| Junio C Hamano | bd2b4bb | 2007-08-06 06:42:24 | [diff] [blame] | 24 | index before using the 'commit' command (Note: even modified |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 25 | files must be "added"); |
| Junio C Hamano | 2b13527 | 2006-03-18 07:45:42 | [diff] [blame] | 26 | |
| Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 27 | 2. by using 'git-rm' to remove files from the working tree |
| Junio C Hamano | bd2b4bb | 2007-08-06 06:42:24 | [diff] [blame] | 28 | and the index, again before using the 'commit' command; |
| Junio C Hamano | 2b13527 | 2006-03-18 07:45:42 | [diff] [blame] | 29 | |
| Junio C Hamano | bd2b4bb | 2007-08-06 06:42:24 | [diff] [blame] | 30 | 3. by listing files as arguments to the 'commit' command, in which |
| 31 | case the commit will ignore changes staged in the index, and instead |
| 32 | record the current content of the listed files; |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 33 | |
| Junio C Hamano | bd2b4bb | 2007-08-06 06:42:24 | [diff] [blame] | 34 | 4. by using the -a switch with the 'commit' command to automatically |
| 35 | "add" changes from all known files (i.e. all files that are already |
| 36 | listed in the index) and to automatically "rm" files in the index |
| 37 | that have been removed from the working tree, and then perform the |
| 38 | actual commit; |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 39 | |
| Junio C Hamano | c51fede | 2007-03-12 07:29:20 | [diff] [blame] | 40 | 5. by using the --interactive switch with the 'commit' command to decide one |
| 41 | by one which files should be part of the commit, before finalizing the |
| Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 42 | operation. Currently, this is done by invoking 'git-add --interactive'. |
| Junio C Hamano | c51fede | 2007-03-12 07:29:20 | [diff] [blame] | 43 | |
| Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 44 | The 'git-status' command can be used to obtain a |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 45 | summary of what is included by any of the above for the next |
| 46 | commit by giving the same set of parameters you would give to |
| 47 | this command. |
| 48 | |
| Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 49 | If you make a commit and then find a mistake immediately after |
| Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 50 | that, you can recover from it with 'git-reset'. |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 51 | |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 52 | |
| 53 | OPTIONS |
| 54 | ------- |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 55 | -a:: |
| 56 | --all:: |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 57 | Tell the command to automatically stage files that have |
| 58 | been modified and deleted, but new files you have not |
| 59 | told git about are not affected. |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 60 | |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 61 | -C <commit>:: |
| 62 | --reuse-message=<commit>:: |
| 63 | Take an existing commit object, and reuse the log message |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 64 | and the authorship information (including the timestamp) |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 65 | when creating the commit. |
| 66 | |
| 67 | -c <commit>:: |
| 68 | --reedit-message=<commit>:: |
| 69 | Like '-C', but with '-c' the editor is invoked, so that |
| 70 | the user can further edit the commit message. |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 71 | |
| 72 | -F <file>:: |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 73 | --file=<file>:: |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 74 | Take the commit message from the given file. Use '-' to |
| 75 | read the message from the standard input. |
| 76 | |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 77 | --author=<author>:: |
| Junio C Hamano | 40f2f8d | 2006-02-07 08:04:39 | [diff] [blame] | 78 | Override the author name used in the commit. Use |
| 79 | `A U Thor <author@example.com>` format. |
| 80 | |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 81 | -m <msg>:: |
| 82 | --message=<msg>:: |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 83 | Use the given <msg> as the commit message. |
| 84 | |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 85 | -t <file>:: |
| 86 | --template=<file>:: |
| Junio C Hamano | a3770f9 | 2007-07-25 08:53:33 | [diff] [blame] | 87 | Use the contents of the given file as the initial version |
| 88 | of the commit message. The editor is invoked and you can |
| 89 | make subsequent changes. If a message is specified using |
| Junio C Hamano | b968dbb | 2007-07-27 07:26:40 | [diff] [blame] | 90 | the `-m` or `-F` options, this option has no effect. This |
| 91 | overrides the `commit.template` configuration variable. |
| Junio C Hamano | a3770f9 | 2007-07-25 08:53:33 | [diff] [blame] | 92 | |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 93 | -s:: |
| 94 | --signoff:: |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 95 | Add Signed-off-by line at the end of the commit message. |
| 96 | |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 97 | -n:: |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 98 | --no-verify:: |
| Junio C Hamano | 942b35e | 2007-12-09 10:19:33 | [diff] [blame] | 99 | This option bypasses the pre-commit and commit-msg hooks. |
| Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 100 | See also linkgit:githooks[5]. |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 101 | |
| Junio C Hamano | 0c99970 | 2007-12-03 09:57:55 | [diff] [blame] | 102 | --allow-empty:: |
| 103 | Usually recording a commit that has the exact same tree as its |
| Junio C Hamano | 5825687 | 2007-12-04 08:31:13 | [diff] [blame] | 104 | sole parent commit is a mistake, and the command prevents you |
| 105 | from making such a commit. This option bypasses the safety, and |
| 106 | is primarily for use by foreign scm interface scripts. |
| Junio C Hamano | 0c99970 | 2007-12-03 09:57:55 | [diff] [blame] | 107 | |
| Junio C Hamano | 554da79 | 2007-12-27 03:29:58 | [diff] [blame] | 108 | --cleanup=<mode>:: |
| 109 | This option sets how the commit message is cleaned up. |
| 110 | The '<mode>' can be one of 'verbatim', 'whitespace', 'strip', |
| 111 | and 'default'. The 'default' mode will strip leading and |
| 112 | trailing empty lines and #commentary from the commit message |
| 113 | only if the message is to be edited. Otherwise only whitespace |
| 114 | removed. The 'verbatim' mode does not change message at all, |
| 115 | 'whitespace' removes just leading/trailing whitespace lines |
| 116 | and 'strip' removes both whitespace and commentary. |
| 117 | |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 118 | -e:: |
| 119 | --edit:: |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 120 | The message taken from file with `-F`, command line with |
| 121 | `-m`, and from file with `-C` are usually used as the |
| 122 | commit log message unmodified. This option lets you |
| 123 | further edit the message taken from these sources. |
| 124 | |
| Junio C Hamano | bfe9e75 | 2006-04-05 21:43:28 | [diff] [blame] | 125 | --amend:: |
| Junio C Hamano | bfe9e75 | 2006-04-05 21:43:28 | [diff] [blame] | 126 | Used to amend the tip of the current branch. Prepare the tree |
| 127 | object you would want to replace the latest commit as usual |
| 128 | (this includes the usual -i/-o and explicit paths), and the |
| 129 | commit log editor is seeded with the commit message from the |
| 130 | tip of the current branch. The commit you create replaces the |
| 131 | current tip -- if it was a merge, it will have the parents of |
| 132 | the current tip as parents -- so the current top commit is |
| 133 | discarded. |
| 134 | + |
| Junio C Hamano | 47ea30e | 2006-04-05 23:08:03 | [diff] [blame] | 135 | -- |
| Junio C Hamano | bfe9e75 | 2006-04-05 21:43:28 | [diff] [blame] | 136 | It is a rough equivalent for: |
| Junio C Hamano | 47ea30e | 2006-04-05 23:08:03 | [diff] [blame] | 137 | ------ |
| Junio C Hamano | bfe9e75 | 2006-04-05 21:43:28 | [diff] [blame] | 138 | $ git reset --soft HEAD^ |
| 139 | $ ... do something else to come up with the right tree ... |
| 140 | $ git commit -c ORIG_HEAD |
| Junio C Hamano | 47ea30e | 2006-04-05 23:08:03 | [diff] [blame] | 141 | |
| 142 | ------ |
| Junio C Hamano | bfe9e75 | 2006-04-05 21:43:28 | [diff] [blame] | 143 | but can be used to amend a merge commit. |
| Junio C Hamano | 47ea30e | 2006-04-05 23:08:03 | [diff] [blame] | 144 | -- |
| Junio C Hamano | bfe9e75 | 2006-04-05 21:43:28 | [diff] [blame] | 145 | |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 146 | -i:: |
| 147 | --include:: |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 148 | Before making a commit out of staged contents so far, |
| 149 | stage the contents of paths given on the command line |
| 150 | as well. This is usually not what you want unless you |
| 151 | are concluding a conflicted merge. |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 152 | |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 153 | -o:: |
| 154 | --only:: |
| Junio C Hamano | e79159d | 2008-04-12 08:23:17 | [diff] [blame] | 155 | Make a commit only from the paths specified on the |
| 156 | command line, disregarding any contents that have been |
| 157 | staged so far. This is the default mode of operation of |
| Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 158 | 'git-commit' if any paths are given on the command line, |
| Junio C Hamano | e79159d | 2008-04-12 08:23:17 | [diff] [blame] | 159 | in which case this option can be omitted. |
| 160 | If this option is specified together with '--amend', then |
| 161 | no paths need be specified, which can be used to amend |
| 162 | the last commit without committing changes that have |
| 163 | already been staged. |
| 164 | |
| Junio C Hamano | 4224f99 | 2008-06-23 07:14:08 | [diff] [blame] | 165 | -u[<mode>]:: |
| 166 | --untracked-files[=<mode>]:: |
| 167 | Show untracked files (Default: 'all'). |
| 168 | + |
| 169 | The mode parameter is optional, and is used to specify |
| 170 | the handling of untracked files. The possible options are: |
| 171 | + |
| 172 | -- |
| 173 | - 'no' - Show no untracked files |
| 174 | - 'normal' - Shows untracked files and directories |
| 175 | - 'all' - Also shows individual files in untracked directories. |
| 176 | -- |
| 177 | + |
| 178 | See linkgit:git-config[1] for configuration variable |
| 179 | used to change the default for when the option is not |
| 180 | specified. |
| Junio C Hamano | 1e6e006 | 2007-07-13 05:33:25 | [diff] [blame] | 181 | |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 182 | -v:: |
| 183 | --verbose:: |
| Junio C Hamano | 1e6e006 | 2007-07-13 05:33:25 | [diff] [blame] | 184 | Show unified diff between the HEAD commit and what |
| 185 | would be committed at the bottom of the commit message |
| 186 | template. Note that this diff output doesn't have its |
| 187 | lines prefixed with '#'. |
| 188 | |
| Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 189 | -q:: |
| 190 | --quiet:: |
| Junio C Hamano | f9771f6 | 2007-01-17 17:42:30 | [diff] [blame] | 191 | Suppress commit summary message. |
| Junio C Hamano | 7d23f5e | 2006-12-16 07:44:04 | [diff] [blame] | 192 | |
| Junio C Hamano | 1bb569e | 2006-05-05 23:14:25 | [diff] [blame] | 193 | \--:: |
| Junio C Hamano | 6697ac5 | 2006-02-14 08:00:23 | [diff] [blame] | 194 | Do not interpret any more arguments as options. |
| 195 | |
| 196 | <file>...:: |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 197 | When files are given on the command line, the command |
| 198 | commits the contents of the named files, without |
| 199 | recording the changes already staged. The contents of |
| 200 | these files are also staged for the next commit on top |
| 201 | of what have been staged before. |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 202 | |
| 203 | |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 204 | EXAMPLES |
| 205 | -------- |
| 206 | When recording your own work, the contents of modified files in |
| 207 | your working tree are temporarily stored to a staging area |
| Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 208 | called the "index" with 'git-add'. A file can be |
| Junio C Hamano | 361c133 | 2007-11-14 12:17:22 | [diff] [blame] | 209 | reverted back, only in the index but not in the working tree, |
| Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 210 | to that of the last commit with `git reset HEAD -- <file>`, |
| Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 211 | which effectively reverts 'git-add' and prevents the changes to |
| Junio C Hamano | 361c133 | 2007-11-14 12:17:22 | [diff] [blame] | 212 | this file from participating in the next commit. After building |
| 213 | the state to be committed incrementally with these commands, |
| 214 | `git commit` (without any pathname parameter) is used to record what |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 215 | has been staged so far. This is the most basic form of the |
| 216 | command. An example: |
| Junio C Hamano | 40f2f8d | 2006-02-07 08:04:39 | [diff] [blame] | 217 | |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 218 | ------------ |
| 219 | $ edit hello.c |
| 220 | $ git rm goodbye.c |
| 221 | $ git add hello.c |
| 222 | $ git commit |
| 223 | ------------ |
| Junio C Hamano | 40f2f8d | 2006-02-07 08:04:39 | [diff] [blame] | 224 | |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 225 | Instead of staging files after each individual change, you can |
| 226 | tell `git commit` to notice the changes to the files whose |
| 227 | contents are tracked in |
| 228 | your working tree and do corresponding `git add` and `git rm` |
| 229 | for you. That is, this example does the same as the earlier |
| 230 | example if there is no other change in your working tree: |
| Junio C Hamano | 40f2f8d | 2006-02-07 08:04:39 | [diff] [blame] | 231 | |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 232 | ------------ |
| 233 | $ edit hello.c |
| 234 | $ rm goodbye.c |
| 235 | $ git commit -a |
| 236 | ------------ |
| Junio C Hamano | 40f2f8d | 2006-02-07 08:04:39 | [diff] [blame] | 237 | |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 238 | The command `git commit -a` first looks at your working tree, |
| 239 | notices that you have modified hello.c and removed goodbye.c, |
| 240 | and performs necessary `git add` and `git rm` for you. |
| Junio C Hamano | 40f2f8d | 2006-02-07 08:04:39 | [diff] [blame] | 241 | |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 242 | After staging changes to many files, you can alter the order the |
| 243 | changes are recorded in, by giving pathnames to `git commit`. |
| 244 | When pathnames are given, the command makes a commit that |
| 245 | only records the changes made to the named paths: |
| Junio C Hamano | 40f2f8d | 2006-02-07 08:04:39 | [diff] [blame] | 246 | |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 247 | ------------ |
| 248 | $ edit hello.c hello.h |
| 249 | $ git add hello.c hello.h |
| 250 | $ edit Makefile |
| 251 | $ git commit Makefile |
| 252 | ------------ |
| Junio C Hamano | 40f2f8d | 2006-02-07 08:04:39 | [diff] [blame] | 253 | |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 254 | This makes a commit that records the modification to `Makefile`. |
| 255 | The changes staged for `hello.c` and `hello.h` are not included |
| 256 | in the resulting commit. However, their changes are not lost -- |
| 257 | they are still staged and merely held back. After the above |
| 258 | sequence, if you do: |
| Junio C Hamano | 40f2f8d | 2006-02-07 08:04:39 | [diff] [blame] | 259 | |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 260 | ------------ |
| 261 | $ git commit |
| 262 | ------------ |
| Junio C Hamano | 40f2f8d | 2006-02-07 08:04:39 | [diff] [blame] | 263 | |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 264 | this second commit would record the changes to `hello.c` and |
| 265 | `hello.h` as expected. |
| 266 | |
| Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 267 | After a merge (initiated by 'git-merge' or 'git-pull') stops |
| Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 268 | because of conflicts, cleanly merged |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 269 | paths are already staged to be committed for you, and paths that |
| 270 | conflicted are left in unmerged state. You would have to first |
| Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 271 | check which paths are conflicting with 'git-status' |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 272 | and after fixing them manually in your working tree, you would |
| Junio C Hamano | ba4b928 | 2008-07-06 05:20:31 | [diff] [blame] | 273 | stage the result as usual with 'git-add': |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 274 | |
| 275 | ------------ |
| 276 | $ git status | grep unmerged |
| 277 | unmerged: hello.c |
| 278 | $ edit hello.c |
| 279 | $ git add hello.c |
| 280 | ------------ |
| 281 | |
| 282 | After resolving conflicts and staging the result, `git ls-files -u` |
| 283 | would stop mentioning the conflicted path. When you are done, |
| 284 | run `git commit` to finally record the merge: |
| 285 | |
| 286 | ------------ |
| 287 | $ git commit |
| 288 | ------------ |
| 289 | |
| 290 | As with the case to record your own changes, you can use `-a` |
| 291 | option to save typing. One difference is that during a merge |
| 292 | resolution, you cannot use `git commit` with pathnames to |
| 293 | alter the order the changes are committed, because the merge |
| 294 | should be recorded as a single commit. In fact, the command |
| 295 | refuses to run when given pathnames (but see `-i` option). |
| 296 | |
| 297 | |
| Junio C Hamano | 775a0f4 | 2006-12-31 01:19:14 | [diff] [blame] | 298 | DISCUSSION |
| 299 | ---------- |
| 300 | |
| Junio C Hamano | 8f76dc6 | 2007-01-17 07:24:25 | [diff] [blame] | 301 | Though not required, it's a good idea to begin the commit message |
| 302 | with a single short (less than 50 character) line summarizing the |
| 303 | change, followed by a blank line and then a more thorough description. |
| 304 | Tools that turn commits into email, for example, use the first line |
| 305 | on the Subject: line and the rest of the commit in the body. |
| 306 | |
| Junio C Hamano | 775a0f4 | 2006-12-31 01:19:14 | [diff] [blame] | 307 | include::i18n.txt[] |
| 308 | |
| Junio C Hamano | f6002a9 | 2007-07-20 10:28:22 | [diff] [blame] | 309 | ENVIRONMENT AND CONFIGURATION VARIABLES |
| 310 | --------------------------------------- |
| 311 | The editor used to edit the commit log message will be chosen from the |
| 312 | GIT_EDITOR environment variable, the core.editor configuration variable, the |
| 313 | VISUAL environment variable, or the EDITOR environment variable (in that |
| 314 | order). |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 315 | |
| 316 | HOOKS |
| 317 | ----- |
| Junio C Hamano | 26e590a | 2008-02-17 03:53:51 | [diff] [blame] | 318 | This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`, |
| Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 319 | and `post-commit` hooks. See linkgit:githooks[5] for more |
| Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 320 | information. |
| 321 | |
| 322 | |
| 323 | SEE ALSO |
| 324 | -------- |
| Junio C Hamano | 35738e8 | 2008-01-07 07:55:46 | [diff] [blame] | 325 | linkgit:git-add[1], |
| 326 | linkgit:git-rm[1], |
| 327 | linkgit:git-mv[1], |
| 328 | linkgit:git-merge[1], |
| 329 | linkgit:git-commit-tree[1] |
| Junio C Hamano | 40f2f8d | 2006-02-07 08:04:39 | [diff] [blame] | 330 | |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 331 | Author |
| 332 | ------ |
| 333 | Written by Linus Torvalds <torvalds@osdl.org> and |
| Junio C Hamano | 0868a30 | 2008-07-22 09:20:44 | [diff] [blame^] | 334 | Junio C Hamano <gitster@pobox.com> |
| Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 335 | |
| 336 | |
| 337 | GIT |
| 338 | --- |
| Junio C Hamano | f7c042d | 2008-06-06 22:50:53 | [diff] [blame] | 339 | Part of the linkgit:git[1] suite |