1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
\r
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
\r
6 <meta name="generator" content="AsciiDoc 7.0.2" />
\r
7 <style type="text/css">
\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
\r
11 border: 1px solid red;
\r
16 margin: 1em 5% 1em 5%;
\r
20 a:visited { color: fuchsia; }
\r
34 h1, h2, h3, h4, h5, h6 {
\r
36 font-family: sans-serif;
\r
38 margin-bottom: 0.5em;
\r
43 border-bottom: 2px solid silver;
\r
46 border-bottom: 2px solid silver;
\r
56 border: 1px solid silver;
\r
61 margin-bottom: 0.5em;
\r
71 font-family: sans-serif;
\r
78 font-family: sans-serif;
\r
82 font-family: sans-serif;
\r
84 border-top: 2px solid silver;
\r
90 padding-bottom: 0.5em;
\r
94 padding-bottom: 0.5em;
\r
98 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
\r
99 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
\r
100 div.admonitionblock {
\r
103 margin-bottom: 1.5em;
\r
105 div.admonitionblock {
\r
107 margin-bottom: 2.5em;
\r
110 div.content { /* Block element content. */
\r
114 /* Block element titles. */
\r
115 div.title, caption.title {
\r
116 font-family: sans-serif;
\r
120 margin-bottom: 0.5em;
\r
126 td div.title:first-child {
\r
129 div.content div.title:first-child {
\r
132 div.content + div.title {
\r
136 div.sidebarblock > div.content {
\r
137 background: #ffffee;
\r
138 border: 1px solid silver;
\r
142 div.listingblock > div.content {
\r
143 border: 1px solid silver;
\r
144 background: #f4f4f4;
\r
148 div.quoteblock > div.content {
\r
149 padding-left: 2.0em;
\r
151 div.quoteblock .attribution {
\r
155 div.admonitionblock .icon {
\r
156 vertical-align: top;
\r
159 text-decoration: underline;
\r
161 padding-right: 0.5em;
\r
163 div.admonitionblock td.content {
\r
164 padding-left: 0.5em;
\r
165 border-left: 2px solid silver;
\r
168 div.exampleblock > div.content {
\r
169 border-left: 2px solid silver;
\r
173 div.verseblock div.content {
\r
177 div.imageblock div.content { padding-left: 0; }
\r
178 div.imageblock img { border: 1px solid silver; }
\r
179 span.image img { border-style: none; }
\r
183 margin-bottom: 0.8em;
\r
188 font-style: italic;
\r
190 dd > *:first-child {
\r
195 list-style-position: outside;
\r
198 list-style-type: lower-alpha;
\r
201 div.tableblock > table {
\r
202 border-color: #527bbd;
\r
206 font-family: sans-serif;
\r
215 margin-bottom: 0.8em;
\r
218 vertical-align: top;
\r
219 font-style: italic;
\r
220 padding-right: 0.8em;
\r
223 vertical-align: top;
\r
227 div#footer-badges { display: none; }
\r
229 include::./stylesheets/xhtml11-manpage.css[]
\r
230 /* Workarounds for IE6's broken and incomplete CSS2. */
\r
232 div.sidebar-content {
\r
233 background: #ffffee;
\r
234 border: 1px solid silver;
\r
237 div.sidebar-title, div.image-title {
\r
238 font-family: sans-serif;
\r
241 margin-bottom: 0.5em;
\r
244 div.listingblock div.content {
\r
245 border: 1px solid silver;
\r
246 background: #f4f4f4;
\r
250 div.quoteblock-content {
\r
251 padding-left: 2.0em;
\r
254 div.exampleblock-content {
\r
255 border-left: 2px solid silver;
\r
256 padding-left: 0.5em;
\r
259 <title>git-commit(1)</title>
\r
264 git-commit(1) Manual Page
\r
267 <div class="sectionbody">
\r
269 Record your changes
\r
274 <div class="sectionbody">
\r
275 <div class="verseblock">
\r
276 <div class="content"><em>git-commit</em> [-a] [-s] [-v] [(-c | -C) <commit> | -F <file> | -m <msg>]
\r
277 [--no-verify] [--amend] [-e] [--author <author>]
\r
278 [--] [[-i | -o ]<file>…]</div></div>
\r
280 <h2>DESCRIPTION</h2>
\r
281 <div class="sectionbody">
\r
282 <p>Updates the index file for given paths, or all modified files if
\r
283 <em>-a</em> is specified, and makes a commit object. The command
\r
284 VISUAL and EDITOR environment variables to edit the commit log
\r
286 <p>Several environment variable are used during commits. They are
\r
287 documented in <a href="git-commit-tree.html">git-commit-tree(1)</a>.</p>
\r
288 <p>This command can run <tt>commit-msg</tt>, <tt>pre-commit</tt>, and
\r
289 <tt>post-commit</tt> hooks. See <a href="hooks.html">hooks</a> for more
\r
293 <div class="sectionbody">
\r
300 Update all paths in the index file. This flag notices
\r
301 files that have been modified and deleted, but new files
\r
302 you have not told git about are not affected.
\r
306 -c or -C <commit>
\r
310 Take existing commit object, and reuse the log message
\r
311 and the authorship information (including the timestamp)
\r
312 when creating the commit. With <em>-C</em>, the editor is not
\r
313 invoked; with <em>-c</em> the user can further edit the commit
\r
322 Take the commit message from the given file. Use <em>-</em> to
\r
323 read the message from the standard input.
\r
327 --author <author>
\r
331 Override the author name used in the commit. Use
\r
332 <tt>A U Thor <author@example.com></tt> format.
\r
340 Use the given <msg> as the commit message.
\r
348 Add Signed-off-by line at the end of the commit message.
\r
356 Look for suspicious lines the commit introduces, and
\r
357 abort committing if there is one. The definition of
\r
358 <em>suspicious lines</em> is currently the lines that has
\r
359 trailing whitespaces, and the lines whose indentation
\r
360 has a SP character immediately followed by a TAB
\r
361 character. This is the default.
\r
369 The opposite of <tt>--verify</tt>.
\r
377 The message taken from file with <tt>-F</tt>, command line with
\r
378 <tt>-m</tt>, and from file with <tt>-C</tt> are usually used as the
\r
379 commit log message unmodified. This option lets you
\r
380 further edit the message taken from these sources.
\r
388 Used to amend the tip of the current branch. Prepare the tree
\r
389 object you would want to replace the latest commit as usual
\r
390 (this includes the usual -i/-o and explicit paths), and the
\r
391 commit log editor is seeded with the commit message from the
\r
392 tip of the current branch. The commit you create replaces the
\r
393 current tip — if it was a merge, it will have the parents of
\r
394 the current tip as parents — so the current top commit is
\r
397 <p>It is a rough equivalent for:</p>
\r
398 <div class="listingblock">
\r
399 <div class="content">
\r
400 <pre><tt> $ git reset --soft HEAD^
\r
401 $ ... do something else to come up with the right tree ...
\r
402 $ git commit -c ORIG_HEAD
\r
405 <p>but can be used to amend a merge commit.</p>
\r
412 Instead of committing only the files specified on the
\r
413 command line, update them in the index file and then
\r
414 commit the whole index. This is the traditional
\r
423 Commit only the files specified on the command line.
\r
424 This format cannot be used during a merge, nor when the
\r
425 index and the latest commit does not match on the
\r
426 specified paths to avoid confusion.
\r
434 Do not interpret any more arguments as options.
\r
438 <file>…
\r
442 Files to be committed. The meaning of these is
\r
443 different between <tt>--include</tt> and <tt>--only</tt>. Without
\r
444 either, it defaults <tt>--only</tt> semantics.
\r
448 <p>If you make a commit and then found a mistake immediately after
\r
449 that, you can recover from it with <a href="git-reset.html">git-reset(1)</a>.</p>
\r
451 <h2>Discussion</h2>
\r
452 <div class="sectionbody">
\r
453 <p><tt>git commit</tt> without _any_ parameter commits the tree structure
\r
454 recorded by the current index file. This is a whole-tree commit
\r
455 even the command is invoked from a subdirectory.</p>
\r
456 <p><tt>git commit --include paths…</tt> is equivalent to</p>
\r
457 <div class="literalblock">
\r
458 <div class="content">
\r
459 <pre><tt>git update-index --remove paths...
\r
460 git commit</tt></pre>
\r
462 <p>That is, update the specified paths to the index and then commit
\r
463 the whole tree.</p>
\r
464 <p><tt>git commit paths…</tt> largely bypasses the index file and
\r
465 commits only the changes made to the specified paths. It has
\r
466 however several safety valves to prevent confusion.</p>
\r
470 It refuses to run during a merge (i.e. when
\r
471 <tt>$GIT_DIR/MERGE_HEAD</tt> exists), and reminds trained git users
\r
472 that the traditional semantics now needs -i flag.
\r
477 It refuses to run if named <tt>paths…</tt> are different in HEAD
\r
478 and the index (ditto about reminding). Added paths are OK.
\r
479 This is because an earlier <tt>git diff</tt> (not <tt>git diff HEAD</tt>)
\r
480 would have shown the differences since the last <tt>git
\r
481 update-index paths…</tt> to the user, and an inexperienced user
\r
482 may mistakenly think that the changes between the index and
\r
483 the HEAD (i.e. earlier changes made before the last <tt>git
\r
484 update-index paths…</tt> was done) are not being committed.
\r
489 It reads HEAD commit into a temporary index file, updates the
\r
490 specified <tt>paths…</tt> and makes a commit. At the same time,
\r
491 the real index file is also updated with the same <tt>paths…</tt>.
\r
495 <p><tt>git commit --all</tt> updates the index file with _all_ changes to
\r
496 the working tree, and makes a whole-tree commit, regardless of
\r
497 which subdirectory the command is invoked in.</p>
\r
500 <div class="sectionbody">
\r
501 <p>Written by Linus Torvalds <torvalds@osdl.org> and
\r
502 Junio C Hamano <junkio@cox.net></p>
\r
505 <div class="sectionbody">
\r
506 <p>Part of the <a href="git.html">git(7)</a> suite</p>
\r
509 <div id="footer-text">
\r
510 Last updated 04-Jun-2006 07:24:22 UTC
\r