Autogenerated HTML docs for v1.5.4-rc1-21-g0e545
authorJunio C Hamano <junio@hera.kernel.org>
Sun, 23 Dec 2007 08:16:38 +0000 (08:16 +0000)
committerJunio C Hamano <junio@hera.kernel.org>
Sun, 23 Dec 2007 08:16:38 +0000 (08:16 +0000)
git-check-attr.html
git-check-attr.txt
git-ls-files.html
git-ls-files.txt
git-merge.html
git-merge.txt
gitattributes.html
gitattributes.txt
gitcli.html [new file with mode: 0644]
gitcli.txt [new file with mode: 0644]

index d93730dca24b38fdbb3bd06c2dcdc7b40e2b1e12..1a3c0331b86c8df5fab1edbf30997b61f7d03d29 100644 (file)
@@ -294,6 +294,10 @@ git-check-attr(1) Manual Page
 </dd>\r
 </dl>\r
 </div>\r
+<h2>SEE ALSO</h2>\r
+<div class="sectionbody">\r
+<p><a href="gitattributes.html">gitattributes(5)</a>.</p>\r
+</div>\r
 <h2>Author</h2>\r
 <div class="sectionbody">\r
 <p>Written by Junio C Hamano &lt;junkio@cox.net&gt;</p>\r
@@ -308,7 +312,7 @@ git-check-attr(1) Manual Page
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 14-Nov-2007 12:11:23 UTC\r
+Last updated 23-Dec-2007 08:15:26 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 856d2af2ed9c1ccfcd819191060447b62e49b8b6..47cb1bdfa3d741a42c73d5234317ed68f1f90d5c 100644 (file)
@@ -23,6 +23,11 @@ OPTIONS
        be treated as an attribute.
 
 
+SEE ALSO
+--------
+gitlink:gitattributes[5].
+
+
 Author
 ------
 Written by Junio C Hamano <junkio@cox.net>
index 4aeeb38109c7d9063ac2beb3cab1dc0e1d31b8de..9103ec33a29b6ae1cdd8b3f2df94cd30cf1ddb38 100644 (file)
@@ -507,7 +507,8 @@ other
 <dd>\r
 <p>\r
         Similar to <tt>-t</tt>, but use lowercase letters for files\r
-        that are marked as <em>always matching index</em>.\r
+        that are marked as <em>assume unchanged</em> (see\r
+        <a href="git-update-index.html">git-update-index(1)</a>).\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -625,7 +626,7 @@ pattern file appears in.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 16-Nov-2007 10:10:40 UTC\r
+Last updated 23-Dec-2007 08:15:26 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 2ec0c0d270edde03adff3f56531e4cee5fe05a57..d0c3aa21d2faceaca7c6423987a0e649e7c4eda8 100644 (file)
@@ -105,7 +105,8 @@ OPTIONS
 
 -v::
        Similar to `-t`, but use lowercase letters for files
-       that are marked as 'always matching index'.
+       that are marked as 'assume unchanged' (see
+       gitlink:git-update-index[1]).
 
 --full-name::
        When run from a subdirectory, the command usually
index d075ef7692ec3fd2996c954edf4c4e72166e260d..209d0b33d433e3cb2e709231cdc022c3e6994734 100644 (file)
@@ -632,7 +632,8 @@ Resolve the conflicts.  <tt>git-diff</tt> would report only the
 </div>\r
 <h2>SEE ALSO</h2>\r
 <div class="sectionbody">\r
-<p><a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>, <a href="git-pull.html">git-pull(1)</a></p>\r
+<p><a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>, <a href="git-pull.html">git-pull(1)</a>,\r
+<a href="gitattributes.html">gitattributes(5)</a></p>\r
 </div>\r
 <h2>Author</h2>\r
 <div class="sectionbody">\r
@@ -648,7 +649,7 @@ Resolve the conflicts.  <tt>git-diff</tt> would report only the
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 14-Nov-2007 12:11:38 UTC\r
+Last updated 23-Dec-2007 08:15:27 UTC\r
 </div>\r
 </div>\r
 </body>\r
