</div>\r
<h2>SYNOPSIS</h2>\r
<div class="sectionbody">\r
-<p><em>git-add</em> [-n] [-v] [--] <file>…</p>\r
+<p><em>git-add</em> [-n] [-v] [--interactive] [--] <file>…</p>\r
</div>\r
<h2>DESCRIPTION</h2>\r
<div class="sectionbody">\r
</p>\r
</dd>\r
<dt>\r
+--interactive\r
+</dt>\r
+<dd>\r
+<p>\r
+ Add modified contents in the working tree interactively to\r
+ the index.\r
+</p>\r
+</dd>\r
+<dt>\r
--\r
</dt>\r
<dd>\r
</dd>\r
</dl>\r
</div>\r
+<h2>Interactive mode</h2>\r
+<div class="sectionbody">\r
+<p>When the command enters the interactive mode, it shows the\r
+output of the <em>status</em> subcommand, and then goes into ints\r
+interactive command loop.</p>\r
+<p>The command loop shows the list of subcommands available, and\r
+gives a prompt "What now> ". In general, when the prompt ends\r
+with a single <em>></em>, you can pick only one of the choices given\r
+and type return, like this:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt> *** Commands ***\r
+ 1: status 2: update 3: revert 4: add untracked\r
+ 5: patch 6: diff 7: quit 8: help\r
+ What now> 1</tt></pre>\r
+</div></div>\r
+<p>You also could say "s" or "sta" or "status" above as long as the\r
+choice is unique.</p>\r
+<p>The main command loop has 6 subcommands (plus help and quit).</p>\r
+<dl>\r
+<dt>\r
+status\r
+</dt>\r
+<dd>\r
+<p>\r
+ This shows the change between HEAD and index (i.e. what will be\r
+ committed if you say "git commit"), and between index and\r
+ working tree files (i.e. what you could stage further before\r
+ "git commit" using "git-add") for each path. A sample output\r
+ looks like this:\r
+</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt> staged unstaged path\r
+ 1: binary nothing foo.png\r
+ 2: +403/-35 +1/-1 git-add--interactive.perl</tt></pre>\r
+</div></div>\r
+<p>It shows that foo.png has differences from HEAD (but that is\r
+binary so line count cannot be shown) and there is no\r
+difference between indexed copy and the working tree\r
+version (if the working tree version were also different,\r
+<em>binary</em> would have been shown in place of <em>nothing</em>). The\r
+other file, git-add--interactive.perl, has 403 lines added\r
+and 35 lines deleted if you commit what is in the index, but\r
+working tree file has further modifications (one addition and\r
+one deletion).</p>\r
+</dd>\r
+<dt>\r
+update\r
+</dt>\r
+<dd>\r
+<p>\r
+ This shows the status information and gives prompt\r
+ "Update>>". When the prompt ends with double <em>>></em>, you can\r
+ make more than one selection, concatenated with whitespace or\r
+ comma. Also you can say ranges. E.g. "2-5 7,9" to choose\r
+ 2,3,4,5,7,9 from the list. You can say <em>*</em> to choose\r
+ everything.\r
+</p>\r
+<p>What you chose are then highlighted with <em>*</em>,\r
+like this:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt> staged unstaged path\r
+ 1: binary nothing foo.png\r
+* 2: +403/-35 +1/-1 git-add--interactive.perl</tt></pre>\r
+</div></div>\r
+<p>To remove selection, prefix the input with <tt>-</tt>\r
+like this:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>Update>> -2</tt></pre>\r
+</div></div>\r
+<p>After making the selection, answer with an empty line to stage the\r
+contents of working tree files for selected paths in the index.</p>\r
+</dd>\r
+<dt>\r
+revert\r
+</dt>\r
+<dd>\r
+<p>\r
+ This has a very similar UI to <em>update</em>, and the staged\r
+ information for selected paths are reverted to that of the\r
+ HEAD version. Reverting new paths makes them untracked.\r
+</p>\r
+</dd>\r
+<dt>\r
+add untracked\r
+</dt>\r
+<dd>\r
+<p>\r
+ This has a very similar UI to <em>update</em> and\r
+ <em>revert</em>, and lets you add untracked paths to the index.\r
+</p>\r
+</dd>\r
+<dt>\r
+patch\r
+</dt>\r
+<dd>\r
+<p>\r
+ This lets you choose one path out of <em>status</em> like selection.\r
+ After choosing the path, it presents diff between the index\r
+ and the working tree file and asks you if you want to stage\r
+ the change of each hunk. You can say:\r
+</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>y - add the change from that hunk to index\r
+n - do not add the change from that hunk to index\r
+a - add the change from that hunk and all the rest to index\r
+d - do not the change from that hunk nor any of the rest to index\r
+j - do not decide on this hunk now, and view the next\r
+ undecided hunk\r
+J - do not decide on this hunk now, and view the next hunk\r
+k - do not decide on this hunk now, and view the previous\r
+ undecided hunk\r
+K - do not decide on this hunk now, and view the previous hunk</tt></pre>\r
+</div></div>\r
+<p>After deciding the fate for all hunks, if there is any hunk\r
+that was chosen, the index is updated with the selected hunks.</p>\r
+</dd>\r
+<dt>\r
+diff\r
+</dt>\r
+<dd>\r
+<p>\r
+ This lets you review what will be committed (i.e. between\r
+ HEAD and index).\r
+</p>\r
+</dd>\r
+</dl>\r
+</div>\r
<h2>See Also</h2>\r
<div class="sectionbody">\r
<p><a href="git-status.html">git-status(1)</a>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 13-Dec-2006 21:32:04 UTC\r
+Last updated 25-Dec-2006 11:36:05 UTC\r
</div>\r
</div>\r
</body>\r
SYNOPSIS
--------
-'git-add' [-n] [-v] [--] <file>...
+'git-add' [-n] [-v] [--interactive] [--] <file>...
DESCRIPTION
-----------
-v::
Be verbose.
+\--interactive::
+ Add modified contents in the working tree interactively to
+ the index.
+
\--::
This option can be used to separate command-line options from
the list of files, (useful when filenames might be mistaken
(i.e. you are listing the files explicitly), it does not
consider `subdir/git-foo.sh`.
+Interactive mode
+----------------
+When the command enters the interactive mode, it shows the
+output of the 'status' subcommand, and then goes into ints
+interactive command loop.
+
+The command loop shows the list of subcommands available, and
+gives a prompt "What now> ". In general, when the prompt ends
+with a single '>', you can pick only one of the choices given
+and type return, like this:
+
+------------
+ *** Commands ***
+ 1: status 2: update 3: revert 4: add untracked
+ 5: patch 6: diff 7: quit 8: help
+ What now> 1
+------------
+
+You also could say "s" or "sta" or "status" above as long as the
+choice is unique.
+
+The main command loop has 6 subcommands (plus help and quit).
+
+status::
+
+ This shows the change between HEAD and index (i.e. what will be
+ committed if you say "git commit"), and between index and
+ working tree files (i.e. what you could stage further before
+ "git commit" using "git-add") for each path. A sample output
+ looks like this:
++
+------------
+ staged unstaged path
+ 1: binary nothing foo.png
+ 2: +403/-35 +1/-1 git-add--interactive.perl
+------------
++
+It shows that foo.png has differences from HEAD (but that is
+binary so line count cannot be shown) and there is no
+difference between indexed copy and the working tree
+version (if the working tree version were also different,
+'binary' would have been shown in place of 'nothing'). The
+other file, git-add--interactive.perl, has 403 lines added
+and 35 lines deleted if you commit what is in the index, but
+working tree file has further modifications (one addition and
+one deletion).
+
+update::
+
+ This shows the status information and gives prompt
+ "Update>>". When the prompt ends with double '>>', you can
+ make more than one selection, concatenated with whitespace or
+ comma. Also you can say ranges. E.g. "2-5 7,9" to choose
+ 2,3,4,5,7,9 from the list. You can say '*' to choose
+ everything.
++
+What you chose are then highlighted with '*',
+like this:
++
+------------
+ staged unstaged path
+ 1: binary nothing foo.png
+* 2: +403/-35 +1/-1 git-add--interactive.perl
+------------
++
+To remove selection, prefix the input with `-`
+like this:
++
+------------
+Update>> -2
+------------
++
+After making the selection, answer with an empty line to stage the
+contents of working tree files for selected paths in the index.
+
+revert::
+
+ This has a very similar UI to 'update', and the staged
+ information for selected paths are reverted to that of the
+ HEAD version. Reverting new paths makes them untracked.
+
+add untracked::
+
+ This has a very similar UI to 'update' and
+ 'revert', and lets you add untracked paths to the index.
+
+patch::
+
+ This lets you choose one path out of 'status' like selection.
+ After choosing the path, it presents diff between the index
+ and the working tree file and asks you if you want to stage
+ the change of each hunk. You can say:
+
+ y - add the change from that hunk to index
+ n - do not add the change from that hunk to index
+ a - add the change from that hunk and all the rest to index
+ d - do not the change from that hunk nor any of the rest to index
+ j - do not decide on this hunk now, and view the next
+ undecided hunk
+ J - do not decide on this hunk now, and view the next hunk
+ k - do not decide on this hunk now, and view the previous
+ undecided hunk
+ K - do not decide on this hunk now, and view the previous hunk
++
+After deciding the fate for all hunks, if there is any hunk
+that was chosen, the index is updated with the selected hunks.
+
+diff::
+
+ This lets you review what will be committed (i.e. between
+ HEAD and index).
+
+
See Also
--------
gitlink:git-status[1]
<div class="sectionbody">\r
<div class="verseblock">\r
<div class="content"><em>git-rev-list</em> [ --max-count=number ]\r
+ [ --skip=number ]\r
[ --max-age=timestamp ]\r
[ --min-age=timestamp ]\r
[ --sparse ]\r
</p>\r
</dd>\r
<dt>\r
+--skip=<em>number</em>\r
+</dt>\r
+<dd>\r
+<p>\r
+ Skip <em>number</em> commits before starting to show the commit output.\r
+</p>\r
+</dd>\r
+<dt>\r
--since=<em>date</em>, --after=<em>date</em>\r
</dt>\r
<dd>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 23-Nov-2006 02:47:21 UTC\r
+Last updated 25-Dec-2006 11:36:06 UTC\r
</div>\r
</div>\r
</body>\r
--------
[verse]
'git-rev-list' [ \--max-count=number ]
+ [ \--skip=number ]
[ \--max-age=timestamp ]
[ \--min-age=timestamp ]
[ \--sparse ]
Limit the number of commits output.
+--skip='number'::
+
+ Skip 'number' commits before starting to show the commit output.
+
--since='date', --after='date'::
Show commits more recent than a specific date.