git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[RFC PATCH v1 09/13] doc: typeset command/option/value entries in monospace

From
Firmin Martin <firminmartin24@gmail.com>
Date
Apr 9, 2021, 04:02 UTC
Message-ID
<20210409040301.3260358-10-firminmartin24@gmail.com>
In-Reply-To
<20210409040301.3260358-1-firminmartin24@gmail.com>

Automatically wrap command-line option entries (i.e. something of the form <entry>[::|;;]<description>) with backticks as indicated in the CodingGuidelines. As an intended side effect, also wrap with backticks some configuration options and values entries.

The following command and regex has performed the whole substitution (without manual intervention).

    REGEX="^([[:space:]]*?)[\"']?([][a-zA-Z-=<>]+)[\"']?(::|;;)([[:space:]]+|\$)" &&
    perl -pi -e "s/$REGEX/\$1\`\$2\`\$3\$4/g" $(grep -Pl "$REGEX" *.txt --exclude-dir=RelNotes)
Signed-off-by: Firmin Martin <firminmartin24@gmail.com>
---
 Documentation/blame-options.txt          |  30 +--
 Documentation/config.txt                 |  12 +-
 Documentation/diff-options.txt           | 222 +++++++++++------------
 Documentation/fetch-options.txt          |  88 ++++-----
 Documentation/git-add.txt                |  66 +++----
 Documentation/git-am.txt                 |  82 ++++-----
 Documentation/git-apply.txt              |  60 +++---
 Documentation/git-archimport.txt         |  12 +-
 Documentation/git-archive.txt            |  30 +--
 Documentation/git-bisect.txt             |   4 +-
 Documentation/git-blame.txt              |  22 +--
 Documentation/git-branch.txt             |  88 ++++-----
 Documentation/git-bundle.txt             |  14 +-
 Documentation/git-cat-file.txt           |  36 ++--
 Documentation/git-check-attr.txt         |  14 +-
 Documentation/git-check-ignore.txt       |   6 +-
 Documentation/git-check-mailmap.txt      |   2 +-
 Documentation/git-check-ref-format.txt   |   6 +-
 Documentation/git-checkout-index.txt     |  28 +--
 Documentation/git-checkout.txt           |  66 +++----
 Documentation/git-cherry-pick.txt        |  42 ++---
 Documentation/git-cherry.txt             |   8 +-
 Documentation/git-clean.txt              |  30 +--
 Documentation/git-clone.txt              |  58 +++---
 Documentation/git-commit-graph.txt       |   8 +-
 Documentation/git-commit-tree.txt        |   8 +-
 Documentation/git-commit.txt             | 106 +++++------
 Documentation/git-config.txt             |  60 +++---
 Documentation/git-count-objects.txt      |   8 +-
 Documentation/git-cvsexportcommit.txt    |  24 +--
 Documentation/git-cvsimport.txt          |  16 +-
 Documentation/git-cvsserver.txt          |  16 +-
 Documentation/git-daemon.txt             |  66 +++----
 Documentation/git-describe.txt           |  24 +--
 Documentation/git-diff-files.txt         |   6 +-
 Documentation/git-diff-index.txt         |   8 +-
 Documentation/git-diff-tree.txt          |  28 +--
 Documentation/git-difftool.txt           |  28 +--
 Documentation/git-fast-export.txt        |  28 +--
 Documentation/git-fast-import.txt        |  56 +++---
 Documentation/git-fetch-pack.txt         |  36 ++--
 Documentation/git-fetch.txt              |  12 +-
 Documentation/git-filter-branch.txt      |   6 +-
 Documentation/git-fmt-merge-msg.txt      |   6 +-
 Documentation/git-for-each-ref.txt       |  54 +++---
 Documentation/git-format-patch.txt       |  86 ++++-----
 Documentation/git-fsck.txt               |  28 +--
 Documentation/git-gc.txt                 |  14 +-
 Documentation/git-grep.txt               | 126 ++++++-------
 Documentation/git-gui.txt                |   8 +-
 Documentation/git-hash-object.txt        |  12 +-
 Documentation/git-help.txt               |  26 +--
 Documentation/git-http-backend.txt       |   2 +-
 Documentation/git-http-fetch.txt         |  12 +-
 Documentation/git-http-push.txt          |  12 +-
 Documentation/git-imap-send.txt          |  12 +-
 Documentation/git-index-pack.txt         |  24 +--
 Documentation/git-init.txt               |  10 +-
 Documentation/git-instaweb.txt           |  32 ++--
 Documentation/git-interpret-trailers.txt |  20 +-
 Documentation/git-log.txt                |  18 +-
 Documentation/git-ls-files.txt           |  82 ++++-----
 Documentation/git-ls-remote.txt          |  28 +--
 Documentation/git-ls-tree.txt            |  24 +--
 Documentation/git-mailinfo.txt           |  22 +--
 Documentation/git-mailsplit.txt          |  16 +-
 Documentation/git-maintenance.txt        |  30 +--
 Documentation/git-merge-base.txt         |  12 +-
 Documentation/git-merge-file.txt         |  10 +-
 Documentation/git-merge-index.txt        |   6 +-
 Documentation/git-merge.txt              |  16 +-
 Documentation/git-mergetool.txt          |  18 +-
 Documentation/git-mktag.txt              |   2 +-
 Documentation/git-mktree.txt             |   6 +-
 Documentation/git-multi-pack-index.txt   |  14 +-
 Documentation/git-mv.txt                 |  14 +-
 Documentation/git-name-rev.txt           |  16 +-
 Documentation/git-notes.txt              |  56 +++---
 Documentation/git-p4.txt                 |  38 ++--
 Documentation/git-pack-objects.txt       |  74 ++++----
 Documentation/git-pack-redundant.txt     |   6 +-
 Documentation/git-pack-refs.txt          |   4 +-
 Documentation/git-patch-id.txt           |   4 +-
 Documentation/git-prune-packed.txt       |   8 +-
 Documentation/git-prune.txt              |  10 +-
 Documentation/git-pull.txt               |  12 +-
 Documentation/git-push.txt               |  76 ++++----
 Documentation/git-quiltimport.txt        |   6 +-
 Documentation/git-range-diff.txt         |  10 +-
 Documentation/git-read-tree.txt          |  34 ++--
 Documentation/git-rebase.txt             | 114 ++++++------
 Documentation/git-reflog.txt             |  20 +-
 Documentation/git-remote.txt             |  26 +--
 Documentation/git-repack.txt             |  48 ++---
 Documentation/git-replace.txt            |  14 +-
 Documentation/git-request-pull.txt       |   8 +-
 Documentation/git-rerere.txt             |  10 +-
 Documentation/git-reset.txt              |  22 +--
 Documentation/git-restore.txt            |  48 ++---
 Documentation/git-rev-parse.txt          |  82 ++++-----
 Documentation/git-revert.txt             |  32 ++--
 Documentation/git-rm.txt                 |  22 +--
 Documentation/git-send-email.txt         |  84 ++++-----
 Documentation/git-send-pack.txt          |  26 +--
 Documentation/git-sh-i18n.txt            |   2 +-
 Documentation/git-sh-setup.txt           |   4 +-
 Documentation/git-shortlog.txt           |  20 +-
 Documentation/git-show-branch.txt        |  38 ++--
 Documentation/git-show-ref.txt           |  24 +--
 Documentation/git-sparse-checkout.txt    |  12 +-
 Documentation/git-stash.txt              |  40 ++--
 Documentation/git-status.txt             |  42 ++---
 Documentation/git-stripspace.txt         |   8 +-
 Documentation/git-submodule.txt          |  56 +++---
 Documentation/git-svn.txt                | 150 +++++++--------
 Documentation/git-switch.txt             |  46 ++---
 Documentation/git-symbolic-ref.txt       |  12 +-
 Documentation/git-tag.txt                |  62 +++----
 Documentation/git-unpack-objects.txt     |  10 +-
 Documentation/git-update-index.txt       |  62 +++----
 Documentation/git-update-ref.txt         |  18 +-
 Documentation/git-upload-pack.txt        |  10 +-
 Documentation/git-var.txt                |   2 +-
 Documentation/git-verify-commit.txt      |   6 +-
 Documentation/git-verify-pack.txt        |   8 +-
 Documentation/git-verify-tag.txt         |   6 +-
 Documentation/git-worktree.txt           |  44 ++---
 Documentation/git-write-tree.txt         |   2 +-
 Documentation/git.txt                    |  66 +++----
 Documentation/gitattributes.txt          |  42 ++---
 Documentation/gitcli.txt                 |   4 +-
 Documentation/gitcore-tutorial.txt       |   2 +-
 Documentation/gitcredentials.txt         |  10 +-
 Documentation/githooks.txt               |   2 +-
 Documentation/gitk.txt                   |  28 +--
 Documentation/gitmodules.txt             |   8 +-
 Documentation/gitremote-helpers.txt      |  38 ++--
 Documentation/gitrepository-layout.txt   |  32 ++--
 Documentation/gitweb.conf.txt            |  34 ++--
 Documentation/gitweb.txt                 |  44 ++---
 Documentation/glossary-content.txt       |  12 +-
 Documentation/merge-options.txt          |  70 +++----
 Documentation/merge-strategies.txt       |  36 ++--
 Documentation/pretty-options.txt         |  28 +--
 Documentation/rev-list-options.txt       | 204 ++++++++++-----------
 Documentation/sequencer.txt              |   8 +-
 Documentation/signoff-option.txt         |   6 +-
 147 files changed, 2320 insertions(+), 2320 deletions(-)
diff --git a/Documentation/blame-options.txt b/Documentation/blame-options.txt
index 1d36a176bb..c58d30a648 100644
--- a/Documentation/blame-options.txt
+++ b/Documentation/blame-options.txt
@@ -1,12 +1,12 @@
--b::
+`-b`::
 	Show blank SHA-1 for boundary commits.  This can also
 	be controlled via the `blame.blankBoundary` config option.
 
---root::
+`--root`::
 	Do not treat root commits as boundaries.  This can also be
 	controlled via the `blame.showRoot` config option.
 
---show-stats::
+`--show-stats`::
 	Include additional statistics at the end of blame output.
 
 -L <start>,<end>::
@@ -20,10 +20,10 @@
 +
 include::line-range-format.txt[]
 
--l::
+`-l`::
 	Show long rev (Default: off).
 
--t::
+`-t`::
 	Show raw timestamp (Default: off).
 
 -S <revs-file>::
@@ -37,26 +37,26 @@ include::line-range-format.txt[]
 	START.  `git blame --reverse START` is taken as `git blame
 	--reverse START..HEAD` for convenience.
 
---first-parent::
+`--first-parent`::
 	Follow only the first parent commit upon seeing a merge
 	commit. This option can be used to determine when a line
 	was introduced to a particular integration branch, rather
 	than when it was introduced to the history overall.
 
--p::
---porcelain::
+`-p`::
+`--porcelain`::
 	Show in a format designed for machine consumption.
 
---line-porcelain::
+`--line-porcelain`::
 	Show the porcelain format, but output commit information for
 	each line, not just the first time a commit is referenced.
 	Implies `--porcelain`.
 
---incremental::
+`--incremental`::
 	Show the result incrementally in a format designed for
 	machine consumption.
 
---encoding=<encoding>::
+`--encoding=<encoding>`::
 	Specifies the encoding used to output author names
 	and commit summaries. Setting it to `none` makes blame
 	output unconverted data. For more information see the
@@ -77,14 +77,14 @@ include::line-range-format.txt[]
 	iso format is used. For supported values, see the discussion
 	of the `--date` option at linkgit:git-log[1].
 
---[no-]progress::
+`--[no-]progress`::
 	Progress status is reported on the standard error stream
 	by default when it is attached to a terminal. This flag
 	enables progress reporting even if not attached to a
 	terminal. Can't use `--progress` together with `--porcelain`
 	or `--incremental`.
 
--M[<num>]::
+`-M[<num>]`::
 	Detect moved or copied lines within a file. When a commit
 	moves or copies a block of lines (e.g. the original file
 	has A and then B, and the commit changes it to B and then
@@ -100,7 +100,7 @@ alphanumeric characters that Git must detect as moving/copying
 within a file for it to associate those lines with the parent
 commit. The default value is 20.
 
--C[<num>]::
+`-C[<num>]`::
 	In addition to `-M`, detect lines moved or copied from other
 	files that were modified in the same commit.  This is
 	useful when you reorganize your program and move code
@@ -136,5 +136,5 @@ take effect.
 	option.  An empty file name, `""`, will clear the list of revs from
 	previously processed files.
 
--h::
+`-h`::
 	Show help message.
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 68529ad9db..6f83ce52a2 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -235,29 +235,29 @@ Values of many variables are treated as a simple string, but there
 are variables that take values of specific types and there are rules
 as to how to spell them.
 
-boolean::
+`boolean`::
 
        When a variable is said to take a boolean value, many
        synonyms are accepted for 'true' and 'false'; these are all
        case-insensitive.
 
-	true;; Boolean true literals are `yes`, `on`, `true`,
+	`true`;; Boolean true literals are `yes`, `on`, `true`,
 		and `1`.  Also, a variable defined without `= <value>`
 		is taken as true.
 
-	false;; Boolean false literals are `no`, `off`, `false`,
+	`false`;; Boolean false literals are `no`, `off`, `false`,
 		`0` and the empty string.
 +
 When converting a value to its canonical form using the `--type=bool` type
 specifier, `git config` will ensure that the output is "true" or
 "false" (spelled in lowercase).
 
-integer::
+`integer`::
        The value for many variables that specify various sizes can
        be suffixed with `k`, `M`,... to mean "scale the number by
        1024", "by 1024x1024", etc.
 
-color::
+`color`::
        The value for a variable that takes a color is a list of
        colors (at most two, one for foreground and one for background)
        and attributes (as many as you want), separated by spaces.
@@ -292,7 +292,7 @@ output) is set to be painted with `bold` or some other attribute.
 However, custom log formats may do more complicated and layered
 coloring, and the negated forms may be useful there.
 
-pathname::
+`pathname`::
 	A variable that takes a pathname value can be given a
 	string that begins with "`~/`" or "`~user/`", and the usual
 	tilde expansion happens to such a string: `~/`
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
index 34570aa445..1b594732aa 100644
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -13,29 +13,29 @@ endif::git-diff[]
 endif::git-format-patch[]
 
 ifdef::git-format-patch[]
--p::
---no-stat::
+`-p`::
+`--no-stat`::
 	Generate plain patches without any diffstats.
 endif::git-format-patch[]
 
 ifndef::git-format-patch[]
--p::
--u::
---patch::
+`-p`::
+`-u`::
+`--patch`::
 	Generate patch (see section on generating patches).
 ifdef::git-diff[]
 	This is the default.
 endif::git-diff[]
 
--s::
---no-patch::
+`-s`::
+`--no-patch`::
 	Suppress diff output. Useful for commands like `git show` that
 	show the patch by default, or to cancel the effect of `--patch`.
 endif::git-format-patch[]
 
 ifdef::git-log[]
 --diff-merges=(off|none|first-parent|1|separate|m|combined|c|dense-combined|cc)::
---no-diff-merges::
+`--no-diff-merges`::
 	Specify diff format to be used for merge commits. Default is
 	{diff-merges-default} unless `--first-parent` is in use, in which case
 	`first-parent` is the default.
@@ -76,7 +76,7 @@ ifdef::git-log[]
 	two variants and the merge result picks one of them without
 	modification.  `--cc` implies `-p`.
 
---combined-all-paths::
+`--combined-all-paths`::
 	This flag causes combined diffs (used for merge commits) to
 	list the name of the file from all parents.  It thus only has
 	effect when `--diff-merges=[dense-]combined` is in use, and
@@ -84,26 +84,26 @@ ifdef::git-log[]
 	when either rename or copy detection have been requested).
 endif::git-log[]
 
--U<n>::
---unified=<n>::
+`-U<n>`::
+`--unified=<n>`::
 	Generate diffs with <n> lines of context instead of
 	the usual three.
 ifndef::git-format-patch[]
 	Implies `--patch`.
 endif::git-format-patch[]
 
---output=<file>::
+`--output=<file>`::
 	Output to a specific file instead of stdout.
 
---output-indicator-new=<char>::
---output-indicator-old=<char>::
---output-indicator-context=<char>::
+`--output-indicator-new=<char>`::
+`--output-indicator-old=<char>`::
+`--output-indicator-context=<char>`::
 	Specify the character used to indicate new, old or context
 	lines in the generated patch. Normally they are '+', '-' and
 	' ' respectively.
 
 ifndef::git-format-patch[]
---raw::
+`--raw`::
 ifndef::git-log[]
 	Generate the diff in raw format.
 ifdef::git-diff-core[]
@@ -120,33 +120,33 @@ endif::git-log[]
 endif::git-format-patch[]
 
 ifndef::git-format-patch[]
---patch-with-raw::
+`--patch-with-raw`::
 	Synonym for `-p --raw`.
 endif::git-format-patch[]
 
 ifdef::git-log[]
--t::
+`-t`::
 	Show the tree objects in the diff output.
 endif::git-log[]
 
---indent-heuristic::
+`--indent-heuristic`::
 	Enable the heuristic that shifts diff hunk boundaries to make patches
 	easier to read. This is the default.
 
---no-indent-heuristic::
+`--no-indent-heuristic`::
 	Disable the indent heuristic.
 
---minimal::
+`--minimal`::
 	Spend extra time to make sure the smallest possible
 	diff is produced.
 
---patience::
+`--patience`::
 	Generate a diff using the "patience diff" algorithm.
 
---histogram::
+`--histogram`::
 	Generate a diff using the "histogram diff" algorithm.
 
---anchored=<text>::
+`--anchored=<text>`::
 	Generate a diff using the "anchored diff" algorithm.
 +
 This option may be specified more than once.
@@ -194,7 +194,7 @@ have to use `--diff-algorithm=default` option.
 These parameters can also be set individually with `--stat-width=<width>`,
 `--stat-name-width=<name-width>` and `--stat-count=<count>`.
 
---compact-summary::
+`--compact-summary`::
 	Output a condensed summary of extended header information such
 	as file creations or deletions ("new" or "gone", optionally "+l"
 	if it's a symlink) and mode changes ("+x" or "-x" for adding
@@ -202,14 +202,14 @@ These parameters can also be set individually with `--stat-width=<width>`,
 	information is put between the filename part and the graph
 	part. Implies `--stat`.
 
---numstat::
+`--numstat`::
 	Similar to `--stat`, but shows number of added and
 	deleted lines in decimal notation and pathname without
 	abbreviation, to make it more machine friendly.  For
 	binary files, outputs two `-` instead of saying
 	`0 0`.
 
---shortstat::
+`--shortstat`::
 	Output only the last line of the `--stat` format containing total
 	number of modified files, as well as number of added and deleted
 	lines.
@@ -248,7 +248,7 @@ These parameters can also be set individually with `--stat-width=<width>`,
 	Note that when using `cumulative`, the sum of the percentages
 	reported may exceed 100%. The default (non-cumulative) behavior can
 	be specified with the `noncumulative` parameter.
-<limit>;;
+`<limit>`;;
 	An integer parameter specifies a cut-off percent (3% by default).
 	Directories contributing less than this percentage of the changes
 	are not shown in the output.
@@ -259,24 +259,24 @@ directories with less than 10% of the total amount of changed files,
 and accumulating child directory counts in the parent directories:
 `--dirstat=files,10,cumulative`.
 
---cumulative::
+`--cumulative`::
 	Synonym for --dirstat=cumulative
 
 --dirstat-by-file[=<param1,param2>...]::
 	Synonym for --dirstat=files,param1,param2...
 
---summary::
+`--summary`::
 	Output a condensed summary of extended header information
 	such as creations, renames and mode changes.
 
 ifndef::git-format-patch[]
---patch-with-stat::
+`--patch-with-stat`::
 	Synonym for `-p --stat`.
 endif::git-format-patch[]
 
 ifndef::git-format-patch[]
 
--z::
+`-z`::
 ifdef::git-log[]
 	Separate the commits with NULs instead of with new newlines.
 +
@@ -292,14 +292,14 @@ Without this option, pathnames with "unusual" characters are quoted as
 explained for the configuration variable `core.quotePath` (see
 linkgit:git-config[1]).
 
---name-only::
+`--name-only`::
 	Show only names of changed files.
 
---name-status::
+`--name-status`::
 	Show only names and status of changed files. See the description
 	of the `--diff-filter` option on what the status letters mean.
 
---submodule[=<format>]::
+`--submodule[=<format>]`::
 	Specify how differences in submodules are shown.  When specifying
 	`--submodule=short` the 'short' format is used.  This format just
 	shows the names of the commits at the beginning and end of the range.
@@ -311,7 +311,7 @@ linkgit:git-config[1]).
 	commit range.  Defaults to `diff.submodule` or the 'short' format
 	if the config option is unset.
 
---color[=<when>]::
+`--color[=<when>]`::
 	Show colored diff.
 	`--color` (i.e. without '=<when>') is the same as `--color=always`.
 	'<when>' can be one of `always`, `never`, or `auto`.
@@ -320,14 +320,14 @@ ifdef::git-diff[]
 	configuration settings.
 endif::git-diff[]
 
---no-color::
+`--no-color`::
 	Turn off colored diff.
 ifdef::git-diff[]
 	This can be used to override configuration settings.
 endif::git-diff[]
 	It is the same as `--color=never`.
 
---color-moved[=<mode>]::
+`--color-moved[=<mode>]`::
 	Moved lines of code are colored differently.
 ifdef::git-diff[]
 	It can be changed by the `diff.colorMoved` configuration setting.
@@ -337,40 +337,40 @@ endif::git-diff[]
 	The mode must be one of:
 +
 --
-no::
+`no`::
 	Moved lines are not highlighted.
-default::
+`default`::
 	Is a synonym for `zebra`. This may change to a more sensible mode
 	in the future.
-plain::
+`plain`::
 	Any line that is added in one location and was removed
 	in another location will be colored with `color.diff.newMoved`.
 	Similarly `color.diff.oldMoved` will be used for removed lines
 	that are added somewhere else in the diff. This mode picks up any
 	moved line, but it is not very useful in a review to determine
 	if a block of code was moved without permutation.
-blocks::
+`blocks`::
 	Blocks of moved text of at least 20 alphanumeric characters
 	are detected greedily. The detected blocks are
 	painted using either the `color.diff.{old,new}Moved` color.
 	Adjacent blocks cannot be told apart.
-zebra::
+`zebra`::
 	Blocks of moved text are detected as in 'blocks' mode. The blocks
 	are painted using either the `color.diff.{old,new}Moved` color or
 	`color.diff.{old,new}MovedAlternative`. The change between
 	the two colors indicates that a new block was detected.
-dimmed-zebra::
+`dimmed-zebra`::
 	Similar to 'zebra', but additional dimming of uninteresting parts
 	of moved code is performed. The bordering lines of two adjacent
 	blocks are considered interesting, the rest is uninteresting.
 	`dimmed_zebra` is a deprecated synonym.
 --
 
---no-color-moved::
+`--no-color-moved`::
 	Turn off move detection. This can be used to override configuration
 	settings. It is the same as `--color-moved=no`.
 
---color-moved-ws=<modes>::
+`--color-moved-ws=<modes>`::
 	This configures how whitespace is ignored when performing the
 	move detection for `--color-moved`.
 ifdef::git-diff[]
@@ -379,57 +379,57 @@ endif::git-diff[]
 	These modes can be given as a comma separated list:
 +
 --
-no::
+`no`::
 	Do not ignore whitespace when performing move detection.
-ignore-space-at-eol::
+`ignore-space-at-eol`::
 	Ignore changes in whitespace at EOL.
-ignore-space-change::
+`ignore-space-change`::
 	Ignore changes in amount of whitespace.  This ignores whitespace
 	at line end, and considers all other sequences of one or
 	more whitespace characters to be equivalent.
-ignore-all-space::
+`ignore-all-space`::
 	Ignore whitespace when comparing lines. This ignores differences
 	even if one line has whitespace where the other line has none.
-allow-indentation-change::
+`allow-indentation-change`::
 	Initially ignore any whitespace in the move detection, then
 	group the moved code blocks only into a block if the change in
 	whitespace is the same per line. This is incompatible with the
 	other modes.
 --
 
---no-color-moved-ws::
+`--no-color-moved-ws`::
 	Do not ignore whitespace when performing move detection. This can be
 	used to override configuration settings. It is the same as
 	`--color-moved-ws=no`.
 
---word-diff[=<mode>]::
+`--word-diff[=<mode>]`::
 	Show a word diff, using the <mode> to delimit changed words.
 	By default, words are delimited by whitespace; see
 	`--word-diff-regex` below.  The <mode> defaults to 'plain', and
 	must be one of:
 +
 --
-color::
+`color`::
 	Highlight changed words using only colors.  Implies `--color`.
-plain::
+`plain`::
 	Show words as `[-removed-]` and `{+added+}`.  Makes no
 	attempts to escape the delimiters if they appear in the input,
 	so the output may be ambiguous.
-porcelain::
+`porcelain`::
 	Use a special line-based format intended for script
 	consumption.  Added/removed/unchanged runs are printed in the
 	usual unified diff format, starting with a `+`/`-`/` `
 	character at the beginning of the line and extending to the
 	end of the line.  Newlines in the input are represented by a
 	tilde `~` on a line of its own.
-none::
+`none`::
 	Disable word diff again.
 --
 +
 Note that despite the name of the first mode, color is used to
 highlight the changed parts in all modes if enabled.
 