index eabd7ef33f6c01322fc3794341c8982573b516a4..1521a9ee0fec3a825bdbade4869012b7c3cf3bf7 100644 (file)
@@ -163,7 +163,8 @@ After seeing a conflict, you can do two things:
 
 SEE ALSO
 --------
-gitlink:git-fmt-merge-msg[1], gitlink:git-pull[1]
+gitlink:git-fmt-merge-msg[1], gitlink:git-pull[1],
+gitlink:gitattributes[5]
 
 
 Author
index 488ddc3ba644524e728eb654cc57983b05e88161..b53e571a76ba9513dedf2d167996bfacca67d4db 100644 (file)
@@ -599,10 +599,51 @@ String
 </p>\r
 </dd>\r
 </dl>\r
+<h4>Built-in merge drivers</h4>\r
+<p>There are a few built-in low-level merge drivers defined that\r
+can be asked for via the <tt>merge</tt> attribute.</p>\r
+<dl>\r
+<dt>\r
+text\r
+</dt>\r
+<dd>\r
+<p>\r
+        Usual 3-way file level merge for text files.  Conflicted\r
+        regions are marked with conflict markers <tt>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</tt>,\r
+        <tt>=======</tt> and <tt>&gt;&gt;&gt;&gt;&gt;&gt;&gt;</tt>.  The version from your branch\r
+        appears before the <tt>=======</tt> marker, and the version\r
+        from the merged branch appears after the <tt>=======</tt>\r
+        marker.\r
+</p>\r
+</dd>\r
+<dt>\r
+binary\r
+</dt>\r
+<dd>\r
+<p>\r
+        Keep the version from your branch in the work tree, but\r
+        leave the path in the conflicted state for the user to\r
+        sort out.\r
+</p>\r
+</dd>\r
+<dt>\r
+union\r
+</dt>\r
+<dd>\r
+<p>\r
+        Run 3-way file level merge for text files, but take\r
+        lines from both versions, instead of leaving conflict\r
+        markers.  This tends to leave the added lines in the\r
+        resulting file in random order and the user should\r
+        verify the result. Do not use this if you do not\r
+        understand the implications.\r
+</p>\r
+</dd>\r
+</dl>\r
 <h4>Defining a custom merge driver</h4>\r
-<p>The definition of a merge driver is done in <tt>gitconfig</tt> not\r
-<tt>gitattributes</tt> file, so strictly speaking this manual page is a\r
-wrong place to talk about it.  However&#8230;</p>\r
+<p>The definition of a merge driver is done in the <tt>.git/config</tt>\r
+file, not in the <tt>gitattributes</tt> file, so strictly speaking this\r
+manual page is a wrong place to talk about it.  However&#8230;</p>\r
 <p>To define a custom merge driver <tt>filfre</tt>, add a section to your\r
 <tt>$GIT_DIR/config</tt> file (or <tt>$HOME/.gitconfig</tt> file) like this:</p>\r
 <div class="listingblock">\r
@@ -746,7 +787,7 @@ commit hash.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 09-Dec-2007 10:19:08 UTC\r
+Last updated 23-Dec-2007 08:15:27 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 71c7ad76d57f5ce89206ccbc8f4c66cadd8f7743..cc9c7c52c006cb81987a996d65595d99653dfefe 100644 (file)
@@ -322,12 +322,43 @@ String::
        requested with "binary".
 
 
+Built-in merge drivers
+^^^^^^^^^^^^^^^^^^^^^^
+
+There are a few built-in low-level merge drivers defined that
+can be asked for via the `merge` attribute.
+
+text::
+
+       Usual 3-way file level merge for text files.  Conflicted
+       regions are marked with conflict markers `<<<<<<<`,
+       `=======` and `>>>>>>>`.  The version from your branch
+       appears before the `=======` marker, and the version
+       from the merged branch appears after the `=======`
+       marker.
+
+binary::
+
+       Keep the version from your branch in the work tree, but
+       leave the path in the conflicted state for the user to
+       sort out.
+
+union::
+
+       Run 3-way file level merge for text files, but take
+       lines from both versions, instead of leaving conflict
+       markers.  This tends to leave the added lines in the
+       resulting file in random order and the user should
+       verify the result. Do not use this if you do not
+       understand the implications.
+
+
 Defining a custom merge driver
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-The definition of a merge driver is done in `gitconfig` not
-`gitattributes` file, so strictly speaking this manual page is a
-wrong place to talk about it.  However...
+The definition of a merge driver is done in the `.git/config`
+file, not in the `gitattributes` file, so strictly speaking this
+manual page is a wrong place to talk about it.  However...
 
 To define a custom merge driver `filfre`, add a section to your
 `$GIT_DIR/config` file (or `$HOME/.gitconfig` file) like this:
