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</tt></pre>
\r
404 <p>but can be used to amend a merge commit.</p>
\r
411 Instead of committing only the files specified on the
\r
412 command line, update them in the index file and then
\r
413 commit the whole index. This is the traditional
\r
422 Commit only the files specified on the command line.
\r
423 This format cannot be used during a merge, nor when the
\r
424 index and the latest commit does not match on the
\r
425 specified paths to avoid confusion.
\r
433 Do not interpret any more arguments as options.
\r
437 <file>…
\r
441 Files to be committed. The meaning of these is
\r
442 different between <tt>--include</tt> and <tt>--only</tt>. Without
\r
443 either, it defaults <tt>--only</tt> semantics.
\r
447 <p>If you make a commit and then found a mistake immediately after
\r
448 that, you can recover from it with <a href="git-reset.html">git-reset(1)</a>.</p>
\r
450 <h2>Discussion</h2>
\r
451 <div class="sectionbody">
\r
452 <p><tt>git commit</tt> without _any_ parameter commits the tree structure
\r
453 recorded by the current index file. This is a whole-tree commit
\r
454 even the command is invoked from a subdirectory.</p>
\r
455 <p><tt>git commit --include paths…</tt> is equivalent to</p>
\r
456 <div class="literalblock">
\r
457 <div class="content">
\r
458 <pre><tt>git update-index --remove paths...
\r
459 git commit</tt></pre>
\r
461 <p>That is, update the specified paths to the index and then commit
\r
462 the whole tree.</p>
\r
463 <p><tt>git commit paths…</tt> largely bypasses the index file and
\r
464 commits only the changes made to the specified paths. It has
\r
465 however several safety valves to prevent confusion.</p>
\r
469 It refuses to run during a merge (i.e. when
\r
470 <tt>$GIT_DIR/MERGE_HEAD</tt> exists), and reminds trained git users
\r
471 that the traditional semantics now needs -i flag.
\r
476 It refuses to run if named <tt>paths…</tt> are different in HEAD
\r
477 and the index (ditto about reminding). Added paths are OK.
\r
478 This is because an earlier <tt>git diff</tt> (not <tt>git diff HEAD</tt>)
\r
479 would have shown the differences since the last <tt>git
\r
480 update-index paths…</tt> to the user, and an inexperienced user
\r
481 may mistakenly think that the changes between the index and
\r
482 the HEAD (i.e. earlier changes made before the last <tt>git
\r
483 update-index paths…</tt> was done) are not being committed.
\r
488 It reads HEAD commit into a temporary index file, updates the
\r
489 specified <tt>paths…</tt> and makes a commit. At the same time,
\r
490 the real index file is also updated with the same <tt>paths…</tt>.
\r
494 <p><tt>git commit --all</tt> updates the index file with _all_ changes to
\r
495 the working tree, and makes a whole-tree commit, regardless of
\r
496 which subdirectory the command is invoked in.</p>
\r
499 <div class="sectionbody">
\r
500 <p>Written by Linus Torvalds <torvalds@osdl.org> and
\r
501 Junio C Hamano <junkio@cox.net></p>
\r
504 <div class="sectionbody">
\r
505 <p>Part of the <a href="git.html">git(7)</a> suite</p>
\r
508 <div id="footer-text">
\r
509 Last updated 05-Apr-2006 21:43:17 UTC
\r