---word-diff-regex=<regex>::
+`--word-diff-regex=<regex>`::
 	Use <regex> to decide what a word is, instead of considering
 	runs of non-whitespace to be a word.  Also implies
 	`--word-diff` unless it was already enabled.
@@ -450,20 +450,20 @@ linkgit:gitattributes[5] or linkgit:git-config[1].  Giving it explicitly
 overrides any diff driver or configuration setting.  Diff drivers
 override configuration settings.
 
---color-words[=<regex>]::
+`--color-words[=<regex>]`::
 	Equivalent to `--word-diff=color` plus (if a regex was
 	specified) `--word-diff-regex=<regex>`.
 endif::git-format-patch[]
 
---no-renames::
+`--no-renames`::
 	Turn off rename detection, even when the configuration
 	file gives the default to do so.
 
---[no-]rename-empty::
+`--[no-]rename-empty`::
 	Whether to use empty blobs as rename source.
 
 ifndef::git-format-patch[]
---check::
+`--check`::
 	Warn if changes introduce conflict markers or whitespace errors.
 	What are considered whitespace errors is controlled by `core.whitespace`
 	configuration.  By default, trailing whitespaces (including
@@ -473,7 +473,7 @@ ifndef::git-format-patch[]
 	Exits with non-zero status if problems are found. Not compatible
 	with `--exit-code`.
 
---ws-error-highlight=<kind>::
+`--ws-error-highlight=<kind>`::
 	Highlight whitespace errors in the `context`, `old` or `new`
 	lines of the diff.  Multiple values are separated by comma,
 	`none` resets previous values, `default` reset the list to
@@ -485,19 +485,19 @@ ifndef::git-format-patch[]
 
 endif::git-format-patch[]
 
---full-index::
+`--full-index`::
 	Instead of the first handful of characters, show the full
 	pre- and post-image blob object names on the "index"
 	line when generating patch format output.
 
---binary::
+`--binary`::
 	In addition to `--full-index`, output a binary diff that
 	can be applied with `git-apply`.
 ifndef::git-format-patch[]
 	Implies `--patch`.
 endif::git-format-patch[]
 
---abbrev[=<n>]::
+`--abbrev[=<n>]`::
 	Instead of showing the full 40-byte hexadecimal object
 	name in diff-raw format output and diff-tree header
 	lines, show the shortest prefix that is at least '<n>'
@@ -530,8 +530,8 @@ addition and deletion compared to 20% or more of the file's size are
 eligible for being picked up as a possible source of a rename to
 another file.
 
--M[<n>]::
---find-renames[=<n>]::
+`-M[<n>]`::
+`--find-renames[=<n>]`::
 ifndef::git-log[]
 	Detect renames.
 endif::git-log[]
@@ -550,12 +550,12 @@ endif::git-log[]
 	the same as `-M5%`.  To limit detection to exact renames, use
 	`-M100%`.  The default similarity index is 50%.
 
--C[<n>]::
---find-copies[=<n>]::
+`-C[<n>]`::
+`--find-copies[=<n>]`::
 	Detect copies as well as renames.  See also `--find-copies-harder`.
 	If `n` is specified, it has the same meaning as for `-M<n>`.
 
---find-copies-harder::
+`--find-copies-harder`::
 	For performance reasons, by default, `-C` option finds copies only
 	if the original file of the copy was modified in the same
 	changeset.  This flag makes the command
@@ -564,8 +564,8 @@ endif::git-log[]
 	projects, so use it with caution.  Giving more than one
 	`-C` option has the same effect.
 
--D::
---irreversible-delete::
+`-D`::
+`--irreversible-delete`::
 	Omit the preimage for deletes, i.e. print only the header but not
 	the diff between the preimage and `/dev/null`. The resulting patch
 	is not meant to be applied with `patch` or `git apply`; this is
@@ -577,7 +577,7 @@ endif::git-log[]
 When used together with `-B`, omit also the preimage in the deletion part
 of a delete/create pair.
 
--l<num>::
+`-l<num>`::
 	The `-M` and `-C` options require O(n^2) processing time where n
 	is the number of potential rename/copy targets.  This
 	option prevents rename/copy detection from running if
@@ -606,7 +606,7 @@ from the index to the working tree can never have Added entries
 the index).  Similarly, copied and renamed entries cannot appear if
 detection for those types is disabled.
 
--S<string>::
+`-S<string>`::
 	Look for differences that change the number of occurrences of
 	the specified string (i.e. addition/deletion) in a file.
 	Intended for the scripter's use.
@@ -619,7 +619,7 @@ very first version of the block.
 +
 Binary files are searched as well.
 
--G<regex>::
+`-G<regex>`::
 	Look for differences whose patch text contains added/removed
 	lines that match <regex>.
 +
@@ -643,7 +643,7 @@ filter will be ignored.
 See the 'pickaxe' entry in linkgit:gitdiffcore[7] for more
 information.
 
---find-object=<object-id>::
+`--find-object=<object-id>`::
 	Look for differences that change the number of occurrences of
 	the specified object. Similar to `-S`, just the argument is different
 	in that it doesn't search for a specific string but for a specific
@@ -652,18 +652,18 @@ information.
 The object can be a blob or a submodule commit. It implies the `-t` option in
 `git-log` to also find trees.
 
---pickaxe-all::
+`--pickaxe-all`::
 	When `-S` or `-G` finds a change, show all the changes in that
 	changeset, not just the files that contain the change
 	in <string>.
 
---pickaxe-regex::
+`--pickaxe-regex`::
 	Treat the <string> given to `-S` as an extended POSIX regular
 	expression to match.
 
 endif::git-format-patch[]
 
--O<orderfile>::
+`-O<orderfile>`::
 	Control the order in which files appear in the output.
 	This overrides the `diff.orderFile` configuration variable
 	(see linkgit:git-config[1]).  To cancel `diff.orderFile`,
@@ -700,8 +700,8 @@ matches a pattern if removing any number of the final pathname
 components matches the pattern.  For example, the pattern "`foo*bar`"
 matches "`fooasdfbar`" and "`foo/bar/baz/asdf`" but not "`foobarx`".
 
---skip-to=<file>::
---rotate-to=<file>::
+`--skip-to=<file>`::
+`--rotate-to=<file>`::
 	Discard the files before the named <file> from the output
 	(i.e. 'skip to'), or move them to the end of the output
 	(i.e. 'rotate to').  These were invented primarily for use
@@ -709,13 +709,13 @@ matches "`fooasdfbar`" and "`foo/bar/baz/asdf`" but not "`foobarx`".
 	otherwise.
 
 ifndef::git-format-patch[]
--R::
+`-R`::
 	Swap two inputs; that is, show differences from index or
 	on-disk file to tree contents.
 endif::git-format-patch[]
 
---relative[=<path>]::
---no-relative::
+`--relative[=<path>]`::
+`--no-relative`::
 	When run from a subdirectory of the project, it can be
 	told to exclude changes outside the directory and show
 	pathnames relative to it with this option.  When you are
@@ -725,44 +725,44 @@ endif::git-format-patch[]
 	`--no-relative` can be used to countermand both `diff.relative` config
 	option and previous `--relative`.
 
--a::
---text::
+`-a`::
+`--text`::
 	Treat all files as text.
 
---ignore-cr-at-eol::
+`--ignore-cr-at-eol`::
 	Ignore carriage-return at the end of line when doing a comparison.
 
---ignore-space-at-eol::
+`--ignore-space-at-eol`::
 	Ignore changes in whitespace at EOL.
 
--b::
---ignore-space-change::
+`-b`::
+`--ignore-space-change`::
 	Ignore changes in amount of whitespace.  This ignores whitespace
 	at line end, and considers all other sequences of one or
 	more whitespace characters to be equivalent.
 
--w::
---ignore-all-space::
+`-w`::
+`--ignore-all-space`::
 	Ignore whitespace when comparing lines.  This ignores
 	differences even if one line has whitespace where the other
 	line has none.
 
---ignore-blank-lines::
+`--ignore-blank-lines`::
 	Ignore changes whose lines are all blank.
 
--I<regex>::
---ignore-matching-lines=<regex>::
+`-I<regex>`::
+`--ignore-matching-lines=<regex>`::
 	Ignore changes whose all lines match <regex>.  This option may
 	be specified more than once.
 
---inter-hunk-context=<lines>::
+`--inter-hunk-context=<lines>`::
 	Show the context between diff hunks, up to the specified number
 	of lines, thereby fusing hunks that are close to each other.
 	Defaults to `diff.interHunkContext` or 0 if the config option
 	is unset.
 
--W::
---function-context::
+`-W`::
+`--function-context`::
 	Show whole function as context lines for each change.
 	The function names are determined in the same way as
 	`git diff` works out patch hunk headers (see 'Defining a
@@ -770,26 +770,26 @@ endif::git-format-patch[]
 
 ifndef::git-format-patch[]
 ifndef::git-log[]
---exit-code::
+`--exit-code`::
 	Make the program exit with codes similar to diff(1).
 	That is, it exits with 1 if there were differences and
 	0 means no differences.
 
---quiet::
+`--quiet`::
 	Disable all output of the program. Implies `--exit-code`.
 endif::git-log[]
 endif::git-format-patch[]
 
---ext-diff::
+`--ext-diff`::
 	Allow an external diff helper to be executed. If you set an
 	external diff driver with linkgit:gitattributes[5], you need
 	to use this option with linkgit:git-log[1] and friends.
 
---no-ext-diff::
+`--no-ext-diff`::
 	Disallow external diff drivers.
 
---textconv::
---no-textconv::
+`--textconv`::
+`--no-textconv`::
 	Allow (or disallow) external text conversion filters to be run
 	when comparing binary files. See linkgit:gitattributes[5] for
 	details. Because textconv filters are typically a one-way
@@ -799,7 +799,7 @@ endif::git-format-patch[]
 	linkgit:git-log[1], but not for linkgit:git-format-patch[1] or
 	diff plumbing commands.
 
---ignore-submodules[=<when>]::
+`--ignore-submodules[=<when>]`::
 	Ignore changes to submodules in the diff generation. <when> can be
 	either "none", "untracked", "dirty" or "all", which is the default.
 	Using "none" will consider the submodule modified when it either contains
@@ -812,19 +812,19 @@ endif::git-format-patch[]
 	only changes to the commits stored in the superproject are shown (this was
 	the behavior until 1.7.0). Using "all" hides all changes to submodules.
 
---src-prefix=<prefix>::
+`--src-prefix=<prefix>`::
 	Show the given source prefix instead of "a/".
 
---dst-prefix=<prefix>::
+`--dst-prefix=<prefix>`::
 	Show the given destination prefix instead of "b/".
 
---no-prefix::
+`--no-prefix`::
 	Do not show any source or destination prefix.
 
---line-prefix=<prefix>::
+`--line-prefix=<prefix>`::
 	Prepend an additional prefix to every line of output.
 
---ita-invisible-in-index::
+`--ita-invisible-in-index`::
 	By default entries added by `git add -N` appear as an existing
 	empty file in `git diff` and a new file in `git diff --cached`.
 	This option makes the entry appear as a new file in `git diff`
diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt
index 94de13eec8..fcee0ad87d 100644
--- a/Documentation/fetch-options.txt
+++ b/Documentation/fetch-options.txt
@@ -1,38 +1,38 @@
---all::
+`--all`::
 	Fetch all remotes.
 
--a::
---append::
+`-a`::
+`--append`::
 	Append ref names and object names of fetched refs to the
 	existing contents of `.git/FETCH_HEAD`.  Without this
 	option old data in `.git/FETCH_HEAD` will be overwritten.
 
---atomic::
+`--atomic`::
 	Use an atomic transaction to update local refs. Either all refs are
 	updated, or on error, no refs are updated.
 
---depth=<depth>::
+`--depth=<depth>`::
 	Limit fetching to the specified number of commits from the tip of
 	each remote branch history. If fetching to a 'shallow' repository
 	created by `git clone` with `--depth=<depth>` option (see
 	linkgit:git-clone[1]), deepen or shorten the history to the specified
 	number of commits. Tags for the deepened commits are not fetched.
 
---deepen=<depth>::
+`--deepen=<depth>`::
 	Similar to --depth, except it specifies the number of commits
 	from the current shallow boundary instead of from the tip of
 	each remote branch history.
 
---shallow-since=<date>::
+`--shallow-since=<date>`::
 	Deepen or shorten the history of a shallow repository to
 	include all reachable commits after <date>.
 
---shallow-exclude=<revision>::
+`--shallow-exclude=<revision>`::
 	Deepen or shorten the history of a shallow repository to
 	exclude commits reachable from a specified remote branch or tag.
 	This option can be specified multiple times.
 
---unshallow::
+`--unshallow`::
 	If the source repository is complete, convert a shallow
 	repository to a complete one, removing all the limitations
 	imposed by shallow repositories.
@@ -40,7 +40,7 @@
 If the source repository is shallow, fetch as much as possible so that
 the current repository has the same history as the source repository.
 
---update-shallow::
+`--update-shallow`::
 	By default when fetching from a shallow repository,
 	`git fetch` refuses refs that require updating
 	`.git/shallow`. This option updates `.git/shallow` and accept such
@@ -65,11 +65,11 @@ this option multiple times, one for each matching ref name.
 See also the `fetch.negotiationAlgorithm` configuration variable
 documented in linkgit:git-config[1].
 
---dry-run::
+`--dry-run`::
 	Show what would be done, without making any changes.
 
 ifndef::git-pull[]
---[no-]write-fetch-head::
+`--[no-]write-fetch-head`::
 	Write the list of remote refs fetched in the `FETCH_HEAD`
 	file directly under `$GIT_DIR`.  This is the default.
 	Passing `--no-write-fetch-head` from the command line tells
@@ -77,8 +77,8 @@ ifndef::git-pull[]
 	file is never written.
 endif::git-pull[]
 
--f::
---force::
+`-f`::
+`--force`::
 	When `git fetch` is used with `<src>:<dst>` refspec it may
 	refuse to update the local branch as discussed
 ifdef::git-pull[]
@@ -90,28 +90,28 @@ ifndef::git-pull[]
 endif::git-pull[]
 	This option overrides that check.
 
--k::
---keep::
+`-k`::
+`--keep`::
 	Keep downloaded pack.
 
 ifndef::git-pull[]
---multiple::
+`--multiple`::
 	Allow several <repository> and <group> arguments to be
 	specified. No <refspec>s may be specified.
 
---[no-]auto-maintenance::
---[no-]auto-gc::
+`--[no-]auto-maintenance`::
+`--[no-]auto-gc`::
 	Run `git maintenance run --auto` at the end to perform automatic
 	repository maintenance if needed. (`--[no-]auto-gc` is a synonym.)
 	This is enabled by default.
 
---[no-]write-commit-graph::
+`--[no-]write-commit-graph`::
 	Write a commit-graph after fetching. This overrides the config
 	setting `fetch.writeCommitGraph`.
 endif::git-pull[]
 
--p::
---prune::
+`-p`::
+`--prune`::
 	Before fetching, remove any remote-tracking references that no
 	longer exist on the remote.  Tags are not subject to pruning
 	if they are fetched only because of the default tag
@@ -125,8 +125,8 @@ ifndef::git-pull[]
 +
 See the PRUNING section below for more details.
 
--P::
---prune-tags::
+`-P`::
+`--prune-tags`::
 	Before fetching, remove any local tags that no longer exist on
 	the remote if `--prune` is enabled. This option should be used
 	more carefully, unlike `--prune` it will remove any local
@@ -139,16 +139,16 @@ See the PRUNING section below for more details.
 endif::git-pull[]
 
 ifndef::git-pull[]
--n::
+`-n`::
 endif::git-pull[]
---no-tags::
+`--no-tags`::
 	By default, tags that point at objects that are downloaded
 	from the remote repository are fetched and stored locally.
 	This option disables this automatic tag following. The default
 	behavior for a remote may be specified with the remote.<name>.tagOpt
 	setting. See linkgit:git-config[1].
 
---refmap=<refspec>::
+`--refmap=<refspec>`::
 	When fetching refs listed on the command line, use the
 	specified refspec (can be given more than once) to map the
 	refs to remote-tracking branches, instead of the values of
@@ -159,8 +159,8 @@ endif::git-pull[]
 	command-line arguments. See section on "Configured Remote-tracking
 	Branches" for details.
 
--t::
---tags::
+`-t`::
+`--tags`::
 	Fetch all tags from the remote (i.e., fetch remote tags
 	`refs/tags/*` into local tags with the same name), in addition
 	to whatever else would otherwise be fetched.  Using this
@@ -182,8 +182,8 @@ ifndef::git-pull[]
 	`fetch.recurseSubmodules` is set (see linkgit:git-config[1]).
 endif::git-pull[]
 
--j::
---jobs=<n>::
+`-j`::
+`--jobs=<n>`::
 	Number of parallel children to be used for all forms of fetching.
 +
 If the `--multiple` option was specified, the different remotes will be fetched
@@ -195,12 +195,12 @@ Typically, parallel recursive and multi-remote fetches will be faster. By
 default fetches are performed sequentially, not in parallel.
 
 ifndef::git-pull[]
---no-recurse-submodules::
+`--no-recurse-submodules`::
 	Disable recursive fetching of submodules (this has the same effect as
 	using the `--recurse-submodules=no` option).
 endif::git-pull[]
 
---set-upstream::
+`--set-upstream`::
 	If the remote is fetched successfully, add upstream
 	(tracking) reference, used by argument-less
 	linkgit:git-pull[1] and other commands. For more information,
@@ -208,7 +208,7 @@ endif::git-pull[]
 	linkgit:git-config[1].
 
 ifndef::git-pull[]
---submodule-prefix=<path>::
+`--submodule-prefix=<path>`::
 	Prepend <path> to paths printed in informative messages
 	such as "Fetching submodule foo".  This option is used
 	internally when recursing over submodules.
@@ -221,8 +221,8 @@ ifndef::git-pull[]
 	linkgit:git-config[1]) override this option, as does
 	specifying --[no-]recurse-submodules directly.
 
--u::
---update-head-ok::
+`-u`::
+`--update-head-ok`::
 	By default `git fetch` refuses to update the head which
 	corresponds to the current branch.  This flag disables the
 	check.  This is purely for the internal use for `git pull`
@@ -238,25 +238,25 @@ endif::git-pull[]
 	run on the other end.
 
 ifndef::git-pull[]
--q::
---quiet::
+`-q`::
+`--quiet`::
 	Pass `--quiet` to `git-fetch-pack` and silence any other internally
 	used `git` commands. Progress is not reported to the standard error
 	stream.
 
--v::
---verbose::
+`-v`::
+`--verbose`::
 	Be verbose.
 endif::git-pull[]
 
---progress::
+`--progress`::
 	Progress status is reported on the standard error stream
 	by default when it is attached to a terminal, unless -q
 	is specified. This flag forces progress status even if the
 	standard error stream is not directed to a terminal.
 
 -o <option>::
---server-option=<option>::
+`--server-option=<option>`::
 	Transmit the given string to the server when communicating using
 	protocol version 2.  The given string must not contain a NUL or LF
 	character.  The server's handling of server options, including
@@ -264,13 +264,13 @@ endif::git-pull[]
 	When multiple `--server-option=<option>` are given, they are all
 	sent to the other side in the order listed on the command line.
 
---show-forced-updates::
+`--show-forced-updates`::
 	By default, `git` checks if a branch is force-updated during
 	fetch. This can be disabled through `fetch.showForcedUpdates`, but
 	the `--show-forced-updates` option guarantees this check occurs.
 	See linkgit:git-config[1].
 
---no-show-forced-updates::
+`--no-show-forced-updates`::
 	By default, `git` checks if a branch is force-updated during
 	fetch. Pass `--no-show-forced-updates` or set `fetch.showForcedUpdates`
 	to false to skip this check for performance reasons. If used during
diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt
index 786c31fc60..646951cf7e 100644
--- a/Documentation/git-add.txt
+++ b/Documentation/git-add.txt
@@ -66,28 +66,28 @@ OPTIONS
 For more details about the <pathspec> syntax, see the 'pathspec' entry
 in linkgit:gitglossary[7].
 
--n::
---dry-run::
+`-n`::
+`--dry-run`::
 	Don't actually add the file(s), just show if they exist and/or will
 	be ignored.
 
--v::
---verbose::
+`-v`::
+`--verbose`::
         Be verbose.
 
--f::
---force::
+`-f`::
+`--force`::
 	Allow adding otherwise ignored files.
 
--i::
---interactive::
+`-i`::
+`--interactive`::
 	Add modified contents in the working tree interactively to
 	the index. Optional path arguments may be supplied to limit
 	operation to a subset of the working tree. See ``Interactive
 	mode'' for details.
 
--p::
---patch::
+`-p`::
+`--patch`::
 	Interactively choose hunks of patch between the index and the
 	work tree and add them to the index. This gives the user a chance
 	to review the difference before adding modified contents to the
@@ -97,8 +97,8 @@ This effectively runs `add --interactive`, but bypasses the
 initial command menu and directly jumps to the `patch` subcommand.
 See ``Interactive mode'' for details.
 
--e::
---edit::
+`-e`::
+`--edit`::
 	Open the diff vs. the index in an editor and let the user
 	edit it.  After the editor was closed, adjust the hunk headers
 	and apply the patch to the index.
@@ -109,8 +109,8 @@ quicker and more flexible than using the interactive hunk selector.
 However, it is easy to confuse oneself and create a patch that does not
 apply to the index. See EDITING PATCHES below.
 
--u::
---update::
+`-u`::
+`--update`::
 	Update the index just where it already has an entry matching
 	<pathspec>.  This removes as well as modifies index entries to
 	match the working tree, but adds no new files.
@@ -120,9 +120,9 @@ tracked files in the entire working tree are updated (old versions
 of Git used to limit the update to the current directory and its
 subdirectories).
 
--A::
---all::
---no-ignore-removal::
+`-A`::
+`--all`::
+`--no-ignore-removal`::
 	Update the index not only where the working tree has a file
 	matching <pathspec> but also where the index already has an
 	entry. This adds, modifies, and removes index entries to
@@ -133,8 +133,8 @@ files in the entire working tree are updated (old versions
 of Git used to limit the update to the current directory and its
 subdirectories).
 
---no-all::
---ignore-removal::
+`--no-all`::
+`--ignore-removal`::
 	Update the index by adding new files that are unknown to the
 	index and files modified in the working tree, but ignore
 	files that have been removed from the working tree.  This
@@ -144,39 +144,39 @@ This option is primarily to help users who are used to older
 versions of Git, whose `git add <pathspec>...` was a synonym
 for `git add --no-all <pathspec>...`, i.e. ignored removed files.
 
--N::
---intent-to-add::
+`-N`::
+`--intent-to-add`::
 	Record only the fact that the path will be added later. An entry
 	for the path is placed in the index with no content. This is
 	useful for, among other things, showing the unstaged content of
 	such files with `git diff` and committing them with `git commit
 	-a`.
 
---refresh::
+`--refresh`::
 	Don't add the file(s), but only refresh their stat()
 	information in the index.
 
---ignore-errors::
+`--ignore-errors`::
 	If some files could not be added because of errors indexing
 	them, do not abort the operation, but continue adding the
 	others. The command shall still exit with non-zero status.
 	The configuration variable `add.ignoreErrors` can be set to
 	true to make this the default behaviour.
 
---ignore-missing::
+`--ignore-missing`::
 	This option can only be used together with `--dry-run`. By using
 	this option the user can check if any of the given files would
 	be ignored, no matter if they are already present in the work
 	tree or not.
 
---no-warn-embedded-repo::
+`--no-warn-embedded-repo`::
 	By default, `git add` will warn when adding an embedded
 	repository to the index without using `git submodule add` to
 	create an entry in `.gitmodules`. This option will suppress the
 	warning (e.g., if you are manually performing operations on
 	submodules).
 
---renormalize::
+`--renormalize`::
 	Apply the "clean" process freshly to all tracked files to
 	forcibly add them again to the index.  This is useful after
 	changing `core.autocrlf` configuration or the `text` attribute
@@ -188,7 +188,7 @@ for `git add --no-all <pathspec>...`, i.e. ignored removed files.
 	bit is only changed in the index, the files on disk are left
 	unchanged.
 
---pathspec-from-file=<file>::
+`--pathspec-from-file=<file>`::
 	Pathspec is passed in `<file>` instead of commandline args. If
 	`<file>` is exactly `-` then standard input is used. Pathspec
 	elements are separated by LF or CR/LF. Pathspec elements can be
@@ -196,7 +196,7 @@ for `git add --no-all <pathspec>...`, i.e. ignored removed files.
 	(see linkgit:git-config[1]). See also `--pathspec-file-nul` and
 	global `--literal-pathspecs`.
 
---pathspec-file-nul::
+`--pathspec-file-nul`::
 	Only meaningful with `--pathspec-from-file`. Pathspec elements are
 	separated with NUL character and all other characters are taken
 	literally (including newlines and quotes).
@@ -254,7 +254,7 @@ choice is unique.
 
 The main command loop has 6 subcommands (plus help and quit).
 
-status::
+`status`::
 
    This shows the change between `HEAD` and index (i.e. what will be
    committed if you say `git commit`), and between index and
@@ -278,7 +278,7 @@ 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::
+`update`::
 
    This shows the status information and issues an "Update>>"
    prompt.  When the prompt ends with double '>>', you can
@@ -307,7 +307,7 @@ 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::
+`revert`::
 
   This has a very similar UI to 'update', and the staged
   information for selected paths are reverted to that of the