diff --git a/gitcli.html b/gitcli.html
new file mode 100644 (file)
index 0000000..0a6bad1
--- /dev/null
@@ -0,0 +1,395 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
+<head>\r
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
+<meta name="generator" content="AsciiDoc 7.0.2" />\r
+<style type="text/css">\r
+/* Debug borders */\r
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
+/*\r
+  border: 1px solid red;\r
+*/\r
+}\r
+\r
+body {\r
+  margin: 1em 5% 1em 5%;\r
+}\r
+\r
+a { color: blue; }\r
+a:visited { color: fuchsia; }\r
+\r
+em {\r
+  font-style: italic;\r
+}\r
+\r
+strong {\r
+  font-weight: bold;\r
+}\r
+\r
+tt {\r
+  color: navy;\r
+}\r
+\r
+h1, h2, h3, h4, h5, h6 {\r
+  color: #527bbd;\r
+  font-family: sans-serif;\r
+  margin-top: 1.2em;\r
+  margin-bottom: 0.5em;\r
+  line-height: 1.3;\r
+}\r
+\r
+h1 {\r
+  border-bottom: 2px solid silver;\r
+}\r
+h2 {\r
+  border-bottom: 2px solid silver;\r
+  padding-top: 0.5em;\r
+}\r
+\r
+div.sectionbody {\r
+  font-family: serif;\r
+  margin-left: 0;\r
+}\r
+\r
+hr {\r
+  border: 1px solid silver;\r
+}\r
+\r
+p {\r
+  margin-top: 0.5em;\r
+  margin-bottom: 0.5em;\r
+}\r
+\r
+pre {\r
+  padding: 0;\r
+  margin: 0;\r
+}\r
+\r
+span#author {\r
+  color: #527bbd;\r
+  font-family: sans-serif;\r
+  font-weight: bold;\r
+  font-size: 1.2em;\r
+}\r
+span#email {\r
+}\r
+span#revision {\r
+  font-family: sans-serif;\r
+}\r
+\r
+div#footer {\r
+  font-family: sans-serif;\r
+  font-size: small;\r
+  border-top: 2px solid silver;\r
+  padding-top: 0.5em;\r
+  margin-top: 4.0em;\r
+}\r
+div#footer-text {\r
+  float: left;\r
+  padding-bottom: 0.5em;\r
+}\r
+div#footer-badges {\r
+  float: right;\r
+  padding-bottom: 0.5em;\r
+}\r
+\r
+div#preamble,\r
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,\r
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
+div.admonitionblock {\r
+  margin-right: 10%;\r
+  margin-top: 1.5em;\r
+  margin-bottom: 1.5em;\r
+}\r
+div.admonitionblock {\r
+  margin-top: 2.5em;\r
+  margin-bottom: 2.5em;\r
+}\r
+\r
+div.content { /* Block element content. */\r
+  padding: 0;\r
+}\r
+\r
+/* Block element titles. */\r
+div.title, caption.title {\r
+  font-family: sans-serif;\r
+  font-weight: bold;\r
+  text-align: left;\r
+  margin-top: 1.0em;\r
+  margin-bottom: 0.5em;\r
+}\r
+div.title + * {\r
+  margin-top: 0;\r
+}\r
+\r
+td div.title:first-child {\r
+  margin-top: 0.0em;\r
+}\r
+div.content div.title:first-child {\r
+  margin-top: 0.0em;\r
+}\r
+div.content + div.title {\r
+  margin-top: 0.0em;\r
+}\r
+\r
+div.sidebarblock > div.content {\r
+  background: #ffffee;\r
+  border: 1px solid silver;\r
+  padding: 0.5em;\r
+}\r
+\r
+div.listingblock > div.content {\r
+  border: 1px solid silver;\r
+  background: #f4f4f4;\r
+  padding: 0.5em;\r
+}\r
+\r
+div.quoteblock > div.content {\r
+  padding-left: 2.0em;\r
+}\r
+div.quoteblock .attribution {\r
+  text-align: right;\r
+}\r
+\r
+div.admonitionblock .icon {\r
+  vertical-align: top;\r
+  font-size: 1.1em;\r
+  font-weight: bold;\r
+  text-decoration: underline;\r
+  color: #527bbd;\r
+  padding-right: 0.5em;\r
+}\r
+div.admonitionblock td.content {\r
+  padding-left: 0.5em;\r
+  border-left: 2px solid silver;\r
+}\r
+\r
+div.exampleblock > div.content {\r
+  border-left: 2px solid silver;\r
+  padding: 0.5em;\r
+}\r
+\r
+div.verseblock div.content {\r
+  white-space: pre;\r
+}\r
+\r
+div.imageblock div.content { padding-left: 0; }\r
+div.imageblock img { border: 1px solid silver; }\r
+span.image img { border-style: none; }\r
+\r
+dl {\r
+  margin-top: 0.8em;\r
+  margin-bottom: 0.8em;\r
+}\r
+dt {\r
+  margin-top: 0.5em;\r
+  margin-bottom: 0;\r
+  font-style: italic;\r
+}\r
+dd > *:first-child {\r
+  margin-top: 0;\r
+}\r
+\r
+ul, ol {\r
+    list-style-position: outside;\r
+}\r
+ol.olist2 {\r
+  list-style-type: lower-alpha;\r
+}\r
+\r
+div.tableblock > table {\r
+  border-color: #527bbd;\r
+  border-width: 3px;\r
+}\r
+thead {\r
+  font-family: sans-serif;\r
+  font-weight: bold;\r
+}\r
+tfoot {\r
+  font-weight: bold;\r
+}\r
+\r
+div.hlist {\r
+  margin-top: 0.8em;\r
+  margin-bottom: 0.8em;\r
+}\r
+td.hlist1 {\r
+  vertical-align: top;\r
+  font-style: italic;\r
+  padding-right: 0.8em;\r
+}\r
+td.hlist2 {\r
+  vertical-align: top;\r
+}\r
+\r
+@media print {\r
+  div#footer-badges { display: none; }\r
+}\r
+include::./stylesheets/xhtml11-manpage.css[]\r
+/* Workarounds for IE6's broken and incomplete CSS2. */\r
+\r
+div.sidebar-content {\r
+  background: #ffffee;\r
+  border: 1px solid silver;\r
+  padding: 0.5em;\r
+}\r
+div.sidebar-title, div.image-title {\r
+  font-family: sans-serif;\r
+  font-weight: bold;\r
+  margin-top: 0.0em;\r
+  margin-bottom: 0.5em;\r
+}\r
+\r
+div.listingblock div.content {\r
+  border: 1px solid silver;\r
+  background: #f4f4f4;\r
+  padding: 0.5em;\r
+}\r
+\r
+div.quoteblock-content {\r
+  padding-left: 2.0em;\r
+}\r
+\r
+div.exampleblock-content {\r
+  border-left: 2px solid silver;\r
+  padding-left: 0.5em;\r
+}\r
+</style>\r
+<title>gitcli(5)</title>\r
+</head>\r
+<body>\r
+<div id="header">\r
+<h1>\r
+gitcli(5) Manual Page\r
+</h1>\r
+<h2>NAME</h2>\r
+<div class="sectionbody">\r
+<p>gitcli -\r
+   git command line interface and conventions\r
+</p>\r
+</div>\r
+</div>\r
+<h2>SYNOPSIS</h2>\r
+<div class="sectionbody">\r
+<p>gitcli</p>\r
+</div>\r
+<h2>DESCRIPTION</h2>\r
+<div class="sectionbody">\r
+<p>This manual describes best practice in how to use git CLI.  Here are\r
+the rules that you should follow when you are scripting git:</p>\r
+<ul>\r
+<li>\r
+<p>\r
+it's preferred to use the non dashed form of git commands, which means that\r
+   you should prefer <tt>"git foo"</tt> to <tt>"git-foo"</tt>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+splitting short options to separate words (prefer <tt>"git foo -a -b"</tt>\r
+   to <tt>"git foo -ab"</tt>, the latter may not even work).\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+when a command line option takes an argument, use the <em>sticked</em> form.  In\r
+   other words, write <tt>"git foo -oArg"</tt> instead of <tt>"git foo -o Arg"</tt> for short\r
+   options, and <tt>"git foo --long-opt=Arg"</tt> instead of <tt>"git foo --long-opt Arg"</tt>\r
+   for long options.  An option that takes optional option-argument must be\r
+   written in the <em>sticked</em> form.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+when you give a revision parameter to a command, make sure the parameter is\r
+   not ambiguous with a name of a file in the work tree.  E.g. do not write\r
+   <tt>"git log -1 HEAD"</tt> but write <tt>"git log -1 HEAD --"</tt>; the former will not work\r
+   if you happen to have a file called <tt>HEAD</tt> in the work tree.\r
+</p>\r
+</li>\r
+</ul>\r
+</div>\r
+<h2>ENHANCED CLI</h2>\r
+<div class="sectionbody">\r
+<p>From the git 1.5.4 series and further, many git commands (not all of them at the\r
+time of the writing though) come with an enhanced option parser.</p>\r
+<p>Here is an exhaustive list of the facilities provided by this option parser.</p>\r
+<h3>Magic Options</h3>\r
+<p>Commands which have the enhanced option parser activated all understand a\r
+couple of magic command line options:</p>\r
+<dl>\r
+<dt>\r
+-h\r
+</dt>\r
+<dd>\r
+<p>\r
+        gives a pretty printed usage of the command.\r
+</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>$ git describe -h\r
+usage: git-describe [options] &lt;committish&gt;*\r
+\r
+    --contains            find the tag that comes after the commit\r
+    --debug               debug search strategy on stderr\r
+    --all                 use any ref in .git/refs\r
+    --tags                use any tag in .git/refs/tags\r
+    --abbrev [&lt;n&gt;]        use &lt;n&gt; digits to display SHA-1s\r
+    --candidates &lt;n&gt;      consider &lt;n&gt; most recent tags (default: 10)</tt></pre>\r
+</div></div>\r
+</dd>\r
+<dt>\r
+--help-all\r
+</dt>\r
+<dd>\r
+<p>\r
+        Some git commands take options that are only used for plumbing or that\r
+        are deprecated, and such options are hidden from the default usage. This\r
+        option gives the full list of options.\r
+</p>\r
+</dd>\r
+</dl>\r
+<h3>Negating options</h3>\r
+<p>Options with long option names can be negated by prefixing <tt>"--no-"</tt>. For\r
+example, <tt>"git branch"</tt> has the option <tt>"--track"</tt> which is <em>on</em> by default. You\r
+can use <tt>"--no-track"</tt> to override that behaviour. The same goes for <tt>"--color"</tt>\r
+and <tt>"--no-color"</tt>.</p>\r
+<h3>Aggregating short options</h3>\r
+<p>Commands that support the enhanced option parser allow you to aggregate short\r
+options. This means that you can for example use <tt>"git rm -rf"</tt> or\r
+<tt>"git clean -fdx"</tt>.</p>\r
+<h3>Separating argument from the option</h3>\r
+<p>You can write the mandatory option parameter to an option as a separate\r
+word on the command line.  That means that all the following uses work:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>$ git foo --long-opt=Arg\r
+$ git foo --long-opt Arg\r
+$ git foo -oArg\r
+$ git foo -o Arg</tt></pre>\r
+</div></div>\r
+<p>However, this is <strong>NOT</strong> allowed for switches with an optionnal value, where the\r
+<em>sticked</em> form must be used:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>$ git describe --abbrev HEAD     # correct\r
+$ git describe --abbrev=10 HEAD  # correct\r
+$ git describe --abbrev 10 HEAD  # NOT WHAT YOU MEANT</tt></pre>\r
+</div></div>\r
+</div>\r
+<h2>Documentation</h2>\r
+<div class="sectionbody">\r
+<p>Documentation by Pierre Habouzit.</p>\r
+</div>\r
+<h2>GIT</h2>\r
+<div class="sectionbody">\r
+<p>Part of the <a href="git.html">git(7)</a> suite</p>\r
+</div>\r
+<div id="footer">\r
+<div id="footer-text">\r
+Last updated 23-Dec-2007 08:15:28 UTC\r
+</div>\r
+</div>\r
+</body>\r
+</html>\r
diff --git a/gitcli.txt b/gitcli.txt
new file mode 100644 (file)
index 0000000..b7dcf9c
--- /dev/null
@@ -0,0 +1,113 @@
+gitcli(5)
+=========
+
+NAME
+----
+gitcli - git command line interface and conventions
+
+SYNOPSIS
+--------
+gitcli
+
+
+DESCRIPTION
+-----------
+
+This manual describes best practice in how to use git CLI.  Here are
+the rules that you should follow when you are scripting git:
+
+ * it's preferred to use the non dashed form of git commands, which means that
+   you should prefer `"git foo"` to `"git-foo"`.
+
+ * splitting short options to separate words (prefer `"git foo -a -b"`
+   to `"git foo -ab"`, the latter may not even work).
+
+ * when a command line option takes an argument, use the 'sticked' form.  In
+   other words, write `"git foo -oArg"` instead of `"git foo -o Arg"` for short
+   options, and `"git foo --long-opt=Arg"` instead of `"git foo --long-opt Arg"`
+   for long options.  An option that takes optional option-argument must be
+   written in the 'sticked' form.
+
+ * when you give a revision parameter to a command, make sure the parameter is
+   not ambiguous with a name of a file in the work tree.  E.g. do not write
+   `"git log -1 HEAD"` but write `"git log -1 HEAD --"`; the former will not work
+   if you happen to have a file called `HEAD` in the work tree.
+
+
+ENHANCED CLI
+------------
+From the git 1.5.4 series and further, many git commands (not all of them at the
+time of the writing though) come with an enhanced option parser.
+
+Here is an exhaustive list of the facilities provided by this option parser.
+
+
+Magic Options
+~~~~~~~~~~~~~
+Commands which have the enhanced option parser activated all understand a
+couple of magic command line options:
+
+-h::
+       gives a pretty printed usage of the command.
++
+---------------------------------------------
+$ git describe -h
+usage: git-describe [options] <committish>*
+
+    --contains            find the tag that comes after the commit
+    --debug               debug search strategy on stderr
+    --all                 use any ref in .git/refs
+    --tags                use any tag in .git/refs/tags
+    --abbrev [<n>]        use <n> digits to display SHA-1s
+    --candidates <n>      consider <n> most recent tags (default: 10)
+---------------------------------------------
+
+--help-all::
+       Some git commands take options that are only used for plumbing or that
+       are deprecated, and such options are hidden from the default usage. This
+       option gives the full list of options.
+
+
+Negating options
+~~~~~~~~~~~~~~~~
+Options with long option names can be negated by prefixing `"--no-"`. For
+example, `"git branch"` has the option `"--track"` which is 'on' by default. You
+can use `"--no-track"` to override that behaviour. The same goes for `"--color"`
+and `"--no-color"`.
+
+
+Aggregating short options
+~~~~~~~~~~~~~~~~~~~~~~~~~
+Commands that support the enhanced option parser allow you to aggregate short
+options. This means that you can for example use `"git rm -rf"` or
+`"git clean -fdx"`.
+
+
+Separating argument from the option
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+You can write the mandatory option parameter to an option as a separate
+word on the command line.  That means that all the following uses work:
+
+----------------------------
+$ git foo --long-opt=Arg
+$ git foo --long-opt Arg
+$ git foo -oArg
+$ git foo -o Arg
+----------------------------
+
+However, this is *NOT* allowed for switches with an optionnal value, where the
+'sticked' form must be used:
+----------------------------
+$ git describe --abbrev HEAD     # correct
+$ git describe --abbrev=10 HEAD  # correct
+$ git describe --abbrev 10 HEAD  # NOT WHAT YOU MEANT
+----------------------------
+
+
+Documentation
+-------------
+Documentation by Pierre Habouzit.
+
+GIT
+---
+Part of the gitlink:git[7] suite