@@ -318,7 +318,7 @@ add untracked::
   This has a very similar UI to 'update' and
   'revert', and lets you add untracked paths to the index.
 
-patch::
+`patch`::
 
   This lets you choose one path out of a 'status' like selection.
   After choosing the path, it presents the diff between the index
@@ -347,7 +347,7 @@ that was chosen, the index is updated with the selected hunks.
 You can omit having to type return here, by setting the configuration
 variable `interactive.singleKey` to `true`.
 
-diff::
+`diff`::
 
   This lets you review what will be committed (i.e. between
   `HEAD` and index).
diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt
index 80f2f89cbd..c8560bacad 100644
--- a/Documentation/git-am.txt
+++ b/Documentation/git-am.txt
@@ -31,50 +31,50 @@ OPTIONS
 	supply this argument, the command reads from the standard input.
 	If you supply directories, they will be treated as Maildirs.
 
--s::
---signoff::
+`-s`::
+`--signoff`::
 	Add a `Signed-off-by` trailer to the commit message, using
 	the committer identity of yourself.
 	See the signoff option in linkgit:git-commit[1] for more information.
 
--k::
---keep::
+`-k`::
+`--keep`::
 	Pass `-k` flag to `git mailinfo` (see linkgit:git-mailinfo[1]).
 
---keep-non-patch::
+`--keep-non-patch`::
 	Pass `-b` flag to `git mailinfo` (see linkgit:git-mailinfo[1]).
 
---[no-]keep-cr::
+`--[no-]keep-cr`::
 	With `--keep-cr`, call `git mailsplit` (see linkgit:git-mailsplit[1])
 	with the same option, to prevent it from stripping CR at the end of
 	lines. `am.keepcr` configuration variable can be used to specify the
 	default behaviour.  `--no-keep-cr` is useful to override `am.keepcr`.
 
--c::
---scissors::
+`-c`::
+`--scissors`::
 	Remove everything in body before a scissors line (see
 	linkgit:git-mailinfo[1]). Can be activated by default using
 	the `mailinfo.scissors` configuration variable.
 
---no-scissors::
+`--no-scissors`::
 	Ignore scissors lines (see linkgit:git-mailinfo[1]).
 
--m::
---message-id::
+`-m`::
+`--message-id`::
 	Pass the `-m` flag to `git mailinfo` (see linkgit:git-mailinfo[1]),
 	so that the Message-ID header is added to the commit message.
 	The `am.messageid` configuration variable can be used to specify
 	the default behaviour.
 
---no-message-id::
+`--no-message-id`::
 	Do not add the Message-ID header to the commit message.
 	`no-message-id` is useful to override `am.messageid`.
 
--q::
---quiet::
+`-q`::
+`--quiet`::
 	Be quiet. Only print error messages.
 
--u::
+`-u`::
 --utf8::
 	Pass `-u` flag to `git mailinfo` (see linkgit:git-mailinfo[1]).
 	The proposed commit log message taken from the e-mail
@@ -99,65 +99,65 @@ default.   You can use `--no-utf8` to override this.
 	am.threeWay configuration variable. For more information,
 	see `am.threeWay` in linkgit:git-config[1].
 
---rerere-autoupdate::
---no-rerere-autoupdate::
+`--rerere-autoupdate`::
+`--no-rerere-autoupdate`::
 	Allow the rerere mechanism to update the index with the
 	result of auto-conflict resolution if possible.
 
---ignore-space-change::
---ignore-whitespace::
---whitespace=<option>::
--C<n>::
--p<n>::
---directory=<dir>::
---exclude=<path>::
---include=<path>::
---reject::
+`--ignore-space-change`::
+`--ignore-whitespace`::
+`--whitespace=<option>`::
+`-C<n>`::
+`-p<n>`::
+`--directory=<dir>`::
+`--exclude=<path>`::
+`--include=<path>`::
+`--reject`::
 	These flags are passed to the `git apply` (see linkgit:git-apply[1])
 	program that applies
 	the patch.
 
---patch-format::
+`--patch-format`::
 	By default the command will try to detect the patch format
 	automatically. This option allows the user to bypass the automatic
 	detection and specify the patch format that the patch(es) should be
 	interpreted as. Valid formats are mbox, mboxrd,
 	stgit, stgit-series and hg.
 
--i::
---interactive::
+`-i`::
+`--interactive`::
 	Run interactively.
 
---committer-date-is-author-date::
+`--committer-date-is-author-date`::
 	By default the command records the date from the e-mail
 	message as the commit author date, and uses the time of
 	commit creation as the committer date. This allows the
 	user to lie about the committer date by using the same
 	value as the author date.
 
---ignore-date::
+`--ignore-date`::
 	By default the command records the date from the e-mail
 	message as the commit author date, and uses the time of
 	commit creation as the committer date. This allows the
 	user to lie about the author date by using the same
 	value as the committer date.
 
---skip::
+`--skip`::
 	Skip the current patch.  This is only meaningful when
 	restarting an aborted patch.
 
--S[<keyid>]::
---gpg-sign[=<keyid>]::
---no-gpg-sign::
+`-S[<keyid>]`::
+`--gpg-sign[=<keyid>]`::
+`--no-gpg-sign`::
 	GPG-sign commits. The `keyid` argument is optional and
 	defaults to the committer identity; if specified, it must be
 	stuck to the option without a space. `--no-gpg-sign` is useful to
 	countermand both `commit.gpgSign` configuration variable, and
 	earlier `--gpg-sign`.
 
---continue::
--r::
---resolved::
+`--continue`::
+`-r`::
+`--resolved`::
 	After a patch failure (e.g. attempting to apply
 	conflicting patch), the user has applied it by hand and
 	the index file stores the result of the application.
@@ -165,17 +165,17 @@ default.   You can use `--no-utf8` to override this.
 	extracted from the e-mail message and the current index
 	file, and continue.
 
---resolvemsg=<msg>::
+`--resolvemsg=<msg>`::
 	When a patch failure occurs, <msg> will be printed
 	to the screen before exiting.  This overrides the
 	standard message informing you to use `--continue`
 	or `--skip` to handle the failure.  This is solely
 	for internal use between `git rebase` and `git am`.
 
---abort::
+`--abort`::
 	Restore the original branch and abort the patching operation.
 
---quit::
+`--quit`::
 	Abort the patching operation but keep `HEAD` and the index
 	untouched.
 
diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
index a836021d5e..88cdddb178 100644
--- a/Documentation/git-apply.txt
+++ b/Documentation/git-apply.txt
@@ -38,29 +38,29 @@ OPTIONS
 	The files to read the patch from.  '-' can be used to read
 	from the standard input.
 
---stat::
+`--stat`::
 	Instead of applying the patch, output diffstat for the
 	input.  Turns off "apply".
 
---numstat::
+`--numstat`::
 	Similar to `--stat`, but shows the number of added and
 	deleted lines in decimal notation and the pathname without
 	abbreviation, to make it more machine friendly.  For
 	binary files, outputs two `-` instead of saying
 	`0 0`.  Turns off "apply".
 
---summary::
+`--summary`::
 	Instead of applying the patch, output a condensed
 	summary of information obtained from `git diff` extended
 	headers, such as creations, renames and mode changes.
 	Turns off "apply".
 
---check::
+`--check`::
 	Instead of applying the patch, see if the patch is
 	applicable to the current working tree and/or the index
 	file and detects errors.  Turns off "apply".
 
---index::
+`--index`::
 	Apply the patch to both the index and the working tree (or
 	merely check that it would apply cleanly to both if `--check` is
 	in effect). Note that `--index` expects index entries and
@@ -69,12 +69,12 @@ OPTIONS
 	raise an error if they are not, even if the patch would apply
 	cleanly to both the index and the working tree in isolation.
 
---cached::
+`--cached`::
 	Apply the patch to just the index, without touching the working
 	tree. If `--check` is in effect, merely check that it would
 	apply cleanly to the index entry.
 
---intent-to-add::
+`--intent-to-add`::
 	When applying the patch only to the working tree, mark new
 	files to be added to the index later (see `--intent-to-add`
 	option in linkgit:git-add[1]). This option is ignored unless
@@ -91,7 +91,7 @@ OPTIONS
 	resolve.  This option implies the `--index` option, and is incompatible
 	with the `--reject` and the `--cached` options.
 
---build-fake-ancestor=<file>::
+`--build-fake-ancestor=<file>`::
 	Newer `git diff` output has embedded 'index information'
 	for each blob to help identify the original version that
 	the patch applies to.  When this flag is given, and if
@@ -101,18 +101,18 @@ OPTIONS
 When a pure mode change is encountered (which has no index information),
 the information is read from the current index instead.
 
--R::
---reverse::
+`-R`::
+`--reverse`::
 	Apply the patch in reverse.
 
---reject::
+`--reject`::
 	For atomicity, `git apply` by default fails the whole patch and
 	does not touch the working tree when some of the hunks
 	do not apply.  This option makes it apply
 	the parts of the patch that are applicable, and leave the
 	rejected hunks in corresponding *.rej files.
 
--z::
+`-z`::
 	When `--numstat` has been given, do not munge pathnames,
 	but use a NUL-terminated machine-readable format.
 +
@@ -120,19 +120,19 @@ Without this option, pathnames with "unusual" characters are quoted as
 explained for the configuration variable `core.quotePath` (see
 linkgit:git-config[1]).
 
--p<n>::
+`-p<n>`::
 	Remove <n> leading path components (separated by slashes) from
 	traditional diff paths. E.g., with `-p2`, a patch against
 	`a/dir/file` will be applied directly to `file`. The default is
 	1.
 
--C<n>::
+`-C<n>`::
 	Ensure at least <n> lines of surrounding context match before
 	and after each change.  When fewer lines of surrounding
 	context exist they all must match.  By default no context is
 	ever ignored.
 
---unidiff-zero::
+`--unidiff-zero`::
 	By default, `git apply` expects that the patch being
 	applied is a unified diff with at least one line of context.
 	This provides good safety measures, but breaks down when
@@ -142,33 +142,33 @@ linkgit:git-config[1]).
 Note, for the reasons stated above usage of context-free patches is
 discouraged.
 
---apply::
+`--apply`::
 	If you use any of the options marked "Turns off
 	'apply'" above, `git apply` reads and outputs the
 	requested information without actually applying the
 	patch.  Give this flag after those flags to also apply
 	the patch.
 
---no-add::
+`--no-add`::
 	When applying a patch, ignore additions made by the
 	patch.  This can be used to extract the common part between
 	two files by first running 'diff' on them and applying
 	the result with this option, which would apply the
 	deletion part but not the addition part.
 
---allow-binary-replacement::
---binary::
+`--allow-binary-replacement`::
+`--binary`::
 	Historically we did not allow binary patch applied
 	without an explicit permission from the user, and this
 	flag was the way to do so.  Currently we always allow binary
 	patch application, so this is a no-op.
 
---exclude=<path-pattern>::
+`--exclude=<path-pattern>`::
 	Don't apply changes to files matching the given path pattern. This can
 	be useful when importing patchsets, where you want to exclude certain
 	files or directories.
 
---include=<path-pattern>::
+`--include=<path-pattern>`::
 	Apply changes to files matching the given path pattern. This can
 	be useful when importing patchsets, where you want to include certain
 	files or directories.
@@ -179,15 +179,15 @@ patch to each path is used.  A patch to a path that does not match any
 include/exclude pattern is used by default if there is no include pattern
 on the command line, and ignored if there is any include pattern.
 
---ignore-space-change::
---ignore-whitespace::
+`--ignore-space-change`::
+`--ignore-whitespace`::
 	When applying a patch, ignore changes in whitespace in context
 	lines if necessary.
 	Context lines will preserve their whitespace, and they will not
 	undergo whitespace fixing regardless of the value of the
 	`--whitespace` option. New lines will still be fixed, though.
 
---whitespace=<action>::
+`--whitespace=<action>`::
 	When applying a patch, detect a new or modified line that has
 	whitespace errors.  What are considered whitespace errors is
 	controlled by `core.whitespace` configuration.  By default,
@@ -214,25 +214,25 @@ behavior:
   to apply the patch.
 * `error-all` is similar to `error` but shows all errors.
 
---inaccurate-eof::
+`--inaccurate-eof`::
 	Under certain circumstances, some versions of 'diff' do not correctly
 	detect a missing new-line at the end of the file. As a result, patches
 	created by such 'diff' programs do not record incomplete lines
 	correctly. This option adds support for applying such patches by
 	working around this bug.
 
--v::
---verbose::
+`-v`::
+`--verbose`::
 	Report progress to stderr. By default, only a message about the
 	current patch being applied will be printed. This option will cause
 	additional information to be reported.
 
---recount::
+`--recount`::
 	Do not trust the line counts in the hunk headers, but infer them
 	by inspecting the patch (e.g. after editing the patch without
 	adjusting the hunk headers appropriately).
 
---directory=<root>::
+`--directory=<root>`::
 	Prepend <root> to all filenames.  If a `-p` argument was also passed,
 	it is applied before prepending the new root.
 +
@@ -240,7 +240,7 @@ For example, a patch that talks about updating `a/git-gui.sh` to `b/git-gui.sh`
 can be applied to the file in the working tree `modules/git-gui/git-gui.sh` by
 running `git apply --directory=modules/git-gui`.
 
---unsafe-paths::
+`--unsafe-paths`::
 	By default, a patch that affects outside the working area
 	(either a Git controlled working tree, or the current working
 	directory when `git apply` is used as a replacement of GNU
diff --git a/Documentation/git-archimport.txt b/Documentation/git-archimport.txt
index 72237659d9..8ea76463bf 100644
--- a/Documentation/git-archimport.txt
+++ b/Documentation/git-archimport.txt
@@ -68,22 +68,22 @@ patches that have been traded out-of-sequence between the branches.
 OPTIONS
 -------
 
--h::
+`-h`::
 	Display usage.
 
--v::
+`-v`::
 	Verbose output.
 
--T::
+`-T`::
 	Many tags. Will create a tag for every commit, reflecting the commit
 	name in the Arch repository.
 
--f::
+`-f`::
 	Use the fast patchset import strategy.  This can be significantly
 	faster for large trees, but cannot handle directory renames or
 	permissions changes.  The default strategy is slow and safe.
 
--o::
+`-o`::
 	Use this for compatibility with old-style branch names used by
 	earlier versions of `git archimport`.  Old-style branch names
 	were category{litdd}branch, whereas new-style branch names are
@@ -96,7 +96,7 @@ OPTIONS
 	merged from.  Specify a depth greater than 1 if patch logs have been
 	pruned.
 
--a::
+`-a`::
 	Attempt to auto-register archives at http://mirrors.sourcecontrol.net
 	This is particularly useful with the `-D` option.
 
diff --git a/Documentation/git-archive.txt b/Documentation/git-archive.txt
index 4bd6299046..d0ca1241a2 100644
--- a/Documentation/git-archive.txt
+++ b/Documentation/git-archive.txt
@@ -33,57 +33,57 @@ comment.
 OPTIONS
 -------
 
---format=<fmt>::
+`--format=<fmt>`::
 	Format of the resulting archive: 'tar' or 'zip'. If this option
 	is not given, and the output file is specified, the format is
 	inferred from the filename if possible (e.g. writing to "foo.zip"
 	makes the output to be in the zip format). Otherwise the output
 	format is `tar`.
 
--l::
---list::
+`-l`::
+`--list`::
 	Show all available formats.
 
--v::
---verbose::
+`-v`::
+`--verbose`::
 	Report progress to stderr.
 
 --prefix=<prefix>/::
 	Prepend <prefix>/ to each filename in the archive.
 
 -o <file>::
---output=<file>::
+`--output=<file>`::
 	Write the archive to <file> instead of stdout.
 
---add-file=<file>::
+`--add-file=<file>`::
 	Add a non-tracked file to the archive.  Can be repeated to add
 	multiple files.  The path of the file in the archive is built
 	by concatenating the value for `--prefix` (if any) and the
 	basename of <file>.
 
---worktree-attributes::
+`--worktree-attributes`::
 	Look for attributes in .gitattributes files in the working tree
 	as well (see <<ATTRIBUTES>>).
 
-<extra>::
+`<extra>`::
 	This can be any options that the archiver backend understands.
 	See next section.
 
---remote=<repo>::
+`--remote=<repo>`::
 	Instead of making a tar archive from the local repository,
 	retrieve a tar archive from a remote repository. Note that the
 	remote repository may place restrictions on which sha1
 	expressions may be allowed in `<tree-ish>`. See
 	linkgit:git-upload-archive[1] for details.
 
---exec=<git-upload-archive>::
+`--exec=<git-upload-archive>`::
 	Used with `--remote` to specify the path to the
 	`git-upload-archive` on the remote side.
 
-<tree-ish>::
+`<tree-ish>`::
 	The tree or commit to produce an archive for.
 
-<path>::
+`<path>`::
 	Without an optional path parameter, all files and subdirectories
 	of the current working directory are included in the archive.
 	If one or more paths are specified, only these are included.
@@ -134,11 +134,11 @@ tar.<format>.remote::
 ATTRIBUTES
 ----------
 
-export-ignore::
+`export-ignore`::
 	Files and directories with the attribute export-ignore won't be
 	added to archive files.  See linkgit:gitattributes[5] for details.
 
-export-subst::
+`export-subst`::
 	If the attribute export-subst is set for a file then Git will
 	expand several placeholders when adding this file to an archive.
 	See linkgit:gitattributes[5] for details.
diff --git a/Documentation/git-bisect.txt b/Documentation/git-bisect.txt
index d59422636b..476835938f 100644
--- a/Documentation/git-bisect.txt
+++ b/Documentation/git-bisect.txt
@@ -354,7 +354,7 @@ determine the eventual outcome of the bisect session.
 
 OPTIONS
 -------
---no-checkout::
+`--no-checkout`::
 +
 Do not checkout the new working tree at each iteration of the bisection
 process. Instead just update a special reference named `BISECT_HEAD` to make
@@ -365,7 +365,7 @@ does not require a checked out tree.
 +
 If the repository is bare, `--no-checkout` is assumed.
 
---first-parent::
+`--first-parent`::
 +
 Follow only the first parent commit upon seeing a merge commit.
 +
diff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt
index aa1b5d56d3..b3d60d241a 100644
--- a/Documentation/git-blame.txt
+++ b/Documentation/git-blame.txt
@@ -50,10 +50,10 @@ OPTIONS
 -------
 include::blame-options.txt[]
 
--c::
+`-c`::
 	Use the same output mode as linkgit:git-annotate[1] (Default: off).
 
---score-debug::
+`--score-debug`::
 	Include debugging information related to the movement of
 	lines between files (see `-C`) and lines moved within a
 	file (see `-M`).  The first number listed is the score.
@@ -62,30 +62,30 @@ include::blame-options.txt[]
 	a certain threshold for `git blame` to consider those lines
 	of code to have been moved.
 
--f::
---show-name::
+`-f`::
+`--show-name`::
 	Show the filename in the original commit.  By default
 	the filename is shown if there is any line that came from a
 	file with a different name, due to rename detection.
 
--n::
---show-number::
+`-n`::
+`--show-number`::
 	Show the line number in the original commit (Default: off).
 
--s::
+`-s`::
 	Suppress the author name and timestamp from the output.
 
--e::
---show-email::
+`-e`::
+`--show-email`::
 	Show the author email instead of author name (Default: off).
 	This can also be controlled via the `blame.showEmail` config
 	option.
 
--w::
+`-w`::
 	Ignore whitespace when comparing the parent's version and
 	the child's to find where the lines came from.
 
---abbrev=<n>::
+`--abbrev=<n>`::
 	Instead of using the default 7+1 hexadecimal digits as the
 	abbreviated object name, use <m>+1 digits, where <m> is at
 	least <n> but ensures the commit object names are unique.
diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt
index 6f37f11b33..b9f65c4d52 100644
--- a/Documentation/git-branch.txt
+++ b/Documentation/git-branch.txt
@@ -94,16 +94,16 @@ way to clean up all obsolete remote-tracking branches.
 
 OPTIONS
 -------
--d::
---delete::
+`-d`::
+`--delete`::
 	Delete a branch. The branch must be fully merged in its
 	upstream branch, or in `HEAD` if no upstream was set with
 	`--track` or `--set-upstream-to`.
 
--D::
+`-D`::
 	Shortcut for `--delete --force`.
 
---create-reflog::
+`--create-reflog`::
 	Create the branch's reflog.  This activates recording of
 	all changes made to the branch ref, enabling use of date
 	based sha1 expressions such as "<branchname>@\{yesterday}".
@@ -113,8 +113,8 @@ OPTIONS
 	`--create-reflog`, but currently does not negate the setting of
 	`core.logAllRefUpdates`.
 
--f::
---force::
+`-f`::
+`--force`::
 	Reset <branchname> to <startpoint>, even if <branchname> exists
 	already. Without `-f`, `git branch` refuses to change an existing branch.
 	In combination with `-d` (or `--delete`), allow deleting the
@@ -122,65 +122,65 @@ OPTIONS
 	`-m` (or `--move`), allow renaming the branch even if the new
 	branch name already exists, the same applies for `-c` (or `--copy`).
 
--m::
---move::
+`-m`::
+`--move`::
 	Move/rename a branch and the corresponding reflog.
 
--M::
+`-M`::
 	Shortcut for `--move --force`.
 
--c::
---copy::
+`-c`::
+`--copy`::
 	Copy a branch and the corresponding reflog.
 
--C::
+`-C`::
 	Shortcut for `--copy --force`.
 
---color[=<when>]::
+`--color[=<when>]`::
 	Color branches to highlight current, local, and
 	remote-tracking branches.
 	The value must be always (the default), never, or auto.
 
---no-color::
+`--no-color`::
 	Turn off branch colors, even when the configuration file gives the
 	default to color output.
 	Same as `--color=never`.
 
--i::
---ignore-case::
+`-i`::
+`--ignore-case`::
 	Sorting and filtering branches are case insensitive.
 
---column[=<options>]::
---no-column::
+`--column[=<options>]`::
+`--no-column`::
 	Display branch listing in columns. See configuration variable
 	`column.branch` for option syntax. `--column` and `--no-column`
 	without options are equivalent to 'always' and 'never' respectively.
 +
 This option is only applicable in non-verbose mode.
 
--r::
---remotes::
+`-r`::
+`--remotes`::
 	List or delete (if used with -d) the remote-tracking branches.
 	Combine with `--list` to match the optional pattern(s).
 
--a::
---all::
+`-a`::
+`--all`::
 	List both remote-tracking branches and local branches.
 	Combine with `--list` to match optional pattern(s).
 
--l::
---list::
+`-l`::
+`--list`::
 	List branches.  With optional `<pattern>...`, e.g. `git
 	branch --list 'maint-*'`, list only the branches that match
 	the pattern(s).
 
---show-current::
+`--show-current`::
 	Print the name of the current branch. In detached `HEAD` state,
 	nothing is printed.
 
--v::
--vv::
---verbose::
+`-v`::
+`-vv`::
+`--verbose`::
 	When in list mode,
 	show sha1 and commit subject line for each head, along with
 	relationship to upstream branch (if any). If given twice, print
@@ -189,23 +189,23 @@ This option is only applicable in non-verbose mode.
 	current worktree's `HEAD` will not have its path printed (it will always
 	be your current directory).
 
--q::
---quiet::
+`-q`::
+`--quiet`::
 	Be more quiet when creating or deleting a branch, suppressing
 	non-error messages.
 
---abbrev=<n>::
+`--abbrev=<n>`::
 	In the verbose listing that show the commit object name,
 	show the shortest prefix that is at least '<n>' hexdigits
 	long that uniquely refers the object.
 	The default value is 7 and can be overridden by the `core.abbrev`
 	config option.
 
---no-abbrev::
+`--no-abbrev`::
 	Display the full sha1s in the output listing rather than abbreviating them.
 
--t::
---track::
+`-t`::
+`--track`::
 	When creating a new branch, set up `branch.<name>.remote` and
 	`branch.<name>.merge` configuration entries to mark the
 	start-point branch as "upstream" from the new branch. This
@@ -220,25 +220,25 @@ want `git switch`, `git checkout` and `git branch` to always behave as if `--no-
 were given. Set it to `always` if you want this behavior when the
 start-point is either a local or remote-tracking branch.
 
---no-track::
+`--no-track`::
 	Do not set up "upstream" configuration, even if the
 	branch.autoSetupMerge configuration variable is true.
 
---set-upstream::
+`--set-upstream`::
 	As this option had confusing syntax, it is no longer supported.
 	Please use `--track` or `--set-upstream-to` instead.
 
 -u <upstream>::
---set-upstream-to=<upstream>::
+`--set-upstream-to=<upstream>`::
 	Set up <branchname>'s tracking information so <upstream> is
 	considered <branchname>'s upstream branch. If no <branchname>
 	is specified, then it defaults to the current branch.
 
---unset-upstream::
+`--unset-upstream`::
 	Remove the upstream information for <branchname>. If no branch
 	is specified it defaults to the current branch.
 
---edit-description::
+`--edit-description`::
 	Open an editor and edit the text to explain what the branch is
 	for, to be used by various other commands (e.g. `format-patch`,
 	`request-pull`, and `merge` (if enabled)). Multi-line explanations
@@ -260,25 +260,25 @@ start-point is either a local or remote-tracking branch.
 	Only list branches whose tips are not reachable from the
 	specified commit (`HEAD` if not specified). Implies `--list`.
 
-<branchname>::
+`<branchname>`::
 	The name of the branch to create or delete.
 	The new branch name must pass all checks defined by
 	linkgit:git-check-ref-format[1].  Some of these checks
 	may restrict the characters allowed in a branch name.
 
-<start-point>::
+`<start-point>`::
 	The new branch head will point to this commit.  It may be
 	given as a branch name, a commit-id, or a tag.  If this
 	option is omitted, the current `HEAD` will be used instead.
 
-<oldbranch>::
+`<oldbranch>`::
 	The name of an existing branch to rename.
 
-<newbranch>::
+`<newbranch>`::
 	The new name for an existing branch. The same restrictions as for
 	<branchname> apply.
 
---sort=<key>::
+`--sort=<key>`::
 	Sort based on the key given. Prefix `-` to sort in descending
 	order of the value. You may use the `--sort=<key>` option
 	multiple times, in which case the last key becomes the primary
diff --git a/Documentation/git-bundle.txt b/Documentation/git-bundle.txt
index 51f8dd463f..92499c452d 100644
--- a/Documentation/git-bundle.txt
+++ b/Documentation/git-bundle.txt
@@ -63,7 +63,7 @@ unbundle <file>::
 	references matching those in the list are printed. This command is
 	really plumbing, intended to be called only by `git fetch`.
 
-<git-rev-list-args>::
+`<git-rev-list-args>`::
 	A list of arguments, acceptable to `git rev-parse` and
 	`git rev-list` (and containing a named ref, see SPECIFYING REFERENCES
 	below), that specifies the specific objects and references
@@ -81,13 +81,13 @@ unbundle <file>::
 	necessarily everything in the pack (in this case, `git bundle` acts
 	like `git fetch-pack`).
 
---progress::
+`--progress`::
 	Progress status is reported on the standard error stream
 	by default when it is attached to a terminal, unless -q
 	is specified. This flag forces progress status even if
 	the standard error stream is not directed to a terminal.
 
---all-progress::
+`--all-progress`::
 	When `--stdout` is specified then progress report is
 	displayed during the object count and compression phases
 	but inhibited during the write-out phase. The reason is
@@ -98,19 +98,19 @@ unbundle <file>::
 	report for the write-out phase as well even if `--stdout` is
 	used.
 
---all-progress-implied::
+`--all-progress-implied`::
 	This is used to imply `--all-progress` whenever progress display
 	is activated.  Unlike `--all-progress` this flag doesn't actually
 	force any progress display by itself.
 
---version=<version>::
+`--version=<version>`::
 	Specify the bundle version.  Version 2 is the older format and can only be
 	used with SHA-1 repositories; the newer version 3 contains capabilities that
 	permit extensions. The default is the oldest supported format, based on the
 	hash algorithm in use.
 
--q::
---quiet::
+`-q`::
+`--quiet`::
 	This flag makes the command not to report its progress
 	on the standard error stream.
 
diff --git a/Documentation/git-cat-file.txt b/Documentation/git-cat-file.txt
index 3ac3d44fcb..ace67493f6 100644
--- a/Documentation/git-cat-file.txt
+++ b/Documentation/git-cat-file.txt
@@ -28,28 +28,28 @@ whitespace, so that the appropriate drivers can be determined.
 
 OPTIONS
 -------
-<object>::
+`<object>`::
 	The name of the object to show.
 	For a more complete list of ways to spell object names, see
 	the "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
 
--t::
+`-t`::
 	Instead of the content, show the object type identified by
 	`<object>`.
 
--s::
+`-s`::
 	Instead of the content, show the object size identified by
 	`<object>`.
 
--e::
+`-e`::
 	Exit with zero status if `<object>` exists and is a valid
 	object. If `<object>` is of an invalid format exit with non-zero and
 	emits an error on stderr.
 
--p::
+`-p`::
 	Pretty-print the contents of `<object>` based on its type.
 
-<type>::
+`<type>`::
 	Typically this matches the real type of `<object>` but asking
 	for a type that can trivially be dereferenced from the given
 	`<object>` is also permitted.  An example is to ask for a
@@ -57,54 +57,54 @@ OPTIONS
 	or to ask for a "blob" with `<object>` being a tag object that
 	points at it.
 
---textconv::
+`--textconv`::
 	Show the content as transformed by a textconv filter. In this case,
 	`<object>` has to be of the form `<tree-ish>:<path>`, or `:<path>` in
 	order to apply the filter to the content recorded in the index at
 	`<path>`.
 
---filters::
+`--filters`::
 	Show the content as converted by the filters configured in
 	the current working tree for the given `<path>` (i.e. smudge filters,
 	end-of-line conversion, etc). In this case, `<object>` has to be of
 	the form `<tree-ish>:<path>`, or `:<path>`.
 
---path=<path>::
+`--path=<path>`::
 	For use with `--textconv` or `--filters`, to allow specifying an object
 	name and a path separately, e.g. when it is difficult to figure out
 	the revision from which the blob came.
 
---batch::
---batch=<format>::
+`--batch`::
+`--batch=<format>`::
 	Print object information and contents for each object provided
 	on stdin.  May not be combined with any other options or arguments
 	except `--textconv` or `--filters`, in which case the input lines
 	also need to specify the path, separated by whitespace.  See the
 	section `BATCH OUTPUT` below for details.
 
---batch-check::
---batch-check=<format>::
+`--batch-check`::
+`--batch-check=<format>`::
 	Print object information for each object provided on stdin.  May
 	not be combined with any other options or arguments except
 	`--textconv` or `--filters`, in which case the input lines also
 	need to specify the path, separated by whitespace.  See the
 	section `BATCH OUTPUT` below for details.
 
---batch-all-objects::
+`--batch-all-objects`::
 	Instead of reading a list of objects on stdin, perform the
 	requested batch operation on all objects in the repository and
 	any alternate object stores (not just reachable objects).
 	Requires `--batch` or `--batch-check` be specified. Note that
 	the objects are visited in order sorted by their hashes.
 
---buffer::
+`--buffer`::
 	Normally batch output is flushed after each object is output, so
 	that a process can interactively read and write from
 	`cat-file`. With this option, the output uses normal stdio
 	buffering; this is much more efficient when invoking
 	`--batch-check` on a large number of objects.
 
---unordered::
+`--unordered`::
 	When `--batch-all-objects` is in use, visit objects in an
 	order which may be more efficient for accessing the object
 	contents than hash order. The exact details of the order are
@@ -114,10 +114,10 @@ OPTIONS
 	only once, even if it is stored multiple times in the
 	repository.
 
---allow-unknown-type::
+`--allow-unknown-type`::
 	Allow `-s` or `-t` to query broken/corrupt objects of unknown type.
 
---follow-symlinks::
+`--follow-symlinks`::
 	With `--batch` or `--batch-check`, follow symlinks inside the
 	repository when requesting objects with extended SHA-1
 	expressions of the form tree-ish:path-in-tree.  Instead of
diff --git a/Documentation/git-check-attr.txt b/Documentation/git-check-attr.txt
index 0ac496700e..45ec659231 100644
--- a/Documentation/git-check-attr.txt
+++ b/Documentation/git-check-attr.txt
@@ -24,14 +24,14 @@ OPTIONS
 	paths.  If this option is used, then 'unspecified' attributes
 	will not be included in the output.
 
---cached::
+`--cached`::
 	Consider `.gitattributes` in the index only, ignoring the working tree.
 
---stdin::
+`--stdin`::
 	Read pathnames from the standard input, one per line,
 	instead of from the command-line.
 
--z::
+`-z`::
 	The output format is modified to be machine-parsable.
 	If `--stdin` is also given, input paths are separated
 	with a NUL character instead of a linefeed character.
@@ -57,10 +57,10 @@ unless `-z` is in effect, in which case NUL is used as delimiter:
 <path> is the path of a file being queried, <attribute> is an attribute
 being queried and <info> can be either:
 
-'unspecified';; when the attribute is not defined for the path.
-'unset';;	when the attribute is defined as false.
-'set';;		when the attribute is defined as true.
-<value>;;	when a value has been assigned to the attribute.
+`unspecified`;; when the attribute is not defined for the path.
+`unset`;;	when the attribute is defined as false.
+`set`;;		when the attribute is defined as true.
+`<value>`;;	when a value has been assigned to the attribute.
 
 Buffering happens as documented under the `GIT_FLUSH` option in
 linkgit:git[1].  The caller is responsible for avoiding deadlocks
diff --git a/Documentation/git-check-ignore.txt b/Documentation/git-check-ignore.txt
index 56a4f655c8..eabe8467ef 100644
--- a/Documentation/git-check-ignore.txt
+++ b/Documentation/git-check-ignore.txt
@@ -40,11 +40,11 @@ OPTIONS
 For precedence rules within and between exclude sources, see
 linkgit:gitignore[5].
 
---stdin::
+`--stdin`::
 	Read pathnames from the standard input, one per line,
 	instead of from the command-line.
 
--z::
+`-z`::
 	The output format is modified to be machine-parsable (see
 	below).  If `--stdin` is also given, input paths are separated
 	with a NUL character instead of a linefeed character.
@@ -55,7 +55,7 @@ linkgit:gitignore[5].
 	not be possible to distinguish between paths which match a
 	pattern and those which don't.
 
---no-index::
+`--no-index`::
 	Don't look in the index when undertaking the checks. This can
 	be used to debug why a path became tracked by e.g. `git add .`
 	and was not ignored by the rules as expected by the user or when
diff --git a/Documentation/git-check-mailmap.txt b/Documentation/git-check-mailmap.txt
index 302049afe4..d9a8e368c6 100644
--- a/Documentation/git-check-mailmap.txt
+++ b/Documentation/git-check-mailmap.txt
@@ -23,7 +23,7 @@ otherwise print the input as-is.
 
 OPTIONS
 -------
---stdin::
+`--stdin`::
 	Read contacts, one per line, from the standard input after exhausting
 	contacts provided on the command-line.
 
diff --git a/Documentation/git-check-ref-format.txt b/Documentation/git-check-ref-format.txt
index 77beb46e98..d97ee8892f 100644
--- a/Documentation/git-check-ref-format.txt
+++ b/Documentation/git-check-ref-format.txt
@@ -98,19 +98,19 @@ a branch.
 
 OPTIONS
 -------
---[no-]allow-onelevel::
+`--[no-]allow-onelevel`::
 	Controls whether one-level refnames are accepted (i.e.,
 	refnames that do not contain multiple `/`-separated
 	components).  The default is `--no-allow-onelevel`.
 
---refspec-pattern::
+`--refspec-pattern`::
 	Interpret <refname> as a reference name pattern for a refspec
 	(as used with remote repositories).  If this option is
 	enabled, <refname> is allowed to contain a single `*`
 	in the refspec (e.g., `foo/bar*/baz` or `foo/bar*baz/`
 	but not `foo/bar*/baz*`).
 
---normalize::
+`--normalize`::
 	Normalize 'refname' by removing any leading slash (`/`)
 	characters and collapsing runs of adjacent slashes between
 	name components into a single slash.  If the normalized
diff --git a/Documentation/git-checkout-index.txt b/Documentation/git-checkout-index.txt
index 6e49062ea3..8b70168926 100644
--- a/Documentation/git-checkout-index.txt
+++ b/Documentation/git-checkout-index.txt
@@ -22,30 +22,30 @@ Will copy all files listed from the index to the working directory
 
 OPTIONS
 -------
--u::
---index::
+`-u`::
+`--index`::
 	update stat information for the checked out entries in
 	the index file.
 
--q::
---quiet::
+`-q`::
+`--quiet`::
 	be quiet if files exist or are not in the index
 
--f::
---force::
+`-f`::
+`--force`::
 	forces overwrite of existing files
 
--a::
---all::
+`-a`::
+`--all`::
 	checks out all files in the index.  Cannot be used
 	together with explicit filenames.
 
--n::
---no-create::
+`-n`::
+`--no-create`::
 	Don't checkout new files, only refresh files already checked
 	out.
 
---prefix=<string>::
+`--prefix=<string>`::
 	When creating files, prepend <string> (usually a directory
 	including a trailing /)
 
@@ -54,17 +54,17 @@ OPTIONS
 	files from named stage.  <number> must be between 1 and 3.
 	Note: `--stage=all` automatically implies `--temp`.
 
---temp::
+`--temp`::
 	Instead of copying the files to the working directory
 	write the content to temporary files.  The temporary name
 	associations will be written to stdout.
 
---stdin::
+`--stdin`::
 	Instead of taking list of paths from the command line,
 	read list of paths from the standard input.  Paths are
 	separated by LF (i.e. one path per line) by default.
 
--z::
+`-z`::
 	Only meaningful with `--stdin`; paths are separated with
 	NUL character instead of LF.
 
diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index 15f9690e37..a6cd887e3c 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -104,19 +104,19 @@ file can be discarded to re-create the original conflicted merge result.
 
 OPTIONS
 -------
--q::
---quiet::
+`-q`::
+`--quiet`::
 	Quiet, suppress feedback messages.
 
---progress::
---no-progress::
+`--progress`::
+`--no-progress`::
 	Progress status is reported on the standard error stream
 	by default when it is attached to a terminal, unless `--quiet`
 	is specified. This flag enables progress reporting even if not
 	attached to a terminal, regardless of `--quiet`.
 
--f::
---force::
+`-f`::
+`--force`::
 	When switching branches, proceed even if the index or the
 	working tree differs from `HEAD`.  This is used to throw away
 	local changes.
@@ -124,8 +124,8 @@ OPTIONS
 When checking out paths from the index, do not fail upon unmerged
 entries; instead, unmerged entries are ignored.
 
---ours::
---theirs::
+`--ours`::
+`--theirs`::
 	When checking out paths from the index, check out stage #2
 	('ours') or #3 ('theirs') for unmerged paths.
 +
@@ -154,8 +154,8 @@ of it").
 	equivalent to running `git branch` with `-f`; see
 	linkgit:git-branch[1] for details.
 
--t::
---track::
+`-t`::
+`--track`::
 	When creating a new branch, set up "upstream" configuration. See
 	`--track` in linkgit:git-branch[1] for details.
 +
@@ -169,12 +169,12 @@ off of `origin/hack` (or `remotes/origin/hack`, or even
 guessing results in an empty name, the guessing is aborted.  You can
 explicitly give a name with `-b` in such a case.
 
---no-track::
+`--no-track`::
 	Do not set up "upstream" configuration, even if the
 	`branch.autoSetupMerge` configuration variable is true.
 
---guess::
---no-guess::
+`--guess`::
+`--no-guess`::
 	If `<branch>` is not found but there does exist a tracking
 	branch in exactly one remote (call it `<remote>`) with a
 	matching name, treat as equivalent to
@@ -197,12 +197,12 @@ linkgit:git-config[1].
 The default behavior can be set via the `checkout.guess` configuration
 variable.
 
--l::
+`-l`::
 	Create the new branch's reflog; see linkgit:git-branch[1] for
 	details.
 
--d::
---detach::
+`-d`::
+`--detach`::
 	Rather than checking out a branch to work on it, check out a
 	commit for inspection and discardable experiments.
 	This is the default behavior of `git checkout <commit>` when
@@ -234,14 +234,14 @@ branch by running `git rm -rf .` from the top level of the working tree.
 Afterwards you will be ready to prepare your new files, repopulating the
 working tree, by copying them from elsewhere, extracting a tarball, etc.
 
---ignore-skip-worktree-bits::
+`--ignore-skip-worktree-bits`::
 	In sparse checkout mode, `git checkout -- <paths>` would
 	update only entries matched by `<paths>` and sparse patterns
 	in `$GIT_DIR/info/sparse-checkout`. This option ignores
 	the sparse patterns and adds back any files in `<paths>`.
 
--m::
---merge::
+`-m`::
+`--merge`::
 	When switching branches,
 	if you have local modifications to one or more files that
 	are different between the current branch and the branch to
@@ -261,15 +261,15 @@ the conflicted merge in the specified paths.
 +
 When switching branches with `--merge`, staged changes may be lost.
 
---conflict=<style>::
+`--conflict=<style>`::
 	The same as `--merge` option above, but changes the way the
 	conflicting hunks are presented, overriding the
 	`merge.conflictStyle` configuration variable.  Possible values are
 	"merge" (default) and "diff3" (in addition to what is shown by
 	"merge" style, shows the original contents).
 
--p::
---patch::
+`-p`::
+`--patch`::
 	Interactively select hunks in the difference between the
 	`<tree-ish>` (or the index, if unspecified) and the working
 	tree.  The chosen hunks are then applied in reverse to the
@@ -282,20 +282,20 @@ section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
 Note that this option uses the no overlay mode by default (see also
 `--overlay`), and currently doesn't support overlay mode.
 
---ignore-other-worktrees::
+`--ignore-other-worktrees`::
 	`git checkout` refuses when the wanted ref is already checked
 	out by another worktree. This option makes it check the ref
 	out anyway. In other words, the ref can be held by more than one
 	worktree.
 
---overwrite-ignore::
---no-overwrite-ignore::
+`--overwrite-ignore`::
+`--no-overwrite-ignore`::
 	Silently overwrite ignored files when switching branches. This
 	is the default behavior. Use `--no-overwrite-ignore` to abort
 	the operation when the new branch contains ignored files.
 
---recurse-submodules::
---no-recurse-submodules::
+`--recurse-submodules`::
+`--no-recurse-submodules`::
 	Using `--recurse-submodules` will update the content of all active
 	submodules according to the commit recorded in the superproject. If
 	local modifications in a submodule would be overwritten the checkout
@@ -304,15 +304,15 @@ Note that this option uses the no overlay mode by default (see also
 	Just like linkgit:git-submodule[1], this will detach `HEAD` of the
 	submodule.
 
---overlay::
---no-overlay::
+`--overlay`::
+`--no-overlay`::
 	In the default overlay mode, `git checkout` never
 	removes files from the index or the working tree.  When
 	specifying `--no-overlay`, files that appear in the index and
 	working tree, but not in `<tree-ish>` are removed, to make them
 	match `<tree-ish>` exactly.
 
---pathspec-from-file=<file>::
+`--pathspec-from-file=<file>`::
 	Pathspec is passed in `<file>` instead of commandline args. If
 	`<file>` is exactly `-` then standard input is used. Pathspec
 	elements are separated by LF or CR/LF. Pathspec elements can be
@@ -320,12 +320,12 @@ Note that this option uses the no overlay mode by default (see also
 	(see linkgit:git-config[1]). See also `--pathspec-file-nul` and
 	global `--literal-pathspecs`.
 
---pathspec-file-nul::
+`--pathspec-file-nul`::
 	Only meaningful with `--pathspec-from-file`. Pathspec elements are
 	separated with NUL character and all other characters are taken
 	literally (including newlines and quotes).
 
-<branch>::
+`<branch>`::
 	Branch to checkout; if it refers to a branch (i.e., a name that,
 	when prepended with `refs/heads/`, is a valid ref), then that
 	branch is checked out. Otherwise, if it refers to a valid
@@ -351,7 +351,7 @@ As a special case, you may use `"A...B"` as a shortcut for the
 merge base of `A` and `B` if there is exactly one merge base. You can
 leave out at most one of `A` and `B`, in which case it defaults to `HEAD`.
 
-<tree-ish>::
+`<tree-ish>`::
 	Tree to checkout from (when paths are given). If not specified,
 	the index will be used.
 +
diff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.txt
index fb12a67778..5d6021e4ca 100644
--- a/Documentation/git-cherry-pick.txt
+++ b/Documentation/git-cherry-pick.txt
@@ -50,19 +50,19 @@ OPTIONS
 	feed all <commit>... arguments to a single revision walk
 	(see a later example that uses 'maint master..next').
 
--e::
---edit::
+`-e`::
+`--edit`::
 	With this option, `git cherry-pick` will let you edit the commit
 	message prior to committing.
 
---cleanup=<mode>::
+`--cleanup=<mode>`::
 	This option determines how the commit message will be cleaned up before
 	being passed on to the commit machinery. See linkgit:git-commit[1] for more
 	details. In particular, if the '<mode>' is given a value of `scissors`,
 	scissors will be appended to `MERGE_MSG` before being passed on in the case
 	of a conflict.
 
--x::
+`-x`::
 	When recording the commit, append a line that says
 	"(cherry picked from commit ...)" to the original commit
 	message in order to indicate which commit this change was
@@ -76,7 +76,7 @@ OPTIONS
 	development branch), adding this information can be
 	useful.
 
--r::
+`-r`::
 	It used to be that the command defaulted to do `-x`
 	described above, and `-r` was to disable it.  Now the
 	default is not to do `-x` so this option is a no-op.
@@ -89,8 +89,8 @@ OPTIONS
 	the mainline and allows cherry-pick to replay the change
 	relative to the specified parent.
 
--n::
---no-commit::
+`-n`::
+`--no-commit`::
 	Usually the command automatically creates a sequence of commits.
 	This flag applies the changes necessary to cherry-pick
 	each named commit to your working tree and the index,
@@ -102,26 +102,26 @@ OPTIONS
 This is useful when cherry-picking more than one commits'
 effect to your index in a row.
 
--s::
---signoff::
+`-s`::
+`--signoff`::
 	Add a `Signed-off-by` trailer at the end of the commit message.
 	See the signoff option in linkgit:git-commit[1] for more information.
 
--S[<keyid>]::
---gpg-sign[=<keyid>]::
---no-gpg-sign::
+`-S[<keyid>]`::
+`--gpg-sign[=<keyid>]`::
+`--no-gpg-sign`::
 	GPG-sign commits. The `keyid` argument is optional and
 	defaults to the committer identity; if specified, it must be
 	stuck to the option without a space. `--no-gpg-sign` is useful to
 	countermand both `commit.gpgSign` configuration variable, and
 	earlier `--gpg-sign`.
 
---ff::
+`--ff`::
 	If the current `HEAD` is the same as the parent of the
 	cherry-pick'ed commit, then a fast forward to this commit will
 	be performed.
 
---allow-empty::
+`--allow-empty`::
 	By default, cherry-picking an empty commit will fail,
 	indicating that an explicit invocation of `git commit
 	--allow-empty` is required. This option overrides that
@@ -134,30 +134,30 @@ effect to your index in a row.
 	previous commit are dropped.  To force the inclusion of those commits
 	use `--keep-redundant-commits`.
 
---allow-empty-message::
+`--allow-empty-message`::
 	By default, cherry-picking a commit with an empty message will fail.
 	This option overrides that behavior, allowing commits with empty
 	messages to be cherry picked.
 
---keep-redundant-commits::
+`--keep-redundant-commits`::
 	If a commit being cherry picked duplicates a commit already in the
 	current history, it will become empty.  By default these
 	redundant commits cause `cherry-pick` to stop so the user can
 	examine the commit. This option overrides that behavior and
 	creates an empty commit object.  Implies `--allow-empty`.
 
---strategy=<strategy>::
+`--strategy=<strategy>`::
 	Use the given merge strategy.  Should only be used once.
 	See the MERGE STRATEGIES section in linkgit:git-merge[1]
 	for details.
 
--X<option>::
---strategy-option=<option>::
+`-X<option>`::
+`--strategy-option=<option>`::
 	Pass the merge strategy-specific option through to the
 	merge strategy.  See linkgit:git-merge[1] for details.
 
---rerere-autoupdate::
---no-rerere-autoupdate::
+`--rerere-autoupdate`::
+`--no-rerere-autoupdate`::
 	Allow the rerere mechanism to update the index with the
 	result of auto-conflict resolution if possible.
 
diff --git a/Documentation/git-cherry.txt b/Documentation/git-cherry.txt
index ab55060668..ff57fd3329 100644
--- a/Documentation/git-cherry.txt
+++ b/Documentation/git-cherry.txt
@@ -26,17 +26,17 @@ commits that do not.
 
 OPTIONS
 -------
--v::
+`-v`::
 	Show the commit subjects next to the SHA1s.
 
-<upstream>::
+`<upstream>`::
 	Upstream branch to search for equivalent commits.
 	Defaults to the upstream branch of `HEAD`.
 
-<head>::
+`<head>`::
 	Working branch; defaults to `HEAD`.
 
-<limit>::
+`<limit>`::
 	Do not report commits up to (and including) limit.
 
 EXAMPLES
diff --git a/Documentation/git-clean.txt b/Documentation/git-clean.txt
index 7923ae27a5..e782f48c2c 100644
--- a/Documentation/git-clean.txt
+++ b/Documentation/git-clean.txt
@@ -25,7 +25,7 @@ are affected.
 
 OPTIONS
 -------
--d::
+`-d`::
 	Normally, when no <path> is specified, `git clean` will not
 	recurse into untracked directories to avoid removing too much.
 	Specify `-d` to have it recurse into such directories as well.
@@ -33,34 +33,34 @@ OPTIONS
 	files matching the specified paths (with exceptions for nested
 	`git` directories mentioned under `--force`) will be removed.
 
--f::
---force::
+`-f`::
+`--force`::
 	If the Git configuration variable `clean.requireForce` is not set
 	to false, `git clean` will refuse to delete files or directories
 	unless given `-f` or `-i`.  Git will refuse to modify untracked
 	nested `git` repositories (directories with a .git subdirectory)
 	unless a second `-f` is given.
 
--i::
---interactive::
+`-i`::
+`--interactive`::
 	Show what would be done and clean files interactively. See
 	``Interactive mode'' for details.
 
--n::
---dry-run::
+`-n`::
+`--dry-run`::
 	Don't actually remove anything, just show what would be done.
 
--q::
---quiet::
+`-q`::
+`--quiet`::
 	Be quiet, only report errors, but not the files that are
 	successfully removed.
 
 -e <pattern>::
---exclude=<pattern>::
+`--exclude=<pattern>`::
 	Use the given exclude pattern in addition to the standard ignore rules
 	(see linkgit:gitignore[5]).
 
--x::
+`-x`::
 	Don't use the standard ignore rules (see linkgit:gitignore[5]), but
 	still use the ignore rules given with `-e` options from the command
 	line.  This allows removing all untracked
@@ -68,7 +68,7 @@ OPTIONS
 	conjunction with `git restore` or `git reset`) to create a pristine
 	working directory to test a clean build.
 
--X::
+`-X`::
 	Remove only files ignored by Git.  This may be useful to rebuild
 	everything from scratch, but keep manually created files.
 
@@ -94,7 +94,7 @@ You also could say `c` or `clean` above as long as the choice is unique.
 
 The main command loop has 6 subcommands.
 
-clean::
+`clean`::
 
    Start cleaning files and directories, and then quit.
 
@@ -125,11 +125,11 @@ ask each::
   to delete items. Please note that this action is not as efficient
   as the above two actions.
 
-quit::
+`quit`::
 
   This lets you quit without do cleaning.
 
-help::
+`help`::
 
   Show brief usage of interactive `git-clean`.
 
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index b8ca823467..935d191ae1 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -42,8 +42,8 @@ configuration variables.
 
 OPTIONS
 -------
--l::
---local::
+`-l`::
+`--local`::
 	When the repository to clone from is on a local machine,
 	this flag bypasses the normal "Git aware" transport
 	mechanism and clones the repository by making a copy of
@@ -62,14 +62,14 @@ Git transport instead.
 source repository, similar to running `cp -r src dst` while modifying
 `src`.
 
---no-hardlinks::
+`--no-hardlinks`::
 	Force the cloning process from a repository on a local
 	filesystem to copy the files under the `.git/objects`
 	directory instead of using hardlinks. This may be desirable
 	if you are trying to make a back-up of your repository.
 
--s::
---shared::
+`-s`::
+`--shared`::
 	When the repository to clone is on the local machine,
 	instead of using hard links, automatically setup
 	`.git/objects/info/alternates` to share the objects
@@ -110,7 +110,7 @@ objects from the source repository into a pack in the cloned repository.
 *NOTE*: see the NOTE for the `--shared` option, and also the
 `--dissociate` option.
 
---dissociate::
+`--dissociate`::
 	Borrow the objects from reference repositories specified
 	with the `--reference` options only to reduce network
 	transfer, and stop borrowing from them after a clone is made
@@ -121,23 +121,23 @@ objects from the source repository into a pack in the cloned repository.
 	same repository, and this option can be used to stop the
 	borrowing.
 
--q::
---quiet::
+`-q`::
+`--quiet`::
 	Operate quietly.  Progress is not reported to the standard
 	error stream.
 
--v::
---verbose::
+`-v`::
+`--verbose`::
 	Run verbosely. Does not affect the reporting of progress status
 	to the standard error stream.
 
---progress::
+`--progress`::
 	Progress status is reported on the standard error stream
 	by default when it is attached to a terminal, unless `--quiet`
 	is specified. This flag forces progress status even if the
 	standard error stream is not directed to a terminal.
 
---server-option=<option>::
+`--server-option=<option>`::
 	Transmit the given string to the server when communicating using
 	protocol version 2.  The given string must not contain a NUL or LF
 	character.  The server's handling of server options, including
@@ -145,16 +145,16 @@ objects from the source repository into a pack in the cloned repository.
 	When multiple `--server-option=<option>` are given, they are all
 	sent to the other side in the order listed on the command line.
 
--n::
---no-checkout::
+`-n`::
+`--no-checkout`::
 	No checkout of `HEAD` is performed after the clone is complete.
 
---[no-]reject-shallow::
+`--[no-]reject-shallow`::
 	Fail if the source repository is a shallow repository.
-	The 'clone.rejectShallow' configuration variable can be used to
+	The `clone.rejectShallow` configuration variable can be used to
 	specify the default.
 
---bare::
+`--bare`::
 	Make a 'bare' Git repository.  That is, instead of
 	creating `<directory>` and placing the administrative
 	files in `<directory>/.git`, make the `<directory>`
@@ -166,13 +166,13 @@ objects from the source repository into a pack in the cloned repository.
 	used, neither remote-tracking branches nor the related
 	configuration variables are created.
 
---sparse::
+`--sparse`::
 	Initialize the sparse-checkout file so the working
 	directory starts with only the files in the root
 	of the repository. The sparse-checkout file can be
 	modified to grow the working directory as needed.
 
---filter=<filter-spec>::
+`--filter=<filter-spec>`::
 	Use the partial clone feature and request that the server sends
 	a subset of reachable objects according to a given object filter.
 	When using `--filter`, the supplied `<filter-spec>` is used for
@@ -182,7 +182,7 @@ objects from the source repository into a pack in the cloned repository.
 	at least `<size>`. For more details on filter specifications, see
 	the `--filter` option in linkgit:git-rev-list[1].
 
---mirror::
+`--mirror`::
 	Set up a mirror of the source repository.  This implies `--bare`.
 	Compared to `--bare`, `--mirror` not only maps local branches of the
 	source to local branches of the target, it maps all refs (including
@@ -239,15 +239,15 @@ corresponding `--mirror` and `--no-tags` options instead.
 	tips of all branches. If you want to clone submodules shallowly,
 	also pass `--shallow-submodules`.
 
---shallow-since=<date>::
+`--shallow-since=<date>`::
 	Create a shallow clone with a history after the specified time.
 
---shallow-exclude=<revision>::
+`--shallow-exclude=<revision>`::
 	Create a shallow clone with a history, excluding commits
 	reachable from a specified remote branch or tag.  This option
 	can be specified multiple times.
 
---[no-]single-branch::
+`--[no-]single-branch`::
 	Clone only the history leading to the tip of a single branch,
 	either specified by the `--branch` option or the primary
 	branch remote's `HEAD` points at.
@@ -257,7 +257,7 @@ corresponding `--mirror` and `--no-tags` options instead.
 	branch when `--single-branch` clone was made, no remote-tracking
 	branch is created.
 
---no-tags::
+`--no-tags`::
 	Don't clone any tags, and set
 	`remote.<remote>.tagOpt=--no-tags` in the config, ensuring
 	that future `git pull` and `git fetch` operations won't follow
@@ -269,7 +269,7 @@ maintain a branch with no references other than a single cloned
 branch. This is useful e.g. to maintain minimal clones of the default
 branch of some repository for search indexing.
 
---recurse-submodules[=<pathspec>]::
+`--recurse-submodules[=<pathspec>]`::
 	After the clone is created, initialize and clone submodules
 	within based on the provided pathspec.  If no pathspec is
 	provided, all submodules are initialized and cloned.
@@ -285,10 +285,10 @@ the clone is finished. This option is ignored if the cloned repository does
 not have a worktree/checkout (i.e. if any of `--no-checkout`/`-n`, `--bare`,
 or `--mirror` is given)
 
---[no-]shallow-submodules::
+`--[no-]shallow-submodules`::
 	All submodules which are cloned will be shallow with a depth of 1.
 
---[no-]remote-submodules::
+`--[no-]remote-submodules`::
 	All submodules which are cloned will use the status of the submodule's
 	remote-tracking branch to update the submodule, rather than the
 	superproject's recorded SHA-1. Equivalent to passing `--remote` to
@@ -306,12 +306,12 @@ or `--mirror` is given)
 	The number of submodules fetched at the same time.
 	Defaults to the `submodule.fetchJobs` option.
 
-<repository>::
+`<repository>`::
 	The (possibly remote) repository to clone from.  See the
 	<<URLS,GIT URLS>> section below for more information on specifying
 	repositories.
 
-<directory>::
+`<directory>`::
 	The name of a new directory to clone into.  The "humanish"
 	part of the source repository is used if no directory is
 	explicitly given (`repo` for `/path/to/repo.git` and `foo`
diff --git a/Documentation/git-commit-graph.txt b/Documentation/git-commit-graph.txt
index 3246616b10..1e6db29d4a 100644
--- a/Documentation/git-commit-graph.txt
+++ b/Documentation/git-commit-graph.txt
@@ -21,7 +21,7 @@ Manage the serialized commit-graph file.
 
 OPTIONS
 -------
---object-dir::
+`--object-dir`::
 	Use given directory for the location of packfiles and commit-graph
 	file. This parameter exists to specify the location of an alternate
 	that only has the objects directory, not a full `.git` directory. The
@@ -31,13 +31,13 @@ OPTIONS
 	object directory, `git commit-graph ...` will exit with non-zero
 	status.
 
---[no-]progress::
+`--[no-]progress`::
 	Turn progress on/off explicitly. If neither is specified, progress is
 	shown if standard error is connected to a terminal.
 
 COMMANDS
 --------
-'write'::
+`write`::
 
 Write a commit-graph file based on the commits found in packfiles. If
 the config option `core.commitGraph` is disabled, then this command will
@@ -103,7 +103,7 @@ Finally, if `--expire-time=<datetime>` is not specified, let `datetime`
 be the current time. After writing the split commit-graph, delete all
 unused commit-graph whose modified times are older than `datetime`.
 
-'verify'::
+`verify`::
 
 Read the commit-graph file and verify its contents against the object
 database. Used to check for corrupted data.
diff --git a/Documentation/git-commit-tree.txt b/Documentation/git-commit-tree.txt
index 48a76dd029..47f21f4bcc 100644
--- a/Documentation/git-commit-tree.txt
+++ b/Documentation/git-commit-tree.txt
@@ -44,7 +44,7 @@ state was.
 
 OPTIONS
 -------
-<tree>::
+`<tree>`::
 	An existing tree object.
 
 -p <parent>::
@@ -59,9 +59,9 @@ OPTIONS
 	from the standard input. This can be given more than once and the
 	content of each file becomes its own paragraph.
 
--S[<keyid>]::
---gpg-sign[=<keyid>]::
---no-gpg-sign::
+`-S[<keyid>]`::
+`--gpg-sign[=<keyid>]`::
+`--no-gpg-sign`::
 	GPG-sign commits. The `keyid` argument is optional and
 	defaults to the committer identity; if specified, it must be
 	stuck to the option without a space. `--no-gpg-sign` is useful to
diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index 3b22ba718c..48be5646c4 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -64,26 +64,26 @@ that, you can recover from it with `git reset`.
 
 OPTIONS
 -------
--a::
---all::
+`-a`::
+`--all`::
 	Tell the command to automatically stage files that have
 	been modified and deleted, but new files you have not
 	told Git about are not affected.
 
--p::
---patch::
+`-p`::
+`--patch`::
 	Use the interactive patch selection interface to chose
 	which changes to commit. See linkgit:git-add[1] for
 	details.
 
 -C <commit>::
---reuse-message=<commit>::
+`--reuse-message=<commit>`::
 	Take an existing commit object, and reuse the log message
 	and the authorship information (including the timestamp)
 	when creating the commit.
 
 -c <commit>::
---reedit-message=<commit>::
+`--reedit-message=<commit>`::
 	Like `-C`, but with `-c` the editor is invoked, so that
 	the user can further edit the commit message.
 
@@ -126,37 +126,37 @@ Neither "fixup!" nor "amend!" commits change authorship of
 `<commit>` when applied by `git rebase --autosquash`.
 See linkgit:git-rebase[1] for details.
 
---squash=<commit>::
+`--squash=<commit>`::
 	Construct a commit message for use with `rebase --autosquash`.
 	The commit message subject line is taken from the specified
 	commit with a prefix of "squash! ".  Can be used with additional
 	commit message options (`-m`/`-c`/`-C`/`-F`). See
 	linkgit:git-rebase[1] for details.
 
---reset-author::
+`--reset-author`::
 	When used with `-C`/`-c`/`--amend` options, or when committing after a
 	conflicting cherry-pick, declare that the authorship of the
 	resulting commit now belongs to the committer. This also renews
 	the author timestamp.
 
---short::
+`--short`::
 	When doing a dry-run, give the output in the short-format. See
 	linkgit:git-status[1] for details. Implies `--dry-run`.
 
---branch::
+`--branch`::
 	Show the branch and tracking info even in short-format.
 
---porcelain::
+`--porcelain`::
 	When doing a dry-run, give the output in a porcelain-ready
 	format. See linkgit:git-status[1] for details. Implies
 	`--dry-run`.
 
---long::
+`--long`::
 	When doing a dry-run, give the output in the long-format.
 	Implies `--dry-run`.
 
--z::
---null::
+`-z`::
+`--null`::
 	When showing `short` or `porcelain` status output, print the
 	filename verbatim and terminate the entries with NUL, instead of LF.
 	If no format is given, implies the `--porcelain` output format.
@@ -165,22 +165,22 @@ See linkgit:git-rebase[1] for details.
 	(see linkgit:git-config[1]).
 
 -F <file>::
---file=<file>::
+`--file=<file>`::
 	Take the commit message from the given file.  Use '-' to
 	read the message from the standard input.
 
---author=<author>::
+`--author=<author>`::
 	Override the commit author. Specify an explicit author using the
 	standard `A U Thor <author@example.com>` format. Otherwise <author>
 	is assumed to be a pattern and is used to search for an existing
 	commit by that author (i.e. `git rev-list --all -i --author=<author>`);
 	the commit author is then copied from the first such commit found.
 
---date=<date>::
+`--date=<date>`::
 	Override the author date used in the commit.
 
 -m <msg>::
---message=<msg>::
+`--message=<msg>`::
 	Use the given <msg> as the commit message.
 	If multiple `-m` options are given, their values are
 	concatenated as separate paragraphs.
@@ -188,7 +188,7 @@ See linkgit:git-rebase[1] for details.
 The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.
 
 -t <file>::
---template=<file>::
+`--template=<file>`::
 	When editing the commit message, start the editor with the
 	contents in the given file.  The `commit.template` configuration
 	variable is often used to give this option implicitly to the
@@ -200,7 +200,7 @@ The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.
 
 include::signoff-option.txt[]
 
---trailer <token>[(=|:)<value>]::
+`--trailer <token>[(=|:)<value>]`::
 	Specify a (<token>, <value>) pair that should be applied as a
 	trailer. (e.g. `git commit --trailer "Signed-off-by:C O Mitter \
 	<committer@example.com>" --trailer "Helped-by:C O Mitter \
@@ -211,44 +211,44 @@ include::signoff-option.txt[]
 	a duplicated trailer is omitted, where in the run of trailers
 	each trailer would appear, and other details.
 
--n::
---no-verify::
+`-n`::
+`--no-verify`::
 	This option bypasses the pre-commit and commit-msg hooks.
 	See also linkgit:githooks[5].
 
---allow-empty::
+`--allow-empty`::
 	Usually recording a commit that has the exact same tree as its
 	sole parent commit is a mistake, and the command prevents you
 	from making such a commit.  This option bypasses the safety, and
 	is primarily for use by foreign SCM interface scripts.
 
---allow-empty-message::
+`--allow-empty-message`::
        Like `--allow-empty` this command is primarily for use by foreign
        SCM interface scripts. It allows you to create a commit with an
        empty commit message without using plumbing commands like
        linkgit:git-commit-tree[1].
 
---cleanup=<mode>::
+`--cleanup=<mode>`::
 	This option determines how the supplied commit message should be
 	cleaned up before committing.  The '<mode>' can be `strip`,
 	`whitespace`, `verbatim`, `scissors` or `default`.
 +
 --
-strip::
+`strip`::
 	Strip leading and trailing empty lines, trailing whitespace,
 	commentary and collapse consecutive empty lines.
-whitespace::
+`whitespace`::
 	Same as `strip` except #commentary is not removed.
-verbatim::
+`verbatim`::
 	Do not change the message at all.
-scissors::
+`scissors`::
 	Same as `whitespace` except that everything from (and including)
 	the line found below is truncated, if the message is to be edited.
 	"`#`" can be customized with `core.commentChar`.
 
 		# ------------------------ >8 ------------------------
 
-default::
+`default`::
 	Same as `strip` if the message is to be edited.
 	Otherwise `whitespace`.
 --
@@ -256,19 +256,19 @@ default::
 The default can be changed by the `commit.cleanup` configuration
 variable (see linkgit:git-config[1]).
 
--e::
---edit::
+`-e`::
+`--edit`::
 	The message taken from file with `-F`, command line with
 	`-m`, and from commit object with `-C` are usually used as
 	the commit log message unmodified. This option lets you
 	further edit the message taken from these sources.
 
---no-edit::
+`--no-edit`::
 	Use the selected commit message without launching an editor.
 	For example, `git commit --amend --no-edit` amends a commit
 	without changing its commit message.
 
---amend::
+`--amend`::
 	Replace the tip of the current branch by creating a new
 	commit. The recorded tree is prepared as usual (including
 	the effect of the `-i` and `-o` options and explicit
@@ -294,18 +294,18 @@ You should understand the implications of rewriting history if you
 amend a commit that has already been published.  (See the "RECOVERING
 FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].)
 
---no-post-rewrite::
+`--no-post-rewrite`::
 	Bypass the post-rewrite hook.
 
--i::
---include::
+`-i`::
+`--include`::
 	Before making a commit out of staged contents so far,
 	stage the contents of paths given on the command line
 	as well.  This is usually not what you want unless you
 	are concluding a conflicted merge.
 
--o::
---only::
+`-o`::
+`--only`::
 	Make a commit by taking the updated working tree contents
 	of the paths specified on the
 	command line, disregarding any contents that have been
@@ -318,7 +318,7 @@ FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].)
 	already been staged. If used together with `--allow-empty`
 	paths are also not required, and an empty commit will be created.
 
---pathspec-from-file=<file>::
+`--pathspec-from-file=<file>`::
 	Pathspec is passed in `<file>` instead of commandline args. If
 	`<file>` is exactly `-` then standard input is used. Pathspec
 	elements are separated by LF or CR/LF. Pathspec elements can be
@@ -326,13 +326,13 @@ FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].)
 	(see linkgit:git-config[1]). See also `--pathspec-file-nul` and
 	global `--literal-pathspecs`.
 
---pathspec-file-nul::
+`--pathspec-file-nul`::
 	Only meaningful with `--pathspec-from-file`. Pathspec elements are
 	separated with NUL character and all other characters are taken
 	literally (including newlines and quotes).
 
--u[<mode>]::
---untracked-files[=<mode>]::
+`-u[<mode>]`::
+`--untracked-files[=<mode>]`::
 	Show untracked files.
 +
 --
@@ -350,8 +350,8 @@ The default can be changed using the `status.showUntrackedFiles`
 configuration variable documented in linkgit:git-config[1].
 --
 
--v::
---verbose::
+`-v`::
+`--verbose`::
 	Show unified diff between the `HEAD` commit and what
 	would be committed at the bottom of the commit message
 	template to help the user describe the commit by reminding
@@ -365,29 +365,29 @@ If specified twice, show in addition the unified diff between
 what would be committed and the worktree files, i.e. the unstaged
 changes to tracked files.
 
--q::
---quiet::
+`-q`::
+`--quiet`::
 	Suppress commit summary message.
 
---dry-run::
+`--dry-run`::
 	Do not create a commit, but show a list of paths that are
 	to be committed, paths with local changes that will be left
 	uncommitted and paths that are untracked.
 
---status::
+`--status`::
 	Include the output of linkgit:git-status[1] in the commit
 	message template when using an editor to prepare the commit
 	message.  Defaults to on, but can be used to override
 	configuration variable `commit.status`.
 
---no-status::
+`--no-status`::
 	Do not include the output of linkgit:git-status[1] in the
 	commit message template when using an editor to prepare the
 	default commit message.
 
--S[<keyid>]::
---gpg-sign[=<keyid>]::
---no-gpg-sign::
+`-S[<keyid>]`::
+`--gpg-sign[=<keyid>]`::
+`--no-gpg-sign`::
 	GPG-sign commits. The `keyid` argument is optional and
 	defaults to the committer identity; if specified, it must be
 	stuck to the option without a space. `--no-gpg-sign` is useful to
diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt
index 80b646b895..b70aad6e0f 100644
--- a/Documentation/git-config.txt
+++ b/Documentation/git-config.txt
@@ -74,24 +74,24 @@ On success, the command returns the exit code 0.
 OPTIONS
 -------
 
---replace-all::
+`--replace-all`::
 	Default behavior is to replace at most one line. This replaces
 	all lines matching the key (and optionally the `value-pattern`).
 
---add::
+`--add`::
 	Adds a new line to the option without altering any existing
 	values.  This is the same as providing '^$' as the `value-pattern`
 	in `--replace-all`.
 
---get::
+`--get`::
 	Get the value for a given key (optionally filtered by a regex
 	matching the value). Returns error code 1 if the key was not
 	found and the last value if multiple key values were found.
 
---get-all::
+`--get-all`::
 	Like get, but returns all values for a multi-valued key.
 
---get-regexp::
+`--get-regexp`::
 	Like `--get-all`, but interprets the name as a regular expression and
 	writes out the key names.  Regular expression matching is currently
 	case-sensitive and done against a canonicalized version of the key
@@ -106,7 +106,7 @@ OPTIONS
 	section as name, do so for all the keys in the section and
 	list them.  Returns error code 1 if no value is found.
 
---global::
+`--global`::
 	For writing options: write to global `~/.gitconfig` file
 	rather than the repository `.git/config`, write to
 	`$XDG_CONFIG_HOME/git/config` file if this file exists and the
@@ -117,7 +117,7 @@ For reading options: read only from global `~/.gitconfig` and from
 +
 See also <<FILES>>.
 
---system::
+`--system`::
 	For writing options: write to system-wide
 	`$(prefix)/etc/gitconfig` rather than the repository
 	`.git/config`.
@@ -127,7 +127,7 @@ rather than from all available files.
 +
 See also <<FILES>>.
 
---local::
+`--local`::
 	For writing options: write to the repository `.git/config` file.
 	This is the default behavior.
 +
@@ -136,7 +136,7 @@ from all available files.
 +
 See also <<FILES>>.
 
---worktree::
+`--worktree`::
 	Similar to `--local` except that `.git/config.worktree` is
 	read from or written to if `extensions.worktreeConfig` is
 	present. If not it's the same as `--local`.
@@ -152,23 +152,23 @@ See also <<FILES>>.
 	section in linkgit:gitrevisions[7] for a more complete list of
 	ways to spell blob names.
 
---remove-section::
+`--remove-section`::
 	Remove the given section from the configuration file.
 
---rename-section::
+`--rename-section`::
 	Rename the given section to a new name.
 
---unset::
+`--unset`::
 	Remove the line matching the key from config file.
 
---unset-all::
+`--unset-all`::
 	Remove all lines matching the key from config file.
 
--l::
---list::
+`-l`::
+`--list`::
 	List all variables set in config file, along with their values.
 
---fixed-value::
+`--fixed-value`::
 	When used with the `value-pattern` argument, treat `value-pattern` as
 	an exact string instead of a regular expression. This will restrict
 	the name/value pairs that are matched to only those where the value
@@ -199,21 +199,21 @@ Valid `<type>`'s include:
   as-is.
 +
 
---bool::
---int::
---bool-or-int::
---path::
---expiry-date::
+`--bool`::
+`--int`::
+`--bool-or-int`::
+`--path`::
+`--expiry-date`::
   Historical options for selecting a type specifier. Prefer instead `--type`
   (see above).
 
---no-type::
+`--no-type`::
   Un-sets the previously set type specifier (if one was previously set). This
   option requests that `git config` not canonicalize the retrieved variable.
   `--no-type` has no effect without `--type=<type>` or `--<type>`.
 
--z::
---null::
+`-z`::
+`--null`::
 	For all options that output values and/or keys, always
 	end values with the null character (instead of a
 	newline). Use newline instead as a delimiter between
@@ -221,17 +221,17 @@ Valid `<type>`'s include:
 	output without getting confused e.g. by values that
 	contain line breaks.
 
---name-only::
+`--name-only`::
 	Output only the names of config variables for `--list` or
 	`--get-regexp`.
 
---show-origin::
+`--show-origin`::
 	Augment the output of all queried config options with the
 	origin type (file, standard input, blob, command line) and
 	the actual origin (config file path, ref, or blob id if
 	applicable).
 
---show-scope::
+`--show-scope`::
 	Similar to `--show-origin` in that it augments the output of
 	all queried config options with the scope of that value
 	(local, global, system, command).
@@ -258,12 +258,12 @@ Valid `<type>`'s include:
 (but note that `--get-color` will omit the trailing newline printed by
 `--type=color`).
 
--e::
---edit::
+`-e`::
+`--edit`::
 	Opens an editor to modify the specified config file; either
 	`--system`, `--global`, or repository (default).
 
---[no-]includes::
+`--[no-]includes`::
 	Respect `include.*` directives in config files when looking up
 	values. Defaults to `off` when a specific file is given (e.g.,
 	using `--file`, `--global`, etc) and `on` when searching all
diff --git a/Documentation/git-count-objects.txt b/Documentation/git-count-objects.txt
index a52bd618c4..6033087dbd 100644
--- a/Documentation/git-count-objects.txt
+++ b/Documentation/git-count-objects.txt
@@ -18,8 +18,8 @@ them, to help you decide when it is a good time to repack.
 
 OPTIONS
 -------
--v::
---verbose::
+`-v`::
+`--verbose`::
 	Report in more detail:
 +
 count: the number of loose objects
@@ -44,8 +44,8 @@ multiple times, one line per path. Note that if the path contains
 non-printable characters, it may be surrounded by double-quotes and
 contain C-style backslashed escape sequences.
 
--H::
---human-readable::
+`-H`::
+`--human-readable`::
 
 Print sizes in human readable format
 
diff --git a/Documentation/git-cvsexportcommit.txt b/Documentation/git-cvsexportcommit.txt
index 596512ec73..64e98c4f1d 100644
--- a/Documentation/git-cvsexportcommit.txt
+++ b/Documentation/git-cvsexportcommit.txt
@@ -34,52 +34,52 @@ parent the changeset should be done against.
 OPTIONS
 -------
 
--c::
+`-c`::
 	Commit automatically if the patch applied cleanly. It will not
 	commit if any hunks fail to apply or there were other problems.
 
--p::
+`-p`::
 	Be pedantic (paranoid) when applying patches. Invokes patch with
 	`--fuzz=0`
 
--a::
+`-a`::
 	Add authorship information. Adds Author line, and Committer (if
 	different from Author) to the message.
 
--d::
+`-d`::
 	Set an alternative CVSROOT to use.  This corresponds to the CVS
 	`-d` parameter.  Usually users will not want to set this, except
 	if using CVS in an asymmetric fashion.
 
--f::
+`-f`::
 	Force the merge even if the files are not up to date.
 
--P::
+`-P`::
 	Force the parent commit, even if it is not a direct parent.
 
--m::
+`-m`::
 	Prepend the commit message with the provided prefix.
 	Useful for patch series and the like.
 
--u::
+`-u`::
 	Update affected files from CVS repository before attempting export.
 
--k::
+`-k`::
 	Reverse CVS keyword expansion (e.g. $Revision: 1.2.3.4$
 	becomes $Revision$) in working CVS checkout before applying patch.
 
--w::
+`-w`::
 	Specify the location of the CVS checkout to use for the export. This
 	option does not require GIT_DIR to be set before execution if the
 	current directory is within a Git repository.  The default is the
 	value of `cvsexportcommit.cvsdir`.
 
--W::
+`-W`::
 	Tell cvsexportcommit that the current working directory is not only
 	a Git checkout, but also the CVS checkout.  Therefore, Git will
 	reset the working directory to the parent commit before proceeding.
 
--v::
+`-v`::
 	Verbose.
 
 CONFIGURATION
diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt
index ead844944e..5caeed88ed 100644
--- a/Documentation/git-cvsimport.txt
+++ b/Documentation/git-cvsimport.txt
@@ -49,7 +49,7 @@ See linkgit:gitcvs-migration[7].
 
 OPTIONS
 -------
--v::
+`-v`::
 	Verbosity: let 'cvsimport' report what it is doing.
 
 -d <CVSROOT>::
@@ -85,17 +85,17 @@ OPTIONS
 Use `-o master` for continuing an import that was initially done by
 the old cvs2git tool.
 
--i::
+`-i`::
 	Import-only: don't perform a checkout after importing.  This option
 	ensures the working directory and index remain untouched and will
 	not create them if they do not exist.
 
--k::
+`-k`::
 	Kill keywords: will extract files with `-kk` from the CVS archive
 	to avoid noisy changesets. Highly recommended, but off by default
 	to preserve compatibility with early imported trees.
 
--u::
+`-u`::
 	Convert underscores in tag and branch names to dots.
 
 -s <subst>::
@@ -115,7 +115,7 @@ If you need to pass multiple options, separate them with a comma.
 	Instead of calling cvsps, read the provided cvsps output file. Useful
 	for debugging or when cvsps is being handled outside cvsimport.
 
--m::
+`-m`::
 	Attempt to detect merges based on the commit message. This option
 	will enable default regexes that try to capture the source
 	branch name from the commit message.
@@ -132,7 +132,7 @@ This option can be used several times to provide several detection regexes.
 -S <regex>::
 	Skip paths matching the regex.
 
--a::
+`-a`::
 	Import all commits, including recent ones. cvsimport by default
 	skips commits that have a timestamp less than 10 minutes ago.
 
@@ -165,7 +165,7 @@ It is not recommended to use this feature if you intend to
 export changes back to CVS again later with
 `git cvsexportcommit`.
 
--R::
+`-R`::
 	Generate a `$GIT_DIR/cvs-revisions` file containing a mapping from CVS
 	revision numbers to newly-created Git commit IDs.  The generated file
 	will contain one line for each (filename, revision) pair imported;
@@ -181,7 +181,7 @@ doing incremental imports.
 This option may be useful if you have CVS revision numbers stored in commit
 messages, bug-tracking systems, email archives, and the like.
 
--h::
+`-h`::
 	Print a short usage message and exit.
 
 OUTPUT
diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt
index bf53d16a7f..5b7bfe6dc0 100644
--- a/Documentation/git-cvsserver.txt
+++ b/Documentation/git-cvsserver.txt
@@ -34,23 +34,23 @@ closely as possible.
 --base-path <path>::
 Prepend 'path' to requested CVSROOT
 
---strict-paths::
+`--strict-paths`::
 Don't allow recursing into subdirectories
 
---export-all::
+`--export-all`::
 Don't check for `gitcvs.enabled` in config. You also have to specify a list
 of allowed directories (see below) if you want to use this option.
 
--V::
---version::
+`-V`::
+`--version`::
 Print version information and exit
 
--h::
--H::
---help::
+`-h`::
+`-H`::
+`--help`::
 Print usage information and exit
 
-<directory>::
+`<directory>`::
 You can specify a list of allowed directories. If no directories
 are given, all are allowed. This is an additional restriction, gitcvs
 access still needs to be enabled by the `gitcvs.enabled` config option
diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt
index 3f684378f4..533be2b997 100644
--- a/Documentation/git-daemon.txt
+++ b/Documentation/git-daemon.txt
@@ -46,26 +46,26 @@ An `upload-archive` also exists to serve `git archive`.
 
 OPTIONS
 -------
---strict-paths::
+`--strict-paths`::
 	Match paths exactly (i.e. don't allow "/foo/repo" when the real path is
 	"/foo/repo.git" or "/foo/repo/.git") and don't do user-relative paths.
 	`git daemon` will refuse to start when this option is enabled and no
 	whitelist is specified.
 
---base-path=<path>::
+`--base-path=<path>`::
 	Remap all the path requests as relative to the given path.
 	This is sort of "Git root" - if you run `git daemon` with
 	`--base-path=/srv/git` on `example.com`, then if you later try to pull
 	`git://example.com/hello.git`, `git daemon` will interpret the path
 	as `/srv/git/hello.git`.
 
---base-path-relaxed::
+`--base-path-relaxed`::
 	If `--base-path` is enabled and repo lookup fails, with this option
 	`git daemon` will attempt to lookup without prefixing the base path.
 	This is useful for switching to `--base-path` usage, while still
 	allowing the old paths.
 
---interpolated-path=<pathtemplate>::
+`--interpolated-path=<pathtemplate>`::
 	To support virtual hosting, an interpolated path template can be
 	used to dynamically construct alternate paths.  The template
 	supports %H for the target hostname as supplied by the client but
@@ -75,12 +75,12 @@ OPTIONS
 	After interpolation, the path is validated against the directory
 	whitelist.
 
---export-all::
+`--export-all`::
 	Allow pulling from all directories that look like Git repositories
 	(have the 'objects' and 'refs' subdirectories), even if they
 	do not have the `git-daemon-export-ok` file.
 
---inetd::
+`--inetd`::
 	Have the server run as an inetd service. Implies `--syslog` (may be
 	overridden with `--log-destination=`).
 	Incompatible with `--detach`, `--port`, `--listen`, `--user` and `--group`
@@ -94,49 +94,49 @@ OPTIONS
 	Can be given more than once.
 	Incompatible with `--inetd` option.
 
---port=<n>::
+`--port=<n>`::
 	Listen on an alternative port.  Incompatible with `--inetd` option.
 
---init-timeout=<n>::
+`--init-timeout=<n>`::
 	Timeout (in seconds) between the moment the connection is established
 	and the client request is received (typically a rather low value, since
 	that should be basically immediate).
 
---timeout=<n>::
+`--timeout=<n>`::
 	Timeout (in seconds) for specific client sub-requests. This includes
 	the time it takes for the server to process the sub-request and the
 	time spent waiting for the next client's request.
 
---max-connections=<n>::
+`--max-connections=<n>`::
 	Maximum number of concurrent clients, defaults to 32.  Set it to
 	zero for no limit.
 
---syslog::
+`--syslog`::
 	Short for `--log-destination=syslog`.
 
---log-destination=<destination>::
+`--log-destination=<destination>`::
 	Send log messages to the specified destination.
 	Note that this option does not imply `--verbose`,
 	thus by default only error conditions will be logged.
 	The <destination> must be one of:
 +
 --
-stderr::
+`stderr`::
 	Write to standard error.
 	Note that if `--detach` is specified,
 	the process disconnects from the real standard error,
 	making this destination effectively equivalent to `none`.
-syslog::
+`syslog`::
 	Write to syslog, using the `git-daemon` identifier.
-none::
+`none`::
 	Disable all logging.
 --
 +
 The default destination is `syslog` if `--inetd` or `--detach` is specified,
 otherwise `stderr`.
 
---user-path::
---user-path=<path>::
+`--user-path`::
+`--user-path=<path>`::
 	Allow {tilde}user notation to be used in requests.  When
 	specified with no parameter, requests to
 	`git://host/~alice/foo` is taken as a request to access
@@ -145,23 +145,23 @@ otherwise `stderr`.
 	taken as a request to access `path/foo` repository in
 	the home directory of user `alice`.
 
---verbose::
+`--verbose`::
 	Log details about the incoming connections and requested files.
 
---reuseaddr::
+`--reuseaddr`::
 	Use SO_REUSEADDR when binding the listening socket.
 	This allows the server to restart without waiting for
 	old connections to time out.
 
---detach::
+`--detach`::
 	Detach from the shell. Implies `--syslog`.
 
---pid-file=<file>::
+`--pid-file=<file>`::
 	Save the process id in 'file'.  Ignored when the daemon
 	is run under `--inetd`.
 
---user=<user>::
---group=<group>::
+`--user=<user>`::
+`--group=<group>`::
 	Change daemon's uid and gid before entering the service loop.
 	When only `--user` is given without `--group`, the
 	primary group ID for the user is used.  The values of
@@ -179,21 +179,21 @@ may also want to set and export `HOME` to point at the home
 directory of `<user>` before starting the daemon, and make sure any
 Git configuration files in that directory are readable by `<user>`.
 
---enable=<service>::
---disable=<service>::
+`--enable=<service>`::
+`--disable=<service>`::
 	Enable/disable the service site-wide per default.  Note
 	that a service disabled site-wide can still be enabled
 	per repository if it is marked overridable and the
 	repository enables the service with a configuration
 	item.
 
---allow-override=<service>::
---forbid-override=<service>::
+`--allow-override=<service>`::
+`--forbid-override=<service>`::
 	Allow/forbid overriding the site-wide default with per
 	repository configuration.  By default, all the services
 	may be overridden.
 
---[no-]informative-errors::
+`--[no-]informative-errors`::
 	When informative errors are turned on, `git-daemon` will report
 	more verbose errors to the client, differentiating conditions
 	like "no such repository" from "repository not exported". This
@@ -202,7 +202,7 @@ Git configuration files in that directory are readable by `<user>`.
 	errors are not enabled, all errors report "access denied" to the
 	client. The default is `--no-informative-errors`.
 
---access-hook=<path>::
+`--access-hook=<path>`::
 	Every time a client connects, first run an external command
 	specified by the <path> with service name (e.g. "upload-pack"),
 	path to the repository, hostname (%H), canonical hostname
@@ -217,7 +217,7 @@ The external command can optionally write a single line to its
 standard output to be sent to the requestor as an error message when
 it declines the service.
 
-<directory>::
+`<directory>`::
 	A directory to add to the whitelist of allowed directories. Unless
 	`--strict-paths` is specified this will also include subdirectories
 	of each named directory.
@@ -232,18 +232,18 @@ against only in a few selected repositories the daemon serves),
 the per-repository configuration file can be used to enable or
 disable them.
 
-upload-pack::
+`upload-pack`::
 	This serves `git fetch-pack` and `git ls-remote`
 	clients.  It is enabled by default, but a repository can
 	disable it by setting `daemon.uploadpack` configuration
 	item to `false`.
 
-upload-archive::
+`upload-archive`::
 	This serves `git archive --remote`.  It is disabled by
 	default, but a repository can enable it by setting
 	`daemon.uploadarch` configuration item to `true`.
 
-receive-pack::
+`receive-pack`::
 	This serves `git send-pack` clients, allowing anonymous
 	push.  It is disabled by default, as there is _no_
 	authentication in the protocol (in other words, anybody
diff --git a/Documentation/git-describe.txt b/Documentation/git-describe.txt
index a21eafa025..39cecb4ce6 100644
--- a/Documentation/git-describe.txt
+++ b/Documentation/git-describe.txt
@@ -37,8 +37,8 @@ OPTIONS
 <commit-ish>...::
 	Commit-ish object names to describe.  Defaults to `HEAD` if omitted.
 
---dirty[=<mark>]::
---broken[=<mark>]::
+`--dirty[=<mark>]`::
+`--broken[=<mark>]`::
 	Describe the state of the working tree.  When the working
 	tree matches `HEAD`, the output is the same as `git describe
 	HEAD`.  If the working tree has local modification "-dirty"
@@ -47,44 +47,44 @@ OPTIONS
 	error out, unless `--broken' is given, which appends
 	the suffix "-broken" instead.
 
---all::
+`--all`::
 	Instead of using only the annotated tags, use any ref
 	found in `refs/` namespace.  This option enables matching
 	any known branch, remote-tracking branch, or lightweight tag.
 
---tags::
+`--tags`::
 	Instead of using only the annotated tags, use any tag
 	found in `refs/tags` namespace.  This option enables matching
 	a lightweight (non-annotated) tag.
 
---contains::
+`--contains`::
 	Instead of finding the tag that predates the commit, find
 	the tag that comes after the commit, and thus contains it.
 	Automatically implies `--tags`.
 
---abbrev=<n>::
+`--abbrev=<n>`::
 	Instead of using the default 7 hexadecimal digits as the
 	abbreviated object name, use <n> digits, or as many digits
 	as needed to form a unique object name.  An <n> of 0
 	will suppress long format, only showing the closest tag.
 
---candidates=<n>::
+`--candidates=<n>`::
 	Instead of considering only the 10 most recent tags as
 	candidates to describe the input commit-ish consider
 	up to <n> candidates.  Increasing <n> above 10 will take
 	slightly longer but may produce a more accurate result.
 	An <n> of 0 will cause only exact matches to be output.
 
---exact-match::
+`--exact-match`::
 	Only output exact matches (a tag directly references the
 	supplied commit).  This is a synonym for `--candidates=0`.
 
---debug::
+`--debug`::
 	Verbosely display information about the searching strategy
 	being employed to standard error.  The tag name will still
 	be printed to standard out.
 
---long::
+`--long`::
 	Always output the long format (the tag, the number of commits
 	and the abbreviated commit name) even when it matches a tag.
 	This is useful when you want to see parts of the commit object name
@@ -115,10 +115,10 @@ OPTIONS
 	match any of the `--exclude` patterns. Use `--no-exclude` to clear and
 	reset the list of patterns.
 
---always::
+`--always`::
 	Show uniquely abbreviated commit object as fallback.
 
---first-parent::
+`--first-parent`::
 	Follow only the first parent commit upon seeing a merge commit.
 	This is useful when you wish to not match tags on branches merged
 	in the history of the target commit.
diff --git a/Documentation/git-diff-files.txt b/Documentation/git-diff-files.txt
index b0fb276b99..5a993a309f 100644
--- a/Documentation/git-diff-files.txt
+++ b/Documentation/git-diff-files.txt
@@ -34,14 +34,14 @@ The default is to diff against our branch (-2) and the
 cleanly resolved paths.  The option -0 can be given to
 omit diff output for unmerged entries and just show "Unmerged".
 
--c::
---cc::
+`-c`::
+`--cc`::
 	This compares stage 2 (our branch), stage 3 (their
 	branch) and the working tree file and outputs a combined
 	diff, similar to the way 'diff-tree' shows a merge
 	commit with these flags.
 
--q::
+`-q`::
 	Remain silent even on nonexistent files
 
 
diff --git a/Documentation/git-diff-index.txt b/Documentation/git-diff-index.txt
index 87db234e77..e95e997e2b 100644
--- a/Documentation/git-diff-index.txt
+++ b/Documentation/git-diff-index.txt
@@ -23,18 +23,18 @@ OPTIONS
 -------
 include::diff-options.txt[]
 
-<tree-ish>::
+`<tree-ish>`::
 	The id of a tree object to diff against.
 
---cached::
+`--cached`::
 	Do not consider the on-disk file at all.
 
---merge-base::
+`--merge-base`::
 	Instead of comparing <tree-ish> directly, use the merge base
 	between <tree-ish> and `HEAD` instead.  <tree-ish> must be a
 	commit.
 
--m::
+`-m`::
 	By default, files recorded in the index but not checked
 	out are reported as deleted.  This flag makes
 	`git diff-index` say that all non-checked-out files are up
diff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.txt
index 56354886a4..098e67f872 100644
--- a/Documentation/git-diff-tree.txt
+++ b/Documentation/git-diff-tree.txt
@@ -26,29 +26,29 @@ OPTIONS
 -------
 include::diff-options.txt[]
 
-<tree-ish>::
+`<tree-ish>`::
 	The id of a tree object.
 
 <path>...::
 	If provided, the results are limited to a subset of files
 	matching one of the provided pathspecs.
 
--r::
+`-r`::
         recurse into sub-trees
 
--t::
+`-t`::
 	show tree entry itself as well as subtrees.  Implies `-r`.
 
---root::
+`--root`::
 	When `--root` is specified the initial commit will be shown as a big
 	creation event. This is equivalent to a diff against the NULL tree.
 
---merge-base::
+`--merge-base`::
 	Instead of comparing the <tree-ish>s directly, use the merge
 	base between the two <tree-ish>s as the "before" side.  There
 	must be two <tree-ish>s given and they must both be commits.
 
---stdin::
+`--stdin`::
 	When `--stdin` is specified, the command does not take
 	<tree-ish> arguments from the command line.  Instead, it
 	reads lines containing either two <tree>, one <commit>, or a
@@ -68,29 +68,29 @@ newline, is printed.
 The following flags further affect the behavior when comparing
 commits (but not trees).
 
--m::
+`-m`::
 	By default, `git diff-tree --stdin` does not show
 	differences for merge commits.  With this flag, it shows
 	differences to that commit from all of its parents. See
 	also `-c`.
 
--s::
+`-s`::
 	By default, `git diff-tree --stdin` shows differences,
 	either in machine-readable form (without `-p`) or in patch
 	form (with `-p`).  This output can be suppressed.  It is
 	only useful with `-v` flag.
 
--v::
+`-v`::
 	This flag causes `git diff-tree --stdin` to also show
 	the commit message before the differences.
 
 include::pretty-options.txt[]
 
---no-commit-id::
+`--no-commit-id`::
 	`git diff-tree` outputs a line with the commit ID when
 	applicable.  This flag suppressed the commit ID output.
 
--c::
+`-c`::
 	This flag changes the way a merge commit is displayed
 	(which means it is useful only when the command is given
 	one <tree-ish>, or `--stdin`).  It shows the differences
@@ -100,7 +100,7 @@ include::pretty-options.txt[]
 	Furthermore, it lists only files which were modified
 	from all parents.
 
---cc::
+`--cc`::
 	This flag changes the way a merge commit patch is displayed,
 	in a similar way to the `-c` option. It implies the `-c`
 	and `-p` options and further compresses the patch output
@@ -110,14 +110,14 @@ include::pretty-options.txt[]
 	itself and the commit log message is not shown, just like in any other
 	"empty diff" case.
 
---combined-all-paths::
+`--combined-all-paths`::
 	This flag causes combined diffs (used for merge commits) to
 	list the name of the file from all parents.  It thus only has
 	effect when `-c` or `--cc` are specified, and is likely only
 	useful if filename changes are detected (i.e. when either
 	rename or copy detection have been requested).
 
---always::
+`--always`::
 	Show the commit itself and the commit log message even
 	if the diff itself is empty.
 
diff --git a/Documentation/git-difftool.txt b/Documentation/git-difftool.txt
index b646654941..f8b1e83404 100644
--- a/Documentation/git-difftool.txt
+++ b/Documentation/git-difftool.txt
@@ -19,31 +19,31 @@ linkgit:git-diff[1].
 
 OPTIONS
 -------
--d::
---dir-diff::
+`-d`::
+`--dir-diff`::
 	Copy the modified files to a temporary location and perform
 	a directory diff on them. This mode never prompts before
 	launching the diff tool.
 
--y::
---no-prompt::
+`-y`::
+`--no-prompt`::
 	Do not prompt before launching a diff tool.
 
---prompt::
+`--prompt`::
 	Prompt before each invocation of the diff tool.
 	This is the default behaviour; the option is provided to
 	override any configuration settings.
 
---rotate-to=<file>::
+`--rotate-to=<file>`::
 	Start showing the diff for the given path,
 	the paths before it will move to end and output.
 
---skip-to=<file>::
+`--skip-to=<file>`::
 	Start showing the diff for the given path, skipping all
 	the paths before it.
 
 -t <tool>::
---tool=<tool>::
+`--tool=<tool>`::
 	Use the diff tool specified by <tool>.  Valid values include
 	emerge, kompare, meld, and vimdiff. Run `git difftool --tool-help`
 	for the list of valid <tool> settings.
@@ -74,10 +74,10 @@ of the diff post-image.  `$MERGED` is the name of the file which is
 being compared. `$BASE` is provided for compatibility
 with custom merge tool commands and has the same value as `$MERGED`.
 
---tool-help::
+`--tool-help`::
 	Print a list of diff tools that may be used with `--tool`.
 
---[no-]symlinks::
+`--[no-]symlinks`::
 	`git difftool`'s default behavior is create symlinks to the
 	working tree when run in `--dir-diff` mode and the right-hand
 	side of the comparison yields the same content as the file in
@@ -87,14 +87,14 @@ Specifying `--no-symlinks` instructs `git difftool` to create copies
 instead.  `--no-symlinks` is the default on Windows.
 
 -x <command>::
---extcmd=<command>::
+`--extcmd=<command>`::
 	Specify a custom command for viewing diffs.
 	`git-difftool` ignores the configured defaults and runs
 	`$command $LOCAL $REMOTE` when this option is specified.
 	Additionally, `$BASE` is set in the environment.
 
--g::
---[no-]gui::
+`-g`::
+`--[no-]gui`::
 	When `git-difftool` is invoked with the `-g` or `--gui` option
 	the default diff tool will be read from the configured
 	`diff.guitool` variable instead of `diff.tool`. The `--no-gui`
@@ -102,7 +102,7 @@ instead.  `--no-symlinks` is the default on Windows.
 	is not set, we will fallback in the order of `merge.guitool`,
 	`diff.tool`, `merge.tool` until a tool is found.
 
---[no-]trust-exit-code::
+`--[no-]trust-exit-code`::
 	`git-difftool` invokes a diff tool individually on each file.
 	Errors reported by the diff tool are ignored by default.
 	Use `--trust-exit-code` to make `git-difftool` exit when an
diff --git a/Documentation/git-fast-export.txt b/Documentation/git-fast-export.txt
index 0e1db78aee..b50751b344 100644
--- a/Documentation/git-fast-export.txt
+++ b/Documentation/git-fast-export.txt
@@ -23,7 +23,7 @@ relied on by tools like `git filter-repo`).
 
 OPTIONS
 -------
---progress=<n>::
+`--progress=<n>`::
 	Insert 'progress' statements every <n> objects, to be shown by
 	`git fast-import` during import.
 
@@ -50,8 +50,8 @@ the output.  With 'rewrite', if the tagged object is a commit, it will
 rewrite the tag to tag an ancestor commit (via parent rewriting; see
 linkgit:git-rev-list[1])
 
--M::
--C::
+`-M`::
+`-C`::
 	Perform move and/or copy detection, as described in the
 	linkgit:git-diff[1] manual page, and use it to generate
 	rename and copy commands in the output dump.
@@ -59,7 +59,7 @@ linkgit:git-rev-list[1])
 Note that earlier versions of this command did not complain and
 produced incorrect results if you gave these options.
 
---export-marks=<file>::
+`--export-marks=<file>`::
 	Dumps the internal marks table to <file> when complete.
 	Marks are written one per line as `:markid SHA-1`. Only marks
 	for revisions are dumped; marks for blobs are ignored.
@@ -71,12 +71,12 @@ produced incorrect results if you gave these options.
 	The file will not be written if no new object has been
 	marked/exported.
 
---import-marks=<file>::
+`--import-marks=<file>`::
 	Before processing any input, load the marks specified in
 	<file>.  The input file must exist, must be readable, and
 	must use the same format as produced by `--export-marks`.
 
---mark-tags::
+`--mark-tags`::
 	In addition to labelling blobs and commits with mark ids, also
 	label tags.  This is useful in conjunction with
 	`--export-marks` and `--import-marks`, and is also useful (and
@@ -90,17 +90,17 @@ exported again.  If the backend uses a similar `--import-marks` file,
 this allows for incremental bidirectional exporting of the repository
 by keeping the marks the same across runs.
 
---fake-missing-tagger::
+`--fake-missing-tagger`::
 	Some old repositories have tags without a tagger.  The
 	fast-import protocol was pretty strict about that, and did not
 	allow that.  So fake a tagger to be able to fast-import the
 	output.
 
---use-done-feature::
+`--use-done-feature`::
 	Start the stream with a 'feature done' stanza, and terminate
 	it with a 'done' command.
 
---no-data::
+`--no-data`::
 	Skip output of blob objects and instead refer to blobs via
 	their original SHA-1 hash.  This is useful when rewriting the
 	directory structure or history of a repository without
@@ -108,13 +108,13 @@ by keeping the marks the same across runs.
 	resulting stream can only be used by a repository which
 	already contains the necessary objects.
 
---full-tree::
+`--full-tree`::
 	This option will cause fast-export to issue a "deleteall"
 	directive for each commit followed by a full list of all files
 	in the commit (as opposed to just listing the files which are
 	different from the commit's first parent).
 
---anonymize::
+`--anonymize`::
 	Anonymize the contents of the repository while still retaining
 	the shape of the history and stored tree.  See the section on
 	`ANONYMIZING` below.
@@ -124,7 +124,7 @@ by keeping the marks the same across runs.
 	`<to>` is omitted, map `<from>` to itself (i.e., do not
 	anonymize it). See the section on `ANONYMIZING` below.
 
---reference-excluded-parents::
+`--reference-excluded-parents`::
 	By default, running a command such as `git fast-export
 	master~5..master` will not include the commit `master~5`
 	and will make `master~4` no longer have `master~5` as
@@ -136,7 +136,7 @@ by keeping the marks the same across runs.
 	repository which already contains the necessary parent
 	commits.
 
---show-original-ids::
+`--show-original-ids`::
 	Add an extra directive to the output for commits and blobs,
 	`original-oid <SHA1SUM>`.  While such directives will likely be
 	ignored by importers such as `git-fast-import`, it may be useful
@@ -150,7 +150,7 @@ by keeping the marks the same across runs.
 	message will be re-encoded into UTF-8.  With 'no', the original
 	encoding will be preserved.
 
---refspec::
+`--refspec`::
 	Apply the specified refspec to each ref exported. Multiple of them can
 	be specified.
 
diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt
index 7b801de61a..cfbb47665f 100644
--- a/Documentation/git-fast-import.txt
+++ b/Documentation/git-fast-import.txt
@@ -34,24 +34,24 @@ the frontend program in use.
 OPTIONS
 -------
 
---force::
+`--force`::
 	Force updating modified existing branches, even if doing
 	so would cause commits to be lost (as the new commit does
 	not contain the old commit).
 
---quiet::
+`--quiet`::
 	Disable the output shown by `--stats`, making fast-import usually
 	be silent when it is successful.  However, if the import stream
 	has directives intended to show user output (e.g. `progress`
 	directives), the corresponding messages will still be shown.
 
---stats::
+`--stats`::
 	Display some basic statistics about the objects fast-import has
 	created, the packfiles they were stored into, and the
 	memory used by fast-import during this run.  Showing this output
 	is currently the default, but can be disabled with `--quiet`.
 
---allow-unsafe-features::
+`--allow-unsafe-features`::
 	Many command-line options can be provided as part of the
 	fast-import stream itself by using the `feature` or `option`
 	commands. However, some of these options are unsafe (e.g.,
@@ -69,19 +69,19 @@ OPTIONS
 Options for Frontends
 ~~~~~~~~~~~~~~~~~~~~~
 
---cat-blob-fd=<fd>::
+`--cat-blob-fd=<fd>`::
 	Write responses to `get-mark`, `cat-blob`, and `ls` queries to the
 	file descriptor <fd> instead of `stdout`.  Allows `progress`
 	output intended for the end-user to be separated from other
 	output.
 
---date-format=<fmt>::
+`--date-format=<fmt>`::
 	Specify the type of dates the frontend will supply to
 	fast-import within `author`, `committer` and `tagger` commands.
 	See ``Date Formats'' below for details about which formats
 	are supported, and their syntax.
 
---done::
+`--done`::
 	Terminate with error if there is no `done` command at the end of
 	the stream.  This option might be useful for detecting errors
 	that cause the frontend to terminate before it has started to
@@ -90,7 +90,7 @@ Options for Frontends
 Locations of Marks Files
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
---export-marks=<file>::
+`--export-marks=<file>`::
 	Dumps the internal marks table to <file> when complete.
 	Marks are written one per line as `:markid SHA-1`.
 	Frontends can use this file to validate imports after they
@@ -99,7 +99,7 @@ Locations of Marks Files
 	at checkpoint (or completion) the same path can also be
 	safely given to `--import-marks`.
 
---import-marks=<file>::
+`--import-marks=<file>`::
 	Before processing any input, load the marks specified in
 	<file>.  The input file must exist, must be readable, and
 	must use the same format as produced by `--export-marks`.
@@ -107,11 +107,11 @@ Locations of Marks Files
 	set of marks.  If a mark is defined to different values,
 	the last file wins.
 
---import-marks-if-exists=<file>::
+`--import-marks-if-exists=<file>`::
 	Like `--import-marks` but instead of erroring out, silently
 	skips the file if it does not exist.
 
---[no-]relative-marks::
+`--[no-]relative-marks`::
 	After specifying `--relative-marks` the paths specified
 	with `--import-marks`= and `--export-marks`= are relative
 	to an internal directory in the current repository.
@@ -145,21 +145,21 @@ algorithm.
 Performance and Compression Tuning
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
---active-branches=<n>::
+`--active-branches=<n>`::
 	Maximum number of branches to maintain active at once.
 	See ``Memory Utilization'' below for details.  Default is 5.
 
---big-file-threshold=<n>::
+`--big-file-threshold=<n>`::
 	Maximum size of a blob that fast-import will attempt to
 	create a delta for, expressed in bytes.  The default is 512m
 	(512 MiB).  Some importers may wish to lower this on systems
 	with constrained memory.
 
---depth=<n>::
+`--depth=<n>`::
 	Maximum delta depth, for blob and tree deltification.
 	Default is 50.
 
---export-pack-edges=<file>::
+`--export-pack-edges=<file>`::
 	After creating a packfile, print a line of data to
 	<file> listing the filename of the packfile and the last
 	commit on each branch that was written to that packfile.
@@ -168,7 +168,7 @@ Performance and Compression Tuning
 	as these commits can be used as edge points during calls
 	to `git pack-objects`.
 
---max-pack-size=<n>::
+`--max-pack-size=<n>`::
 	Maximum size of each output packfile.
 	The default is unlimited.
 
@@ -1141,17 +1141,17 @@ it does not.
 
 The <feature> part of the command may be any one of the following:
 
-date-format::
-export-marks::
-relative-marks::
-no-relative-marks::
-force::
+`date-format`::
+`export-marks`::
+`relative-marks`::
+`no-relative-marks`::
+`force`::
 	Act as though the corresponding command-line option with
 	a leading `--` was passed on the command line
 	(see OPTIONS, above).
 
-import-marks::
-import-marks-if-exists::
+`import-marks`::
+`import-marks-if-exists`::
 	Like `--import-marks` except in two respects: first, only one
 	"feature import-marks" or "feature import-marks-if-exists"
 	command is allowed per stream; second, an `--import-marks=`
@@ -1160,9 +1160,9 @@ import-marks-if-exists::
 	"feature import-marks-if-exists" like a corresponding
 	command-line option silently skips a nonexistent file.
 
-get-mark::
-cat-blob::
-ls::
+`get-mark`::
+`cat-blob`::
+`ls`::
 	Require that the backend support the 'get-mark', 'cat-blob',
 	or 'ls' command respectively.
 	Versions of fast-import not supporting the specified command
@@ -1171,13 +1171,13 @@ ls::
 	rather than wasting time on the early part of an import
 	before the unsupported command is detected.
 
-notes::
+`notes`::
 	Require that the backend support the 'notemodify' (N)
 	subcommand to the 'commit' command.
 	Versions of fast-import not supporting notes will exit
 	with a message indicating so.
 
-done::
+`done`::
 	Error out if the stream ends without a 'done' command.
 	Without this feature, errors causing the frontend to end
 	abruptly at a convenient point in the stream can go
diff --git a/Documentation/git-fetch-pack.txt b/Documentation/git-fetch-pack.txt
index 3d829538b0..e7e4ed214a 100644
--- a/Documentation/git-fetch-pack.txt
+++ b/Documentation/git-fetch-pack.txt
@@ -32,10 +32,10 @@ have a common ancestor commit.
 
 OPTIONS
 -------
---all::
+`--all`::
 	Fetch all remote refs.
 
---stdin::
+`--stdin`::
 	Take the list of refs from stdin, one per line. If there
 	are refs specified on the command line in addition to this
 	option, then the refs from stdin are processed after those
@@ -45,29 +45,29 @@ If `--stateless-rpc` is specified together with this option then
 the list of refs must be in packet format (pkt-line). Each ref must
 be in a separate packet, and the list must end with a flush packet.
 
--q::
---quiet::
+`-q`::
+`--quiet`::
 	Pass `-q` flag to `git unpack-objects`; this makes the
 	cloning process less verbose.
 
--k::
---keep::
+`-k`::
+`--keep`::
 	Do not invoke `git unpack-objects` on received data, but
 	create a single packfile out of it instead, and store it
 	in the object database. If provided twice then the pack is
 	locked against repacking.
 
---thin::
+`--thin`::
 	Fetch a "thin" pack, which records objects in deltified form based
 	on objects not included in the pack to reduce network traffic.
 
---include-tag::
+`--include-tag`::
 	If the remote side supports it, annotated tags objects will
 	be downloaded on the same connection as the other objects if
 	the object the tag references is downloaded.  The caller must
 	otherwise determine the tags this option made available.
 
---upload-pack=<git-upload-pack>::
+`--upload-pack=<git-upload-pack>`::
 	Use this to specify the path to `git-upload-pack` on the
 	remote side, if is not found on your `$PATH`.
 	Installations of sshd ignores the user's environment
@@ -79,39 +79,39 @@ be in a separate packet, and the list must end with a flush packet.
 	shells by having a lean `.bashrc` file (they set most of
 	the things up in `.bash_profile`).
 
---exec=<git-upload-pack>::
+`--exec=<git-upload-pack>`::
 	Same as `--upload-pack`=<git-upload-pack>.
 
---depth=<n>::
+`--depth=<n>`::
 	Limit fetching to ancestor-chains not longer than n.
 	`git-upload-pack` treats the special depth 2147483647 as
 	infinite even if there is an ancestor-chain that long.
 
---shallow-since=<date>::
+`--shallow-since=<date>`::
 	Deepen or shorten the history of a shallow repository to
 	include all reachable commits after <date>.
 
---shallow-exclude=<revision>::
+`--shallow-exclude=<revision>`::
 	Deepen or shorten the history of a shallow repository to
 	exclude commits reachable from a specified remote branch or tag.
 	This option can be specified multiple times.
 
---deepen-relative::
+`--deepen-relative`::
 	Argument `--depth` specifies the number of commits from the
 	current shallow boundary instead of from the tip of each
 	remote branch history.
 
---no-progress::
+`--no-progress`::
 	Do not show the progress.
 
---check-self-contained-and-connected::
+`--check-self-contained-and-connected`::
 	Output "connectivity-ok" if the received pack is
 	self-contained and connected.
 
--v::
+`-v`::
 	Run verbosely.
 
-<repository>::
+`<repository>`::
 	The URL to the remote repository.
 
 <refs>...::
diff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt
index 11ee865969..79c7f15904 100644
--- a/Documentation/git-fetch.txt
+++ b/Documentation/git-fetch.txt
@@ -48,7 +48,7 @@ include::fetch-options.txt[]
 
 include::pull-fetch-param.txt[]
 
---stdin::
+`--stdin`::
 	Read refspecs, one per line, from stdin in addition to those provided
 	as arguments. The "tag <name>" format is not supported.
 
@@ -212,7 +212,7 @@ In compact output mode, specified with configuration variable
 other string, it will be substituted with `*` in the other string. For
 example, `master -> origin/master` becomes `master -> origin/*`.
 
-flag::
+`flag`::
 	A single character indicating the status of the ref:
 (space);; for a successfully fetched fast-forward;
 `+`;; for a successful forced update;
@@ -222,22 +222,22 @@ flag::
 `!`;; for a ref that was rejected or failed to update; and
 `=`;; for a ref that was up to date and did not need fetching.
 
-summary::
+`summary`::
 	For a successfully fetched ref, the summary shows the old and new
 	values of the ref in a form suitable for using as an argument to
 	`git log` (this is `<old>..<new>` in most cases, and
 	`<old>...<new>` for forced non-fast-forward updates).
 
-from::
+`from`::
 	The name of the remote ref being fetched from, minus its
 	`refs/<type>/` prefix. In the case of deletion, the name of
 	the remote ref is "(none)".
 
-to::
+`to`::
 	The name of the local ref being updated, minus its
 	`refs/<type>/` prefix.
 
-reason::
+`reason`::
 	A human-readable explanation. In the case of successfully fetched
 	refs, no explanation is needed. For a failed ref, the reason for
 	failure is described.
diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index 8b19805695..4a72e4ce44 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -185,7 +185,7 @@ be removed, buyer beware. There is also no support for changing the
 author or timestamp (or the tag message for that matter). Tags which point
 to other tags will be rewritten to point to the underlying commit.
 
---prune-empty::
+`--prune-empty`::
 	Some filters will generate empty commits that leave the tree untouched.
 	This option instructs `git-filter-branch` to remove such commits if they
 	have exactly one or zero non-pruned parents; merge commits will
@@ -205,8 +205,8 @@ to other tags will be rewritten to point to the underlying commit.
 	does this in the `.git-rewrite/` directory but you can override
 	that choice by this parameter.
 
--f::
---force::
+`-f`::
+`--force`::
 	`git filter-branch` refuses to start with an existing temporary
 	directory or when there are already refs starting with
 	`refs/original/`, unless forced.
diff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.txt
index a8e9ab914d..283bb59199 100644
--- a/Documentation/git-fmt-merge-msg.txt
+++ b/Documentation/git-fmt-merge-msg.txt
@@ -24,18 +24,18 @@ automatically invoking `git merge`.
 OPTIONS
 -------
 
---log[=<n>]::
+`--log[=<n>]`::
 	In addition to branch names, populate the log message with
 	one-line descriptions from the actual commits that are being
 	merged.  At most <n> commits from each merge parent will be
 	used (20 if <n> is omitted).  This overrides the `merge.log`
 	configuration variable.
 
---no-log::
+`--no-log`::
 	Do not list one-line descriptions from the actual commits being
 	merged.
 
---[no-]summary::
+`--[no-]summary`::
 	Synonyms to `--log` and `--no-log`; these are deprecated and will be
 	removed in the future.
 
diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt
index 518f040fcd..74be946d9d 100644
--- a/Documentation/git-for-each-ref.txt
+++ b/Documentation/git-for-each-ref.txt
@@ -32,19 +32,19 @@ OPTIONS
 	literally, in the latter case matching completely or from the
 	beginning up to a slash.
 
---count=<count>::
+`--count=<count>`::
 	By default the command shows all refs that match
 	`<pattern>`.  This option makes it stop after showing
 	that many refs.
 
---sort=<key>::
+`--sort=<key>`::
 	A field name to sort on.  Prefix `-` to sort in
 	descending order of the value.  When unspecified,
 	`refname` is used.  You may use the `--sort=<key>` option
 	multiple times, in which case the last key becomes the primary
 	key.
 
---format=<format>::
+`--format=<format>`::
 	A string that interpolates `%(fieldname)` from a ref being shown
 	and the object it points at.  If `fieldname`
 	is prefixed with an asterisk (`*`) and the ref points
@@ -57,40 +57,40 @@ OPTIONS
 	`xx`; for example `%00` interpolates to `\0` (NUL),
 	`%09` to `\t` (TAB) and `%0a` to `\n` (LF).
 
---color[=<when>]::
+`--color[=<when>]`::
 	Respect any colors specified in the `--format` option. The
 	`<when>` field must be one of `always`, `never`, or `auto` (if
 	`<when>` is absent, behave as if `always` was given).
 
---shell::
---perl::
---python::
---tcl::
+`--shell`::
+`--perl`::
+`--python`::
+`--tcl`::
 	If given, strings that substitute `%(fieldname)`
 	placeholders are quoted as string literals suitable for
 	the specified host language.  This is meant to produce
 	a scriptlet that can directly be `eval`ed.
 
---points-at=<object>::
+`--points-at=<object>`::
 	Only list refs which points at the given object.
 
---merged[=<object>]::
+`--merged[=<object>]`::
 	Only list refs whose tips are reachable from the
 	specified commit (`HEAD` if not specified).
 
---no-merged[=<object>]::
+`--no-merged[=<object>]`::
 	Only list refs whose tips are not reachable from the
 	specified commit (`HEAD` if not specified).
 
---contains[=<object>]::
+`--contains[=<object>]`::
 	Only list refs which contain the specified commit (`HEAD` if not
 	specified).
 
---no-contains[=<object>]::
+`--no-contains[=<object>]`::
 	Only list refs which don't contain the specified commit (`HEAD`
 	if not specified).
 
---ignore-case::
+`--ignore-case`::
 	Sorting and filtering refs are case insensitive.
 
 FIELD NAMES
@@ -102,7 +102,7 @@ keys.
 
 For all objects, the following names can be used:
 
-refname::
+`refname`::
 	The name of the ref (the part after `$GIT_DIR`/).
 	For a non-ambiguous short name of the ref append `:short`.
 	The option `core.warnAmbiguousRefs` is used to select the strict
@@ -121,25 +121,25 @@ refname::
 +
 `strip` can be used as a synonym to `lstrip`.
 
-objecttype::
+`objecttype`::
 	The type of the object (`blob`, `tree`, `commit`, `tag`).
 
-objectsize::
+`objectsize`::
 	The size of the object (the same as `git cat-file -s` reports).
 	Append `:disk` to get the size, in bytes, that the object takes up on
 	disk. See the note about on-disk sizes in the `CAVEATS` section below.
-objectname::
+`objectname`::
 	The object name (aka SHA-1).
 	For a non-ambiguous abbreviation of the object name append `:short`.
 	For an abbreviation of the object name with desired length append
 	`:short=<length>`, where the minimum length is MINIMUM_ABBREV. The
 	length may be exceeded to ensure unique object names.
-deltabase::
+`deltabase`::
 	This expands to the object name of the delta base for the
 	given object, if it is stored as a delta.  Otherwise it
 	expands to the null object name (all zeroes).
 
-upstream::
+`upstream`::
 	The name of a local ref which can be considered ``upstream''
 	from the displayed ref. Respects `:short`, `:lstrip` and
 	`:rstrip` in the same way as `refname` above.  Additionally
@@ -161,24 +161,24 @@ Has no effect if the ref does not have tracking information associated
 with it.  All the options apart from `nobracket` are mutually exclusive,
 but if used together the last option is selected.
 
-push::
+`push`::
 	The name of a local ref which represents the `@{push}`
 	location for the displayed ref. Respects `:short`, `:lstrip`,
 	`:rstrip`, `:track`, `:trackshort`, `:remotename`, and `:remoteref`
 	options as `upstream` does. Produces an empty string if no `@{push}`
 	ref is configured.
 
-HEAD::
+`HEAD`::
 	'*' if `HEAD` matches current ref (the checked out branch), ' '
 	otherwise.
 
-color::
+`color`::
 	Change output color. Followed by `:<colorname>`, where color
 	names are described under Values in the "CONFIGURATION FILE"
 	section of linkgit:git-config[1].  For example,
 	`%(color:bold red)`.
 
-align::
+`align`::
 	Left-, middle-, or right-align the content between
 	%(align:...) and %(end). The "align:" is followed by
 	`width=<width>` and `position=<position>` in any order
@@ -193,7 +193,7 @@ align::
 	quoted, but if nested then only the topmost level performs
 	quoting.
 
-if::
+`if`::
 	Used as %(if)...%(then)...%(end) or
 	%(if)...%(then)...%(else)...%(end).  If there is an atom with
 	value or string literal after the %(if) then everything after
@@ -206,13 +206,13 @@ if::
 	the value between the %(if:...) and %(then) atoms with the
 	given string.
 
-symref::
+`symref`::
 	The ref which the given symbolic ref refers to. If not a
 	symbolic ref, nothing is printed. Respects the `:short`,
 	`:lstrip` and `:rstrip` options in the same way as `refname`
 	above.
 
-worktreepath::
+`worktreepath`::
 	The absolute path to the worktree in which the ref is checked
 	out, if it is checked out in any linked worktree. Empty string
 	otherwise.
diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt
index 3b10a6f7ea..3372e13868 100644
--- a/Documentation/git-format-patch.txt
+++ b/Documentation/git-format-patch.txt
@@ -107,7 +107,7 @@ OPTIONS
 :git-format-patch: 1
 include::diff-options.txt[]
 
--<n>::
+`-<n>`::
 	Prepare patches from the topmost <n> commits.
 
 -o <dir>::
@@ -115,52 +115,52 @@ include::diff-options.txt[]
 	Use <dir> to store the resulting files, instead of the
 	current working directory.
 
--n::
---numbered::
+`-n`::
+`--numbered`::
 	Name output in '[PATCH n/m]' format, even with a single patch.
 
--N::
---no-numbered::
+`-N`::
+`--no-numbered`::
 	Name output in '[PATCH]' format.
 
 --start-number <n>::
 	Start numbering the patches at <n> instead of 1.
 
---numbered-files::
+`--numbered-files`::
 	Output file names will be a simple number sequence
 	without the default first line of the commit appended.
 
--k::
---keep-subject::
+`-k`::
+`--keep-subject`::
 	Do not strip/add '[PATCH]' from the first line of the
 	commit log message.
 
--s::
---signoff::
+`-s`::
+`--signoff`::
 	Add a `Signed-off-by` trailer to the commit message, using
 	the committer identity of yourself.
 	See the signoff option in linkgit:git-commit[1] for more information.
 
---stdout::
+`--stdout`::
 	Print all commits to the standard output in mbox format,
 	instead of creating a file for each one.
 
---attach[=<boundary>]::
+`--attach[=<boundary>]`::
 	Create multipart/mixed attachment, the first part of
 	which is the commit message and the patch itself in the
 	second part, with `Content-Disposition: attachment`.
 
---no-attach::
+`--no-attach`::
 	Disable the creation of an attachment, overriding the
 	configuration setting.
 
---inline[=<boundary>]::
+`--inline[=<boundary>]`::
 	Create multipart/mixed attachment, the first part of
 	which is the commit message and the patch itself in the
 	second part, with `Content-Disposition: inline`.
 
---thread[=<style>]::
---no-thread::
+`--thread[=<style>]`::
+`--no-thread`::
 	Controls addition of `In-Reply-To` and `References` headers to
 	make the second and subsequent mails appear as replies to the
 	first.  Also controls generation of the `Message-Id` header to
@@ -185,14 +185,14 @@ will want to ensure that threading is disabled for `git send-email`.
 	reply to the given <message id>, which avoids breaking threads to
 	provide a new patch series.
 
---ignore-if-in-upstream::
+`--ignore-if-in-upstream`::
 	Do not include a patch that matches a commit in
 	<until>..<since>.  This will examine all patches reachable
 	from <since> but not from <until> and compare them with the
 	patches being generated, and any patch that matches is
 	ignored.
 
---cover-from-description=<mode>::
+`--cover-from-description=<mode>`::
 	Controls which parts of the cover letter will be automatically
 	populated using the branch's description.
 +
@@ -218,20 +218,20 @@ populated with placeholder text.
 	allows for useful naming of a patch series, and can be
 	combined with the `--numbered` option.
 
---filename-max-length=<n>::
+`--filename-max-length=<n>`::
 	Instead of the standard 64 bytes, chomp the generated output
 	filenames at around '<n>' bytes (too short a value will be
 	silently raised to a reasonable length).  Defaults to the
 	value of the `format.filenameMaxLength` configuration
 	variable, or 64 if unconfigured.
 
---rfc::
+`--rfc`::
 	Alias for `--subject-prefix="RFC PATCH"`. RFC means "Request For
 	Comments"; use this when sending an experimental patch for
 	discussion rather than application.
 
 -v <n>::
---reroll-count=<n>::
+`--reroll-count=<n>`::
 	Mark the series as the <n>-th iteration of the topic. The
 	output filenames have `v<n>` prepended to them, and the
 	subject prefix ("PATCH" by default, but configurable via the
@@ -244,20 +244,20 @@ populated with placeholder text.
 	with the previous version does not state exactly which
 	version the new interation is compared against.
 
---to=<email>::
+`--to=<email>`::
 	Add a `To:` header to the email headers. This is in addition
 	to any configured headers, and may be used multiple times.
 	The negated form `--no-to` discards all `To:` headers added so
 	far (from config or command line).
 
---cc=<email>::
+`--cc=<email>`::
 	Add a `Cc:` header to the email headers. This is in addition
 	to any configured headers, and may be used multiple times.
 	The negated form `--no-cc` discards all `Cc:` headers added so
 	far (from config or command line).
 
---from::
---from=<ident>::
+`--from`::
+`--from=<ident>`::
 	Use `ident` in the `From:` header of each commit email. If the
 	author ident of the commit is not textually identical to the
 	provided `ident`, place a `From:` header in the body of the
@@ -271,7 +271,7 @@ header). Note also that `git send-email` already handles this
 transformation for you, and this option should not be used if you are
 feeding the result to `git send-email`.
 
---add-header=<header>::
+`--add-header=<header>`::
 	Add an arbitrary header to the email headers.  This is in addition
 	to any configured headers, and may be used multiple times.
 	For example, `--add-header="Organization: git-foo"`.
@@ -279,19 +279,19 @@ feeding the result to `git send-email`.
 	`Cc:`, and custom) headers added so far from config or command
 	line.
 
---[no-]cover-letter::
+`--[no-]cover-letter`::
 	In addition to the patches, generate a cover letter file
 	containing the branch description, shortlog and the overall diffstat.  You can
 	fill in a description in the file before sending it out.
 
---encode-email-headers::
---no-encode-email-headers::
+`--encode-email-headers`::
+`--no-encode-email-headers`::
 	Encode email headers that have non-ASCII characters with
 	"Q-encoding" (described in RFC 2047), instead of outputting the
 	headers verbatim. Defaults to the value of the
 	`format.encodeEmailHeaders` configuration variable.
 
---interdiff=<previous>::
+`--interdiff=<previous>`::
 	As a reviewer aid, insert an interdiff into the cover letter,
 	or as commentary of the lone patch of a 1-patch series, showing
 	the differences between the previous version of the patch series and
@@ -300,7 +300,7 @@ feeding the result to `git send-email`.
 	the series being formatted (for example `git format-patch
 	--cover-letter --interdiff=feature/v1 -3 feature/v2`).
 
---range-diff=<previous>::
+`--range-diff=<previous>`::
 	As a reviewer aid, insert a range-diff (see linkgit:git-range-diff[1])
 	into the cover letter, or as commentary of the lone patch of a
 	1-patch series, showing the differences between the previous
@@ -317,14 +317,14 @@ product of `format-patch` is generated, and they are not passed to
 the underlying `range-diff` machinery used to generate the cover-letter
 material (this may change in the future).
 
---creation-factor=<percent>::
+`--creation-factor=<percent>`::
 	Used with `--range-diff`, tweak the heuristic which matches up commits
 	between the previous and current series of patches by adjusting the
 	creation/deletion cost fudge factor. See linkgit:git-range-diff[1])
 	for details.
 
---notes[=<ref>]::
---no-notes::
+`--notes[=<ref>]`::
+`--no-notes`::
 	Append the notes (see linkgit:git-notes[1]) for the commit
 	after the three-dash line.
 +
@@ -339,13 +339,13 @@ configuration options in linkgit:git-notes[1] to use this workflow).
 The default is `--no-notes`, unless the `format.notes` configuration is
 set.
 
---[no-]signature=<signature>::
+`--[no-]signature=<signature>`::
 	Add a signature to each message produced. Per RFC 3676 the signature
 	is separated from the body by a line with '-- ' on it. If the
 	signature option is omitted the signature defaults to the Git version
 	number.
 
---signature-file=<file>::
+`--signature-file=<file>`::
 	Works just like `--signature` except the signature is read from a file.
 
 --suffix=.<sfx>::
@@ -357,35 +357,35 @@ set.
 Note that the leading character does not have to be a dot; for example,
 you can use `--suffix=-patch` to get `0001-description-of-my-change-patch`.
 
--q::
---quiet::
+`-q`::
+`--quiet`::
 	Do not print the names of the generated files to standard output.
 
---no-binary::
+`--no-binary`::
 	Do not output contents of changes in binary files, instead
 	display a notice that those files changed.  Patches generated
 	using this option cannot be applied properly, but they are
 	still useful for code review.
 
---zero-commit::
+`--zero-commit`::
   Output an all-zero hash in each patch's From header instead
   of the hash of the commit.
 
---[no-]base[=<commit>]::
+`--[no-]base[=<commit>]`::
 	Record the base tree information to identify the state the
 	patch series applies to.  See the BASE TREE INFORMATION section
 	below for details. If <commit> is "auto", a base commit is
 	automatically chosen. The `--no-base` option overrides a
 	`format.useAutoBase` configuration.
 
---root::
+`--root`::
 	Treat the revision argument as a <revision range>, even if it
 	is just a single commit (that would normally be treated as a
 	<since>).  Note that root commits included in the specified
 	range are always formatted as creation patches, independently
 	of this flag.
 
---progress::
+`--progress`::
 	Show progress reports on stderr as patches are generated.
 
 CONFIGURATION
diff --git a/Documentation/git-fsck.txt b/Documentation/git-fsck.txt
index 2d90384355..f942c5a7a6 100644
--- a/Documentation/git-fsck.txt
+++ b/Documentation/git-fsck.txt
@@ -20,38 +20,38 @@ Verifies the connectivity and validity of the objects in the database.
 
 OPTIONS
 -------
-<object>::
+`<object>`::
 	An object to treat as the head of an unreachability trace.
 +
 If no objects are given, `git fsck` defaults to using the
 index file, all SHA-1 references in `refs` namespace, and all reflogs
 (unless `--no-reflogs` is given) as heads.
 
---unreachable::
+`--unreachable`::
 	Print out objects that exist but that aren't reachable from any
 	of the reference nodes.
 
---[no-]dangling::
+`--[no-]dangling`::
 	Print objects that exist but that are never 'directly' used (default).
 	`--no-dangling` can be used to omit this information from the output.
 
---root::
+`--root`::
 	Report root nodes.
 
---tags::
+`--tags`::
 	Report tags.
 
---cache::
+`--cache`::
 	Consider any object recorded in the index also as a head node for
 	an unreachability trace.
 
---no-reflogs::
+`--no-reflogs`::
 	Do not consider commits that are referenced only by an
 	entry in a reflog to be reachable.  This option is meant
 	only to search for commits that used to be in a ref, but
 	now aren't, but are still in that corresponding reflog.
 
---full::
+`--full`::
 	Check not just objects in GIT_OBJECT_DIRECTORY
 	(`$GIT_DIR/objects`), but also the ones found in alternate
 	object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES
@@ -61,7 +61,7 @@ index file, all SHA-1 references in `refs` namespace, and all reflogs
 	object pools.  This is now default; you can turn it off
 	with `--no-full`.
 
---connectivity-only::
+`--connectivity-only`::
 	Check only the connectivity of reachable objects, making sure
 	that any objects referenced by a reachable tag, commit, or tree
 	is present. This speeds up the operation by avoiding reading
@@ -74,7 +74,7 @@ Unreachable tags, commits, and trees will also be accessed to find the
 tips of dangling segments of history. Use `--no-dangling` if you don't
 care about this output and want to speed it up further.
 
---strict::
+`--strict`::
 	Enable more strict checking, namely to catch a file mode
 	recorded with g+w bit set, which was created by older
 	versions of Git.  Existing repositories, including the
@@ -82,22 +82,22 @@ care about this output and want to speed it up further.
 	objects that triggers this check, but it is recommended
 	to check new projects with this flag.
 
---verbose::
+`--verbose`::
 	Be chatty.
 
---lost-found::
+`--lost-found`::
 	Write dangling objects into `.git/lost-found/commit/` or
 	`.git/lost-found/other/`, depending on type.  If the object is
 	a blob, the contents are written into the file, rather than
 	its object name.
 
---name-objects::
+`--name-objects`::
 	When displaying names of reachable objects, in addition to the
 	SHA-1 also display a name that describes *how* they are reachable,
 	compatible with linkgit:git-rev-parse[1], e.g.
 	`HEAD@{1234567890}~25^2:src/`.
 
---[no-]progress::
+`--[no-]progress`::
 	Progress status is reported on the standard error stream by
 	default when it is attached to a terminal, unless
 	`--no-progress` or `--verbose` is specified. `--progress` forces
diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt
index c5c71febf5..831dbe74e0 100644
--- a/Documentation/git-gc.txt
+++ b/Documentation/git-gc.txt
@@ -34,14 +34,14 @@ linkgit:git-fast-import[1] for more details on the import case.
 OPTIONS
 -------
 
---aggressive::
+`--aggressive`::
 	Usually `git gc` runs very quickly while providing good disk
 	space utilization and performance.  This option will cause
 	`git gc` to more aggressively optimize the repository at the expense
 	of taking much more time.  The effects of this optimization are
 	mostly persistent. See the "AGGRESSIVE" section below for details.
 
---auto::
+`--auto`::
 	With this option, `git gc` checks whether any housekeeping is
 	required; if not, it exits without performing any work.
 +
@@ -54,7 +54,7 @@ other housekeeping tasks (e.g. rerere, working trees, reflog...) will
 be performed as well.
 
 
---prune=<date>::
+`--prune=<date>`::
 	Prune loose objects older than date (default is 2 weeks ago,
 	overridable by the config variable `gc.pruneExpire`).
 	`--prune=now` prunes loose objects regardless of their age and
@@ -62,17 +62,17 @@ be performed as well.
 	the repository concurrently; see "NOTES" below. `--prune` is on by
 	default.
 
---no-prune::
+`--no-prune`::
 	Do not prune any loose objects.
 
---quiet::
+`--quiet`::
 	Suppress all progress reports.
 
---force::
+`--force`::
 	Force `git gc` to run even if there may be another `git gc`
 	instance running on this repository.
 
---keep-largest-pack::
+`--keep-largest-pack`::
 	All packs except the largest pack and those marked with a
 	`.keep` files are consolidated into a single pack. When this
 	option is used, `gc.bigPackThreshold` is ignored.
diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt
index b10a3f6bb4..478abece38 100644
--- a/Documentation/git-grep.txt
+++ b/Documentation/git-grep.txt
@@ -72,50 +72,50 @@ grep.fallbackToNoIndex::
 
 OPTIONS
 -------
---cached::
+`--cached`::
 	Instead of searching tracked files in the working tree, search
 	blobs registered in the index file.
 
---no-index::
+`--no-index`::
 	Search files in the current directory that is not managed by Git.
 
---untracked::
+`--untracked`::
 	In addition to searching in the tracked files in the working
 	tree, search also in untracked files.
 
---no-exclude-standard::
+`--no-exclude-standard`::
 	Also search in ignored files by not honoring the `.gitignore`
 	mechanism. Only useful with `--untracked`.
 
---exclude-standard::
+`--exclude-standard`::
 	Do not pay attention to ignored files specified via the `.gitignore`
 	mechanism.  Only useful when searching files in the current directory
 	with `--no-index`.
 
---recurse-submodules::
+`--recurse-submodules`::
 	Recursively search in each submodule that is active and
 	checked out in the repository.  When used in combination with the
 	<tree> option the prefix of all submodule output will be the name of
 	the parent project's <tree> object. This option has no effect
 	if `--no-index` is given.
 
--a::
---text::
+`-a`::
+`--text`::
 	Process binary files as if they were text.
 
---textconv::
+`--textconv`::
 	Honor textconv filter settings.
 
---no-textconv::
+`--no-textconv`::
 	Do not honor textconv filter settings.
 	This is the default.
 
--i::
---ignore-case::
+`-i`::
+`--ignore-case`::
 	Ignore case differences between the patterns and the
 	files.
 
--I::
+`-I`::
 	Don't match the pattern in binary files.
 
 --max-depth <depth>::
@@ -125,77 +125,77 @@ OPTIONS
 	In other words if "a*" matches a directory named "a*",
 	"*" is matched literally so `--max-depth` is still effective.
 
--r::
---recursive::
+`-r`::
+`--recursive`::
 	Same as `--max-depth=-1`; this is the default.
 
---no-recursive::
+`--no-recursive`::
 	Same as `--max-depth=0`.
 
--w::
---word-regexp::
+`-w`::
+`--word-regexp`::
 	Match the pattern only at word boundary (either begin at the
 	beginning of a line, or preceded by a non-word character; end at
 	the end of a line or followed by a non-word character).
 
--v::
---invert-match::
+`-v`::
+`--invert-match`::
 	Select non-matching lines.
 
--h::
--H::
+`-h`::
+`-H`::
 	By default, the command shows the filename for each
 	match.  `-h` option is used to suppress this output.
 	`-H` is there for completeness and does not do anything
 	except it overrides `-h` given earlier on the command
 	line.
 
---full-name::
+`--full-name`::
 	When run from a subdirectory, the command usually
 	outputs paths relative to the current directory.  This
 	option forces paths to be output relative to the project
 	top directory.
 
--E::
---extended-regexp::
--G::
---basic-regexp::
+`-E`::
+`--extended-regexp`::
+`-G`::
+`--basic-regexp`::
 	Use POSIX extended/basic regexp for patterns.  Default
 	is to use basic regexp.
 
--P::
---perl-regexp::
+`-P`::
+`--perl-regexp`::
 	Use Perl-compatible regular expressions for patterns.
 +
 Support for these types of regular expressions is an optional
 compile-time dependency. If Git wasn't compiled with support for them
 providing this option will cause it to die.
 
--F::
---fixed-strings::
+`-F`::
+`--fixed-strings`::
 	Use fixed strings for patterns (don't interpret pattern
 	as a regex).
 
--n::
---line-number::
+`-n`::
+`--line-number`::
 	Prefix the line number to matching lines.
 
---column::
+`--column`::
 	Prefix the 1-indexed byte-offset of the first match from the start of the
 	matching line.
 
--l::
---files-with-matches::
---name-only::
--L::
---files-without-match::
+`-l`::
+`--files-with-matches`::
+`--name-only`::
+`-L`::
+`--files-without-match`::
 	Instead of showing every matched line, show only the
 	names of files that contain (or do not contain) matches.
 	For better compatibility with `git diff`, `--name-only` is a
 	synonym for `--files-with-matches`.
 
--O[<pager>]::
---open-files-in-pager[=<pager>]::
+`-O[<pager>]`::
+`--open-files-in-pager[=<pager>]`::
 	Open the matching files in the pager (not the output of 'grep').
 	If the pager happens to be `less` or `vi`, and the user
 	specified only one pattern, the first file is positioned at
@@ -204,48 +204,48 @@ providing this option will cause it to die.
 	without a space. If `pager` is unspecified, the default pager
 	will be used (see `core.pager` in linkgit:git-config[1]).
 
--z::
---null::
+`-z`::
+`--null`::
 	Use \0 as the delimiter for pathnames in the output, and print
 	them verbatim. Without this option, pathnames with "unusual"
 	characters are quoted as explained for the configuration
 	variable `core.quotePath` (see linkgit:git-config[1]).
 
--o::
---only-matching::
+`-o`::
+`--only-matching`::
 	Print only the matched (non-empty) parts of a matching line, with each such
 	part on a separate output line.
 
--c::
---count::
+`-c`::
+`--count`::
 	Instead of showing every matched line, show the number of
 	lines that match.
 
---color[=<when>]::
+`--color[=<when>]`::
 	Show colored matches.
 	The value must be always (the default), never, or auto.
 
---no-color::
+`--no-color`::
 	Turn off match highlighting, even when the configuration file
 	gives the default to color output.
 	Same as `--color=never`.
 
---break::
+`--break`::
 	Print an empty line between matches from different files.
 
---heading::
+`--heading`::
 	Show the filename above the matches in that file instead of
 	at the start of each shown line.
 
--p::
---show-function::
+`-p`::
+`--show-function`::
 	Show the preceding line that contains the function name of
 	the match, unless the matching line is a function name itself.
 	The name is determined in the same way as `git diff` works out
 	patch hunk headers (see 'Defining a custom hunk-header' in
 	linkgit:gitattributes[5]).
 
--<num>::
+`-<num>`::
 -C <num>::
 --context <num>::
 	Show <num> leading and trailing lines, and place a line
@@ -261,8 +261,8 @@ providing this option will cause it to die.
 	Show <num> leading lines, and place a line containing
 	`--` between contiguous groups of matches.
 
--W::
---function-context::
+`-W`::
+`--function-context`::
 	Show the surrounding text from the previous line containing a
 	function name up to the one before the next function name,
 	effectively showing the whole function in which the match was
@@ -294,28 +294,28 @@ In future versions we may learn to support patterns containing \0 for
 more search backends, until then we'll die when the pattern type in
 question doesn't support them.
 
--e::
+`-e`::
 	The next parameter is the pattern. This option has to be
 	used for patterns starting with `-` and should be used in
 	scripts passing user input to grep.  Multiple patterns are
 	combined by 'or'.
 
---and::
---or::
---not::
+`--and`::
+`--or`::
+`--not`::
 ( ... )::
 	Specify how multiple patterns are combined using Boolean
 	expressions.  `--or` is the default operator.  `--and` has
 	higher precedence than `--or`.  `-e` has to be used for all
 	patterns.
 
---all-match::
+`--all-match`::
 	When giving multiple pattern expressions combined with `--or`,
 	this flag is specified to limit the match to files that
 	have lines to match all of them.
 
--q::
---quiet::
+`-q`::
+`--quiet`::
 	Do not output matched lines; instead, exit with status 0 when
 	there is a match and with non-zero status when there isn't.
 
diff --git a/Documentation/git-gui.txt b/Documentation/git-gui.txt
index ff66c5b1d0..ed6fe4871e 100644
--- a/Documentation/git-gui.txt
+++ b/Documentation/git-gui.txt
@@ -29,22 +29,22 @@ a fairly native interface for users.
 
 COMMANDS
 --------
-blame::
+`blame`::
 	Start a blame viewer on the specified file on the given
 	version (or working directory if not specified).
 
-browser::
+`browser`::
 	Start a tree browser showing all files in the specified
 	commit.  Files selected through the
 	browser are opened in the blame viewer.
 
-citool::
+`citool`::
 	Start `git gui` and arrange to make exactly one commit before
 	exiting and returning to the shell.  The interface is limited
 	to only commit actions, slightly reducing the application's
 	startup time and simplifying the menubar.
 
-version::
+`version`::
 	Display the currently running version of `git gui`.
 
 
diff --git a/Documentation/git-hash-object.txt b/Documentation/git-hash-object.txt
index 15c2945345..40f5574afe 100644
--- a/Documentation/git-hash-object.txt
+++ b/Documentation/git-hash-object.txt
@@ -26,17 +26,17 @@ OPTIONS
 -t <type>::
 	Specify the type (default: "blob").
 
--w::
+`-w`::
 	Actually write the object into the object database.
 
---stdin::
+`--stdin`::
 	Read the object from standard input instead of from a file.
 
---stdin-paths::
+`--stdin-paths`::
 	Read file names from the standard input, one per line, instead
 	of from the command-line.
 
---path::
+`--path`::
 	Hash object as it were located at the given path. The location of
 	file does not directly influence on the hash value, but path is
 	used to determine what Git filters should be applied to the object
@@ -46,13 +46,13 @@ OPTIONS
 	temporary files located outside of the working directory or files
 	read from stdin.
 
---no-filters::
+`--no-filters`::
 	Hash the contents as is, ignoring any input filter that would
 	have been chosen by the attributes mechanism, including the end-of-line
 	conversion. If the file is read from standard input then this
 	is always implied, unless the `--path` option is given.
 
---literally::
+`--literally`::
 	Allow `--stdin` to hash any garbage into a loose object which might not
 	otherwise pass standard object parsing or `git-fsck` checks. Useful for
 	stress-testing Git itself or reproducing characteristics of corrupt or
diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
index 2d5660f47a..070ef46a8d 100644
--- a/Documentation/git-help.txt
+++ b/Documentation/git-help.txt
@@ -42,32 +42,32 @@ This page can be displayed with `git help help` or `git help --help`
 
 OPTIONS
 -------
--a::
---all::
+`-a`::
+`--all`::
 	Prints all the available commands on the standard output. This
 	option overrides any given command or guide name.
 
---verbose::
+`--verbose`::
 	When used with `--all` print description for all recognized
 	commands. This is the default.
 
--c::
---config::
+`-c`::
+`--config`::
 	List all available configuration variables. This is a short
 	summary of the list in linkgit:git-config[1].
 
--g::
---guides::
+`-g`::
+`--guides`::
 	Prints a list of the Git concept guides on the standard output. This
 	option overrides any given command or guide name.
 
--i::
---info::
+`-i`::
+`--info`::
 	Display manual page for the command in the 'info' format. The
 	'info' program will be used for that purpose.
 
--m::
---man::
+`-m`::
+`--man`::
 	Display manual page for the command in the 'man' format. This
 	option may be used to override a value set in the
 	`help.format` configuration variable.
@@ -76,8 +76,8 @@ By default the 'man' program will be used to display the manual page,
 but the `man.viewer` configuration variable may be used to choose
 other display programs (see below).
 
--w::
---web::
+`-w`::
+`--web`::
 	Display manual page for the command in the 'web' (HTML)
 	format. A web browser will be used for that purpose.
 +
diff --git a/Documentation/git-http-backend.txt b/Documentation/git-http-backend.txt
index 4bbf4811c0..d512add556 100644
--- a/Documentation/git-http-backend.txt
+++ b/Documentation/git-http-backend.txt
@@ -190,7 +190,7 @@ ScriptAliasMatch \
 ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/
 ----------------------------------------------------------------
 
-Lighttpd::
+`Lighttpd`::
 	Ensure that `mod_cgi`, `mod_alias`, `mod_auth`, `mod_setenv` are
 	loaded, then set `GIT_PROJECT_ROOT` appropriately and redirect
 	all requests to the CGI:
diff --git a/Documentation/git-http-fetch.txt b/Documentation/git-http-fetch.txt
index 58e92f22c6..63e447642e 100644
--- a/Documentation/git-http-fetch.txt
+++ b/Documentation/git-http-fetch.txt
@@ -21,26 +21,26 @@ silently ignored.
 
 OPTIONS
 -------
-commit-id::
+`commit-id`::
         Either the hash or the filename under [URL]/refs/ to
         pull.
 
 -a, -c, -t::
 	These options are ignored for historical reasons.
--v::
+`-v`::
 	Report what is downloaded.
 
 -w <filename>::
         Writes the commit-id into the filename under `$GIT_DIR/refs/<filename>` on
         the local end after the transfer is complete.
 
---stdin::
+`--stdin`::
 	Instead of a commit id on the command line (which is not expected in this
 	case), `git http-fetch` expects lines on stdin in the format
 
 		<commit-id>['\t'<filename-as-in--w>]
 
---packfile=<hash>::
+`--packfile=<hash>`::
 	For internal use only. Instead of a commit id on the command
 	line (which is not expected in
 	this case), `git http-fetch` fetches the packfile directly at the given
@@ -49,11 +49,11 @@ commit-id::
 	arbitrary. The output of index-pack is printed to stdout. Requires
 	`--index-pack-args`.
 
---index-pack-args=<args>::
+`--index-pack-args=<args>`::
 	For internal use only. The command to run on the contents of the
 	downloaded pack. Arguments are URL-encoded separated by spaces.
 
---recover::
+`--recover`::
 	Verify that everything reachable from target is fetched.  Used after
 	an earlier fetch is interrupted.
 
diff --git a/Documentation/git-http-push.txt b/Documentation/git-http-push.txt
index a2932ba27f..d43f84dccd 100644
--- a/Documentation/git-http-push.txt
+++ b/Documentation/git-http-push.txt
@@ -22,27 +22,27 @@ not to work and sometimes corrupts repository.
 
 OPTIONS
 -------
---all::
+`--all`::
 	Do not assume that the remote repository is complete in its
 	current state, and verify all objects in the entire local
 	ref's history exist in the remote repository.
 
---force::
+`--force`::
 	Usually, the command refuses to update a remote ref that
 	is not an ancestor of the local ref used to overwrite it.
 	This flag disables the check.  What this means is that
 	the remote repository can lose commits; use it with
 	care.
 
--
Previous: Firmin MartinNext: Firmin Martin
Message 14 of 20 in “[GSoC] doc: (monospace) apply CodingGuidelines on a large-scale”
  1. 00/13 [GSoC] doc: (monospace) apply CodingGuidelines on a large-scaleFirmin Martin, Apr 9, 2021
  2. 01/13 doc: typeset command-line options in monospaceFirmin Martin, Apr 9, 2021
  3. Bagas SanjayaApr 9, 2021
  4. Firmin MartinApr 10, 2021
  5. 03/13 doc: typeset configuration options in monospaceFirmin Martin, Apr 9, 2021
  6. 02/13 doc: typeset branches and remotes in monospaceFirmin Martin, Apr 9, 2021
  7. 05/13 doc: typeset git-svn subcommands in monospaceFirmin Martin, Apr 9, 2021
  8. 06/13 doc: typeset dummy URLs and protocols in monospaceFirmin Martin, Apr 9, 2021
  9. 07/13 doc: typeset git dotfiles in monospaceFirmin Martin, Apr 9, 2021
  10. 04/13 doc: typeset git-related commands in monospaceFirmin Martin, Apr 9, 2021
  11. 11/13 doc: typeset config option entries in monospaceFirmin Martin, Apr 9, 2021
  12. 08/13 doc: typeset filepath and $variables in monospaceFirmin Martin, Apr 9, 2021
  13. 10/13 doc: typeset more command entries in monospaceFirmin Martin, Apr 9, 2021
  14. 09/13 doc: typeset command/option/value entries in monospaceFirmin Martin, Apr 9, 2021
  15. 13/13 doc: typeset common programs in monospaceFirmin Martin, Apr 9, 2021
  16. 12/13 doc: typeset environment vars without $ in monospaceFirmin Martin, Apr 9, 2021
  17. Jean-Noël AvilaApr 12, 2021
  18. Firmin MartinApr 13, 2021
  19. Jean-Noël AvilaApr 19, 2021
  20. Jean-Noël AvilaApr 19, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.