Documentation: the name of the system is 'Git', not 'git'

Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index 423ea66..1d7de5f 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -1,5 +1,5 @@
 Like other projects, we also have some guidelines to keep to the
-code.  For git in general, three rough rules are:
+code.  For Git in general, three rough rules are:
 
  - Most importantly, we never say "It's in POSIX; we'll happily
    ignore your needs should your system not conform to it."
@@ -22,7 +22,7 @@
 As for more concrete guidelines, just imitate the existing code
 (this is a good guideline, no matter which project you are
 contributing to). It is always preferable to match the _local_
-convention. New code added to git suite is expected to match
+convention. New code added to Git suite is expected to match
 the overall style of existing code. Modifications to existing
 code is expected to match the style the surrounding code already
 uses (even if it doesn't match the overall style of existing code).
@@ -112,7 +112,7 @@
 
  - We try to keep to at most 80 characters per line.
 
- - We try to support a wide range of C compilers to compile git with,
+ - We try to support a wide range of C compilers to compile Git with,
    including old ones. That means that you should not use C99
    initializers, even if a lot of compilers grok it.
 
@@ -164,14 +164,14 @@
 
  - If you are planning a new command, consider writing it in shell
    or perl first, so that changes in semantics can be easily
-   changed and discussed.  Many git commands started out like
+   changed and discussed.  Many Git commands started out like
    that, and a few are still scripts.
 
- - Avoid introducing a new dependency into git. This means you
+ - Avoid introducing a new dependency into Git. This means you
    usually should stay away from scripting languages not already
-   used in the git core command set (unless your command is clearly
+   used in the Git core command set (unless your command is clearly
    separate from it, such as an importer to convert random-scm-X
-   repositories to git).
+   repositories to Git).
 
  - When we pass <string, length> pair to functions, we should try to
    pass them in that order.
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 971977b..c2d3ec1 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -346,8 +346,8 @@
 install-webdoc : html
 	'$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
 
-# You must have a clone of git-htmldocs and git-manpages repositories
-# next to the git repository itself for the following to work.
+# You must have a clone of 'git-htmldocs' and 'git-manpages' repositories
+# next to the 'git' repository itself for the following to work.
 
 quick-install: quick-install-man
 
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
index e831188..d0a4733 100644
--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -103,9 +103,9 @@
 archive, summarize the relevant points of the discussion.
 
 
-(3) Generate your patch using git tools out of your commits.
+(3) Generate your patch using Git tools out of your commits.
 
-git based diff tools generate unidiff which is the preferred format.
+Git based diff tools generate unidiff which is the preferred format.
 
 You do not have to be afraid to use -M option to "git diff" or
 "git format-patch", if your patch involves file renames.  The
@@ -122,7 +122,7 @@
 
 (4) Sending your patches.
 
-People on the git mailing list need to be able to read and
+People on the Git mailing list need to be able to read and
 comment on the changes you are submitting.  It is important for
 a developer to be able to "quote" your changes, using standard
 e-mail tools, so that they may comment on specific portions of
@@ -244,7 +244,7 @@
 
 	Signed-off-by: Random J Developer <random@developer.example.org>
 
-This line can be automatically added by git if you run the git-commit
+This line can be automatically added by Git if you run the git-commit
 command with the -s option.
 
 Notice that you can place your own Signed-off-by: line when
@@ -337,7 +337,7 @@
   tell you if your patch is merged in pu if you rebase on top of
   master).
 
-* Read the git mailing list, the maintainer regularly posts messages
+* Read the Git mailing list, the maintainer regularly posts messages
   entitled "What's cooking in git.git" and "What's in git.git" giving
   the status of various proposed changes.
 
diff --git a/Documentation/blame-options.txt b/Documentation/blame-options.txt
index d4a51da..b0d31df 100644
--- a/Documentation/blame-options.txt
+++ b/Documentation/blame-options.txt
@@ -95,7 +95,7 @@
 	running extra passes of inspection.
 +
 <num> is optional but it is the lower bound on the number of
-alphanumeric characters that git must detect as moving/copying
+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.
 
@@ -110,7 +110,7 @@
 	looks for copies from other files in any commit.
 +
 <num> is optional but it is the lower bound on the number of
-alphanumeric characters that git must detect as moving/copying
+alphanumeric characters that Git must detect as moving/copying
 between files for it to associate those lines with the parent
 commit. And the default value is 40. If there are more than one
 `-C` options given, the <num> argument of the last `-C` will
diff --git a/Documentation/config.txt b/Documentation/config.txt
index b87f744..1bfbc7a 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1,14 +1,14 @@
 CONFIGURATION FILE
 ------------------
 
-The git configuration file contains a number of variables that affect
-the git command's behavior. The `.git/config` file in each repository
+The Git configuration file contains a number of variables that affect
+the Git commands' behavior. The `.git/config` file in each repository
 is used to store the configuration for that repository, and
 `$HOME/.gitconfig` is used to store a per-user configuration as
 fallback values for the `.git/config` file. The file `/etc/gitconfig`
 can be used to store a system-wide default configuration.
 
-The configuration variables are used by both the git plumbing
+The configuration variables are used by both the Git plumbing
 and the porcelains. The variables are divided into sections, wherein
 the fully qualified variable name of the variable itself is the last
 dot-separated segment and the section name is everything before the last
@@ -209,9 +209,9 @@
 
 core.ignorecase::
 	If true, this option enables various workarounds to enable
-	git to work better on filesystems that are not case sensitive,
+	Git to work better on filesystems that are not case sensitive,
 	like FAT. For example, if a directory listing finds
-	"makefile" when git expects "Makefile", git will assume
+	"makefile" when Git expects "Makefile", Git will assume
 	it is really the same file, and continue to remember it as
 	"Makefile".
 +
@@ -220,13 +220,13 @@
 is created.
 
 core.precomposeunicode::
-	This option is only used by Mac OS implementation of git.
-	When core.precomposeunicode=true, git reverts the unicode decomposition
+	This option is only used by Mac OS implementation of Git.
+	When core.precomposeunicode=true, Git reverts the unicode decomposition
 	of filenames done by Mac OS. This is useful when sharing a repository
 	between Mac OS and Linux or Windows.
-	(Git for Windows 1.7.10 or higher is needed, or git under cygwin 1.7).
-	When false, file names are handled fully transparent by git,
-	which is backward compatible with older versions of git.
+	(Git for Windows 1.7.10 or higher is needed, or Git under cygwin 1.7).
+	When false, file names are handled fully transparent by Git,
+	which is backward compatible with older versions of Git.
 
 core.trustctime::
 	If false, the ctime differences between the index and the
@@ -256,20 +256,20 @@
 	conversion.
 
 core.safecrlf::
-	If true, makes git check if converting `CRLF` is reversible when
+	If true, makes Git check if converting `CRLF` is reversible when
 	end-of-line conversion is active.  Git will verify if a command
 	modifies a file in the work tree either directly or indirectly.
 	For example, committing a file followed by checking out the
 	same file should yield the original file in the work tree.  If
 	this is not the case for the current setting of
-	`core.autocrlf`, git will reject the file.  The variable can
-	be set to "warn", in which case git will only warn about an
+	`core.autocrlf`, Git will reject the file.  The variable can
+	be set to "warn", in which case Git will only warn about an
 	irreversible conversion but continue the operation.
 +
 CRLF conversion bears a slight chance of corrupting data.
-When it is enabled, git will convert CRLF to LF during commit and LF to
+When it is enabled, Git will convert CRLF to LF during commit and LF to
 CRLF during checkout.  A file that contains a mixture of LF and
-CRLF before the commit cannot be recreated by git.  For text
+CRLF before the commit cannot be recreated by Git.  For text
 files this is the right thing to do: it corrects line endings
 such that we have only LF line endings in the repository.
 But for binary files that are accidentally classified as text the
@@ -279,7 +279,7 @@
 setting the conversion type explicitly in .gitattributes.  Right
 after committing you still have the original file in your work
 tree and this file is not yet corrupted.  You can explicitly tell
-git that this file is binary and git will handle the file
+Git that this file is binary and Git will handle the file
 appropriately.
 +
 Unfortunately, the desired effect of cleaning up text files with
@@ -324,7 +324,7 @@
 core.gitProxy::
 	A "proxy command" to execute (as 'command host port') instead
 	of establishing direct connection to the remote server when
-	using the git protocol for fetching. If the variable value is
+	using the Git protocol for fetching. If the variable value is
 	in the "COMMAND for DOMAIN" format, the command is applied only
 	on hostnames ending with the specified domain string. This variable
 	may be set multiple times and is matched in the given order;
@@ -383,7 +383,7 @@
 file in a ".git" subdirectory of a directory and its value differs
 from the latter directory (e.g. "/path/to/.git/config" has
 core.worktree set to "/different/path"), which is most likely a
-misconfiguration.  Running git commands in the "/path/to" directory will
+misconfiguration.  Running Git commands in the "/path/to" directory will
 still use "/different/path" as the root of the work tree and can cause
 confusion unless you know what you are doing (e.g. you are creating a
 read-only snapshot of the same index to a location different from the
@@ -415,7 +415,7 @@
 	several users in a group (making sure all the files and objects are
 	group-writable). When 'all' (or 'world' or 'everybody'), the
 	repository will be readable by all users, additionally to being
-	group-shareable. When 'umask' (or 'false'), git will use permissions
+	group-shareable. When 'umask' (or 'false'), Git will use permissions
 	reported by umask(2). When '0xxx', where '0xxx' is an octal number,
 	files in the repository will have this mode value. '0xxx' will override
 	user's umask value (whereas the other options will only override
@@ -426,7 +426,7 @@
 	See linkgit:git-init[1]. False by default.
 
 core.warnAmbiguousRefs::
-	If true, git will warn you if the ref name you passed it is ambiguous
+	If true, Git will warn you if the ref name you passed it is ambiguous
 	and might match multiple refs in the .git/refs/ tree. True by default.
 
 core.compression::
@@ -498,7 +498,7 @@
 
 core.excludesfile::
 	In addition to '.gitignore' (per-directory) and
-	'.git/info/exclude', git looks into this file for patterns
+	'.git/info/exclude', Git looks into this file for patterns
 	of files which are not meant to be tracked.  "`~/`" is expanded
 	to the value of `$HOME` and "`~user/`" to the specified user's
 	home directory. Its default value is $XDG_CONFIG_HOME/git/ignore.
@@ -516,7 +516,7 @@
 
 core.attributesfile::
 	In addition to '.gitattributes' (per-directory) and
-	'.git/info/attributes', git looks into this file for attributes
+	'.git/info/attributes', Git looks into this file for attributes
 	(see linkgit:gitattributes[5]). Path expansions are made the same
 	way as for `core.excludesfile`. Its default value is
 	$XDG_CONFIG_HOME/git/attributes. If $XDG_CONFIG_HOME is either not
@@ -535,9 +535,9 @@
 	When not configured the default commit message editor is used instead.
 
 core.pager::
-	The command that git will use to paginate output.  Can
+	The command that Git will use to paginate output.  Can
 	be overridden with the `GIT_PAGER` environment
-	variable.  Note that git sets the `LESS` environment
+	variable.  Note that Git sets the `LESS` environment
 	variable to `FRSX` if it is unset when it runs the
 	pager.  One can change these settings by setting the
 	`LESS` variable to some other value.  Alternately,
@@ -545,11 +545,11 @@
 	global basis by setting the `core.pager` option.
 	Setting `core.pager` has no effect on the `LESS`
 	environment variable behaviour above, so if you want
-	to override git's default settings this way, you need
+	to override Git's default settings this way, you need
 	to be explicit.  For example, to disable the S option
 	in a backward compatible manner, set `core.pager`
 	to `less -+S`.  This will be passed to the shell by
-	git, which will translate the final command to
+	Git, which will translate the final command to
 	`LESS=FRSX less -+S`.
 
 core.whitespace::
@@ -578,7 +578,7 @@
   does not trigger if the character before such a carriage-return
   is not a whitespace (not enabled by default).
 * `tabwidth=<n>` tells how many character positions a tab occupies; this
-  is relevant for `indent-with-non-tab` and when git fixes `tab-in-indent`
+  is relevant for `indent-with-non-tab` and when Git fixes `tab-in-indent`
   errors. The default tab width is 8. Allowed values are 1 to 63.
 
 core.fsyncobjectfiles::
@@ -594,7 +594,7 @@
 +
 This can speed up operations like 'git diff' and 'git status' especially
 on filesystems like NFS that have weak caching semantics and thus
-relatively high IO latencies.  With this set to 'true', git will do the
+relatively high IO latencies.  With this set to 'true', Git will do the
 index comparison to the filesystem data in parallel, allowing
 overlapping IO's.
 
@@ -630,9 +630,9 @@
 add.ignoreErrors::
 	Tells 'git add' to continue adding files when some files cannot be
 	added due to indexing errors. Equivalent to the '--ignore-errors'
-	option of linkgit:git-add[1].  Older versions of git accept only
+	option of linkgit:git-add[1].  Older versions of Git accept only
 	`add.ignore-errors`, which does not follow the usual naming
-	convention for configuration variables.  Newer versions of git
+	convention for configuration variables.  Newer versions of Git
 	honor `add.ignoreErrors` as well.
 
 alias.*::
@@ -640,7 +640,7 @@
 	after defining "alias.last = cat-file commit HEAD", the invocation
 	"git last" is equivalent to "git cat-file commit HEAD". To avoid
 	confusion and troubles with script usage, aliases that
-	hide existing git commands are ignored. Arguments are split by
+	hide existing Git commands are ignored. Arguments are split by
 	spaces, the usual shell quoting and escaping is supported.
 	quote pair and a backslash can be used to quote them.
 +
@@ -687,7 +687,7 @@
 
 branch.autosetuprebase::
 	When a new branch is created with 'git branch' or 'git checkout'
-	that tracks another branch, this variable tells git to set
+	that tracks another branch, this variable tells Git to set
 	up pull to rebase instead of merge (see "branch.<name>.rebase").
 	When `never`, rebase is never automatically set to true.
 	When `local`, rebase is set to true for tracked branches of
@@ -868,7 +868,7 @@
 	one of `header` (the header text of the status message),
 	`added` or `updated` (files which are added but not committed),
 	`changed` (files which are changed but not added in the index),
-	`untracked` (files which are not tracked by git),
+	`untracked` (files which are not tracked by Git),
 	`branch` (the current branch), or
 	`nobranch` (the color the 'no branch' warning is shown in, defaulting
 	to red). The values of these variables may be specified as in
@@ -882,7 +882,7 @@
 	to `always` if you want all output not intended for machine
 	consumption to use color, to `true` or `auto` if you want such
 	output to use color when written to the terminal, or to `false` or
-	`never` if you prefer git commands not to use color unless enabled
+	`never` if you prefer Git commands not to use color unless enabled
 	explicitly with some other configuration or the `--color` option.
 
 column.ui::
@@ -999,7 +999,7 @@
 	is used instead.
 
 fetch.unpackLimit::
-	If the number of objects fetched over the git native
+	If the number of objects fetched over the Git native
 	transfer is below this
 	limit, then the objects will be unpacked into loose object
 	files. However if the number of received objects equals or
@@ -1039,7 +1039,7 @@
 
 format.signature::
 	The default for format-patch is to output a signature containing
-	the git version number. Use this variable to change that default.
+	the Git version number. Use this variable to change that default.
 	Set this variable to the empty string ("") to suppress
 	signature generation.
 
@@ -1152,7 +1152,7 @@
 gitcvs.usecrlfattr::
 	If true, the server will look up the end-of-line conversion
 	attributes for files to determine the '-k' modes to use. If
-	the attributes force git to treat a file as text,
+	the attributes force Git to treat a file as text,
 	the '-k' mode will be left blank so CVS clients will
 	treat it as text. If they suppress text conversion, the file
 	will be set with '-kb' mode, which suppresses any newline munging
@@ -1172,7 +1172,7 @@
 
 gitcvs.dbname::
 	Database used by git-cvsserver to cache revision information
-	derived from the git repository. The exact meaning depends on the
+	derived from the Git repository. The exact meaning depends on the
 	used database driver, for SQLite (which is the default driver) this
 	is a filename. Supports variable substitution (see
 	linkgit:git-cvsserver[1] for details). May not contain semicolons (`;`).
@@ -1384,7 +1384,7 @@
 
 http.cookiefile::
 	File containing previously stored cookie lines which should be used
-	in the git http session, if they match the server. The file format
+	in the Git http session, if they match the server. The file format
 	of the file to read cookies from should be plain HTTP headers or
 	the Netscape/Mozilla cookie file format (see linkgit:curl[1]).
 	NOTE that the file specified with http.cookiefile is only used as
@@ -1406,7 +1406,7 @@
 	variable.
 
 http.sslCertPasswordProtected::
-	Enable git's password prompt for the SSL certificate.  Otherwise
+	Enable Git's password prompt for the SSL certificate.  Otherwise
 	OpenSSL will prompt the user, possibly many times, if the
 	certificate or private key is encrypted.  Can be overridden by the
 	'GIT_SSL_CERT_PASSWORD_PROTECTED' environment variable.
@@ -1453,7 +1453,7 @@
 
 http.useragent::
 	The HTTP USER_AGENT string presented to an HTTP server.  The default
-	value represents the version of the client git such as git/1.7.1.
+	value represents the version of the client Git such as git/1.7.1.
 	This option allows you to override this value to a more common value
 	such as Mozilla/4.0.  This may be necessary, for instance, if
 	connecting through a firewall that restricts HTTP connections to a set
@@ -1461,7 +1461,7 @@
 	Can be overridden by the 'GIT_HTTP_USER_AGENT' environment variable.
 
 i18n.commitEncoding::
-	Character encoding the commit messages are stored in; git itself
+	Character encoding the commit messages are stored in; Git itself
 	does not care per se, but this information is necessary e.g. when
 	importing commits from emails or in the gitk graphical history
 	browser (and possibly at other places in the future or in other
@@ -1599,7 +1599,7 @@
 	`true` (i.e. keep the backup files).
 
 mergetool.keepTemporaries::
-	When invoking a custom merge tool, git uses a set of temporary
+	When invoking a custom merge tool, Git uses a set of temporary
 	files to pass to the tool. If the tool returns an error and this
 	variable is set to `true`, then these temporary files will be
 	preserved, otherwise they will be removed after the tool has
@@ -1627,7 +1627,7 @@
 
 notes.rewrite.<command>::
 	When rewriting commits with <command> (currently `amend` or
-	`rebase`) and this variable is set to `true`, git
+	`rebase`) and this variable is set to `true`, Git
 	automatically copies your notes from the original to the
 	rewritten commit.  Defaults to `true`, but see
 	"notes.rewriteRef" below.
@@ -1707,7 +1707,7 @@
 	warning. This is meant to reduce packing time on multiprocessor
 	machines. The required amount of memory for the delta search window
 	is however multiplied by the number of threads.
-	Specifying 0 will cause git to auto-detect the number of CPU's
+	Specifying 0 will cause Git to auto-detect the number of CPU's
 	and set the number of threads accordingly.
 
 pack.indexVersion::
@@ -1719,11 +1719,11 @@
 	and this config option ignored whenever the corresponding pack is
 	larger than 2 GB.
 +
-If you have an old git that does not understand the version 2 `*.idx` file,
+If you have an old Git that does not understand the version 2 `*.idx` file,
 cloning or fetching over a non native protocol (e.g. "http" and "rsync")
 that will copy both `*.pack` file and corresponding `*.idx` file from the
 other side may give you a repository that cannot be accessed with your
-older version of git. If the `*.pack` file is smaller than 2 GB, however,
+older version of Git. If the `*.pack` file is smaller than 2 GB, however,
 you can use linkgit:git-index-pack[1] on the *.pack file to regenerate
 the `*.idx` file.
 
@@ -1738,7 +1738,7 @@
 
 pager.<cmd>::
 	If the value is boolean, turns on or off pagination of the
-	output of a particular git subcommand when writing to a tty.
+	output of a particular Git subcommand when writing to a tty.
 	Otherwise, turns on pagination for the subcommand using the
 	pager specified by the value of `pager.<cmd>`.  If `--paginate`
 	or `--no-pager` is specified on the command line, it takes
@@ -1773,7 +1773,7 @@
 	The default merge strategy to use when pulling a single branch.
 
 push.default::
-	Defines the action git push should take if no refspec is given
+	Defines the action `git push` should take if no refspec is given
 	on the command line, no refspec is configured in the remote, and
 	no refspec is implied by any of the options given on the command
 	line. Possible values are:
@@ -1913,7 +1913,7 @@
 	linkgit:git-fetch[1].
 
 remote.<name>.vcs::
-	Setting this to a value <vcs> will cause git to interact with
+	Setting this to a value <vcs> will cause Git to interact with
 	the remote with the git-remote-<vcs> helper.
 
 remotes.<group>::
@@ -1923,9 +1923,9 @@
 repack.usedeltabaseoffset::
 	By default, linkgit:git-repack[1] creates packs that use
 	delta-base offset. If you need to share your repository with
-	git older than version 1.4.4, either directly or via a dumb
+	Git older than version 1.4.4, either directly or via a dumb
 	protocol such as http, then you need to set this option to
-	"false" and repack. Access from old git versions over the
+	"false" and repack. Access from old Git versions over the
 	native protocol are unaffected by this option.
 
 rerere.autoupdate::
@@ -1994,7 +1994,7 @@
 status.relativePaths::
 	By default, linkgit:git-status[1] shows paths relative to the
 	current directory. Setting this variable to `false` shows paths
-	relative to the repository root (this was the default for git
+	relative to the repository root (this was the default for Git
 	prior to v1.5.4).
 
 status.showUntrackedFiles::
@@ -2081,7 +2081,7 @@
 	large number of repositories, and serves them with multiple
 	access methods, and some users need to use different access
 	methods, this feature allows people to specify any of the
-	equivalent URLs and have git automatically rewrite the URL to
+	equivalent URLs and have Git automatically rewrite the URL to
 	the best alternative for the particular user, even for a
 	never-before-seen repository on the site.  When more than one
 	insteadOf strings match a given URL, the longest match is used.
@@ -2092,11 +2092,11 @@
 	resulting URL will be pushed to. In cases where some site serves
 	a large number of repositories, and serves them with multiple
 	access methods, some of which do not allow push, this feature
-	allows people to specify a pull-only URL and have git
+	allows people to specify a pull-only URL and have Git
 	automatically use an appropriate URL to push, even for a
 	never-before-seen repository on the site.  When more than one
 	pushInsteadOf strings match a given URL, the longest match is
-	used.  If a remote has an explicit pushurl, git will ignore this
+	used.  If a remote has an explicit pushurl, Git will ignore this
 	setting for that remote.
 
 user.email::
diff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt
index 4314ad0..6d06aa4 100644
--- a/Documentation/diff-config.txt
+++ b/Documentation/diff-config.txt
@@ -99,7 +99,7 @@
 	detection; equivalent to the 'git diff' option '-l'.
 
 diff.renames::
-	Tells git to detect renames.  If set to any boolean value, it
+	Tells Git to detect renames.  If set to any boolean value, it
 	will enable basic rename detection.  If set to "copies" or
 	"copy", it will detect copies, as well.
 
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
index 39f2c50..7a87473 100644
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -283,7 +283,7 @@
 single deletion of everything old followed by a single insertion of
 everything new, and the number `m` controls this aspect of the -B
 option (defaults to 60%). `-B/70%` specifies that less than 30% of the
-original should remain in the result for git to consider it a total
+original should remain in the result for Git to consider it a total
 rewrite (i.e. otherwise the resulting patch will be a series of
 deletion and insertion mixed together with context lines).
 +
@@ -307,7 +307,7 @@
 endif::git-log[]
 	If `n` is specified, it is a threshold on the similarity
 	index (i.e. amount of addition/deletions compared to the
-	file's size). For example, `-M90%` means git should consider a
+	file's size). For example, `-M90%` means Git should consider a
 	delete/add pair to be a rename if more than 90% of the file
 	hasn't changed.  Without a `%` sign, the number is to be read as
 	a fraction, with a decimal point before it.  I.e., `-M5` becomes
diff --git a/Documentation/everyday.txt b/Documentation/everyday.txt
index 6acfd33..e1fba85 100644
--- a/Documentation/everyday.txt
+++ b/Documentation/everyday.txt
@@ -12,7 +12,7 @@
 
 <<Repository Administration>> commands are for system
 administrators who are responsible for the care and feeding
-of git repositories.
+of Git repositories.
 
 
 Individual Developer (Standalone)[[Individual Developer (Standalone)]]
@@ -87,7 +87,7 @@
 +
 <1> create a new topic branch.
 <2> revert your botched changes in `curses/ux_audio_oss.c`.
-<3> you need to tell git if you added a new file; removal and
+<3> you need to tell Git if you added a new file; removal and
 modification will be caught if you do `git commit -a` later.
 <4> to see what changes you are committing.
 <5> commit everything as you have tested, with your sign-off.
@@ -332,7 +332,7 @@
 ------------
 $ cat /etc/xinetd.d/git-daemon
 # default: off
-# description: The git server offers access to git repositories
+# description: The Git server offers access to Git repositories
 service git
 {
         disable = no
diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
index 634b84e..f605327 100644
--- a/Documentation/git-apply.txt
+++ b/Documentation/git-apply.txt
@@ -24,7 +24,7 @@
 With the `--index` option the patch is also applied to the index, and
 with the `--cached` option the patch is only applied to the index.
 Without these options, the command applies the patch only to files,
-and does not require them to be in a git repository.
+and does not require them to be in a Git repository.
 
 This command applies the patch but does not create a commit.  Use
 linkgit:git-am[1] to create commits from patches generated by
@@ -198,7 +198,7 @@
 * `fix` outputs warnings for a few such errors, and applies the
   patch after fixing them (`strip` is a synonym --- the tool
   used to consider only trailing whitespace characters as errors, and the
-  fix involved 'stripping' them, but modern gits do more).
+  fix involved 'stripping' them, but modern Gits do more).
 * `error` outputs warnings for a few such errors, and refuses
   to apply the patch.
 * `error-all` is similar to `error` but shows all errors.
diff --git a/Documentation/git-archimport.txt b/Documentation/git-archimport.txt
index f4504ba..163b9f6 100644
--- a/Documentation/git-archimport.txt
+++ b/Documentation/git-archimport.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-archimport - Import an Arch repository into git
+git-archimport - Import an Arch repository into Git
 
 
 SYNOPSIS
@@ -40,13 +40,13 @@
 incremental imports.
 
 While 'git archimport' will try to create sensible branch names for the
-archives that it imports, it is also possible to specify git branch names
-manually.  To do so, write a git branch name after each <archive/branch>
+archives that it imports, it is also possible to specify Git branch names
+manually.  To do so, write a Git branch name after each <archive/branch>
 parameter, separated by a colon.  This way, you can shorten the Arch
-branch names and convert Arch jargon to git jargon, for example mapping a
+branch names and convert Arch jargon to Git jargon, for example mapping a
 "PROJECT{litdd}devo{litdd}VERSION" branch to "master".
 
-Associating multiple Arch branches to one git branch is possible; the
+Associating multiple Arch branches to one Git branch is possible; the
 result will make the most sense only if no commits are made to the first
 branch, after the second branch is created.  Still, this is useful to
 convert Arch repositories that had been rotated periodically.
@@ -54,14 +54,14 @@
 
 MERGES
 ------
-Patch merge data from Arch is used to mark merges in git as well. git
+Patch merge data from Arch is used to mark merges in Git as well. Git
 does not care much about tracking patches, and only considers a merge when a
 branch incorporates all the commits since the point they forked. The end result
-is that git will have a good idea of how far branches have diverged. So the
+is that Git will have a good idea of how far branches have diverged. So the
 import process does lose some patch-trading metadata.
 
 Fortunately, when you try and merge branches imported from Arch,
-git will find a good merge base, and it has a good chance of identifying
+Git will find a good merge base, and it has a good chance of identifying
 patches that have been traded out-of-sequence between the branches.
 
 OPTIONS
diff --git a/Documentation/git-archive.txt b/Documentation/git-archive.txt
index 59d73e5..b4c2e24 100644
--- a/Documentation/git-archive.txt
+++ b/Documentation/git-archive.txt
@@ -128,7 +128,7 @@
 	added to archive files.  See linkgit:gitattributes[5] for details.
 
 export-subst::
-	If the attribute export-subst is set for a file then git will
+	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-lk2009.txt b/Documentation/git-bisect-lk2009.txt
index ec4497e..0eed3e3 100644
--- a/Documentation/git-bisect-lk2009.txt
+++ b/Documentation/git-bisect-lk2009.txt
@@ -224,7 +224,7 @@
 will be looking for the first commit that has a version like
 "2.6.26-something", that is the commit that has a "SUBLEVEL = 26" line
 in the top level Makefile. This is a toy example because there are
-better ways to find this commit with git than using "git bisect" (for
+better ways to find this commit with Git than using "git bisect" (for
 example "git blame" or "git log -S<string>").
 
 Driving a bisection manually
@@ -455,7 +455,7 @@
 have been removed by rules a) and b) respectively, and because commits
 G are removed by rule b) too.
 
-Note for git users, that it is equivalent as keeping only the commit
+Note for Git users, that it is equivalent as keeping only the commit
 given by:
 
 -------------
@@ -710,8 +710,8 @@
 After step 7) (in the skip algorithm), we could check if the second
 commit has been skipped and return it if it is not the case. And in
 fact that was the algorithm we used from when "git bisect skip" was
-developed in git version 1.5.4 (released on February 1st 2008) until
-git version 1.6.4 (released July 29th 2009).
+developed in Git version 1.5.4 (released on February 1st 2008) until
+Git version 1.6.4 (released July 29th 2009).
 
 But Ingo Molnar and H. Peter Anvin (another well known linux kernel
 developer) both complained that sometimes the best bisection points
@@ -1025,10 +1025,10 @@
 _____________
 To give some hard figures, we used to have an average report-to-fix
 cycle of 142.6 hours (according to our somewhat weird bug-tracker
-which just measures wall-clock time). Since we moved to git, we've
+which just measures wall-clock time). Since we moved to Git, we've
 lowered that to 16.2 hours. Primarily because we can stay on top of
 the bug fixing now, and because everyone's jockeying to get to fix
-bugs (we're quite proud of how lazy we are to let git find the bugs
+bugs (we're quite proud of how lazy we are to let Git find the bugs
 for us). Each new release results in ~40% fewer bugs (almost certainly
 due to how we now feel about writing tests).
 _____________
@@ -1228,9 +1228,9 @@
 message or the author. And it can also be used instead of git "grafts"
 to link a repository with another old repository.
 
-In fact it's this last feature that "sold" it to the git community, so
-it is now in the "master" branch of git's git repository and it should
-be released in git 1.6.5 in October or November 2009.
+In fact it's this last feature that "sold" it to the Git community, so
+it is now in the "master" branch of Git's Git repository and it should
+be released in Git 1.6.5 in October or November 2009.
 
 One problem with "git replace" is that currently it stores all the
 replacements refs in "refs/replace/", but it would be perhaps better
@@ -1324,7 +1324,7 @@
 ----------------
 
 Many thanks to Junio Hamano for his help in reviewing this paper, for
-reviewing the patches I sent to the git mailing list, for discussing
+reviewing the patches I sent to the Git mailing list, for discussing
 some ideas and helping me improve them, for improving "git bisect" a
 lot and for his awesome work in maintaining and developing Git.
 
@@ -1337,7 +1337,7 @@
 evangelizing "git bisect", Git and Linux.
 
 Many thanks to the many other great people who helped one way or
-another when I worked on git, especially to Andreas Ericsson, Johannes
+another when I worked on Git, especially to Andreas Ericsson, Johannes
 Schindelin, H. Peter Anvin, Daniel Barkalow, Bill Lear, John Hawley,
 Shawn O. Pierce, Jeff King, Sam Vilain, Jon Seymour.
 
diff --git a/Documentation/git-bisect.txt b/Documentation/git-bisect.txt
index e4f46bc..b4831bb 100644
--- a/Documentation/git-bisect.txt
+++ b/Documentation/git-bisect.txt
@@ -169,14 +169,14 @@
 Bisect skip
 ~~~~~~~~~~~~
 
-Instead of choosing by yourself a nearby commit, you can ask git
+Instead of choosing by yourself a nearby commit, you can ask Git
 to do it for you by issuing the command:
 
 ------------
 $ git bisect skip                 # Current version cannot be tested
 ------------
 
-But git may eventually be unable to tell the first bad commit among
+But Git may eventually be unable to tell the first bad commit among
 a bad commit and one or more skipped commits.
 
 You can even skip a range of commits, instead of just one commit,
diff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt
index e44173f..9a05c2b 100644
--- a/Documentation/git-blame.txt
+++ b/Documentation/git-blame.txt
@@ -30,7 +30,7 @@
 replaced; you need to use a tool such as 'git diff' or the "pickaxe"
 interface briefly mentioned in the following paragraph.
 
-Apart from supporting file annotation, git also supports searching the
+Apart from supporting file annotation, Git also supports searching the
 development history for when a code snippet occurred in a change. This makes it
 possible to track when a code snippet was added to a file, moved or copied
 between files, and eventually deleted or replaced. It works by searching for
diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt
index 45a225e..d4a9be2 100644
--- a/Documentation/git-branch.txt
+++ b/Documentation/git-branch.txt
@@ -45,7 +45,7 @@
 working tree to it; use "git checkout <newbranch>" to switch to the
 new branch.
 
-When a local branch is started off a remote-tracking branch, git sets up the
+When a local branch is started off a remote-tracking branch, Git sets up the
 branch so that 'git pull' will appropriately merge from
 the remote-tracking branch. This behavior may be changed via the global
 `branch.autosetupmerge` configuration flag. That setting can be
diff --git a/Documentation/git-bundle.txt b/Documentation/git-bundle.txt
index bc023cc..0417562 100644
--- a/Documentation/git-bundle.txt
+++ b/Documentation/git-bundle.txt
@@ -19,7 +19,7 @@
 
 Some workflows require that one or more branches of development on one
 machine be replicated on another machine, but the two machines cannot
-be directly connected, and therefore the interactive git protocols (git,
+be directly connected, and therefore the interactive Git protocols (git,
 ssh, rsync, http) cannot be used.  This command provides support for
 'git fetch' and 'git pull' to operate by packaging objects and references
 in an archive at the originating machine, then importing those into
diff --git a/Documentation/git-check-ref-format.txt b/Documentation/git-check-ref-format.txt
index 98009d1..ec1739a 100644
--- a/Documentation/git-check-ref-format.txt
+++ b/Documentation/git-check-ref-format.txt
@@ -18,14 +18,14 @@
 Checks if a given 'refname' is acceptable, and exits with a non-zero
 status if it is not.
 
-A reference is used in git to specify branches and tags.  A
+A reference is used in Git to specify branches and tags.  A
 branch head is stored in the `refs/heads` hierarchy, while
 a tag is stored in the `refs/tags` hierarchy of the ref namespace
 (typically in `$GIT_DIR/refs/heads` and `$GIT_DIR/refs/tags`
 directories or, as entries in file `$GIT_DIR/packed-refs`
 if refs are packed by `git gc`).
 
-git imposes the following rules on how references are named:
+Git imposes the following rules on how references are named:
 
 . They can include slash `/` for hierarchical (directory)
   grouping, but no slash-separated component can begin with a
diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index 6f04d22..8edcdca 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -333,7 +333,7 @@
   tag 'v2.0' (refers to commit 'b')
 ------------
 
-In fact, we can perform all the normal git operations. But, let's look
+In fact, we can perform all the normal Git operations. But, let's look
 at what happens when we then checkout master:
 
 ------------
@@ -350,7 +350,7 @@
 
 It is important to realize that at this point nothing refers to commit
 'f'. Eventually commit 'f' (and by extension commit 'e') will be deleted
-by the routine git garbage collection process, unless we create a reference
+by the routine Git garbage collection process, unless we create a reference
 before that happens. If we have not yet moved away from commit 'f',
 any of these will create a reference to it:
 
diff --git a/Documentation/git-clean.txt b/Documentation/git-clean.txt
index 9f42c0d..bdc3ab8 100644
--- a/Documentation/git-clean.txt
+++ b/Documentation/git-clean.txt
@@ -16,7 +16,7 @@
 Cleans the working tree by recursively removing files that are not
 under version control, starting from the current directory.
 
-Normally, only files unknown to git are removed, but if the '-x'
+Normally, only files unknown to Git are removed, but if the '-x'
 option is specified, ignored files are also removed. This can, for
 example, be useful to remove all build products.
 
@@ -27,13 +27,13 @@
 -------
 -d::
 	Remove untracked directories in addition to untracked files.
-	If an untracked directory is managed by a different git
+	If an untracked directory is managed by a different Git
 	repository, it is not removed by default.  Use -f option twice
 	if you really want to remove such a directory.
 
 -f::
 --force::
-	If the git configuration variable clean.requireForce is not set
+	If the Git configuration variable clean.requireForce is not set
 	to false, 'git clean' will refuse to run unless given -f or -n.
 
 -n::
@@ -60,7 +60,7 @@
 	working directory to test a clean build.
 
 -X::
-	Remove only files ignored by git.  This may be useful to rebuild
+	Remove only files ignored by Git.  This may be useful to rebuild
 	everything from scratch, but keep manually created files.
 
 SEE ALSO
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index 597048b..5c16e31 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -43,7 +43,7 @@
 --local::
 -l::
 	When the repository to clone from is on a local machine,
-	this flag bypasses the normal "git aware" transport
+	this flag bypasses the normal "Git aware" transport
 	mechanism and clones the repository by making a copy of
 	HEAD and everything under objects and refs directories.
 	The files under `.git/objects/` directory are hardlinked
@@ -54,11 +54,11 @@
 repository is specified as a URL, then this flag is ignored (and we
 never use the local optimizations).  Specifying `--no-local` will
 override the default when `/path/to/repo` is given, using the regular
-git transport instead.
+Git transport instead.
 +
 To force copying instead of hardlinking (which may be desirable if you
 are trying to make a back-up of your repository), but still avoid the
-usual "git aware" transport mechanism, `--no-hardlinks` can be used.
+usual "Git aware" transport mechanism, `--no-hardlinks` can be used.
 
 --no-hardlinks::
 	Optimize the cloning process from a repository on a
@@ -76,9 +76,9 @@
 *NOTE*: this is a possibly dangerous operation; do *not* use
 it unless you understand what it does. If you clone your
 repository using this option and then delete branches (or use any
-other git command that makes any existing commit unreferenced) in the
+other Git command that makes any existing commit unreferenced) in the
 source repository, some objects may become unreferenced (or dangling).
-These objects may be removed by normal git operations (such as `git commit`)
+These objects may be removed by normal Git operations (such as `git commit`)
 which automatically call `git gc --auto`. (See linkgit:git-gc[1].)
 If these objects are removed and were referenced by the cloned repository,
 then the cloned repository will become corrupt.
@@ -213,8 +213,8 @@
 --separate-git-dir=<git dir>::
 	Instead of placing the cloned repository where it is supposed
 	to be, place the cloned repository at the specified directory,
-	then make a filesytem-agnostic git symbolic link to there.
-	The result is git repository can be separated from working
+	then make a filesytem-agnostic Git symbolic link to there.
+	The result is Git repository can be separated from working
 	tree.
 
 
diff --git a/Documentation/git-commit-tree.txt b/Documentation/git-commit-tree.txt
index a221169..86ef56e 100644
--- a/Documentation/git-commit-tree.txt
+++ b/Documentation/git-commit-tree.txt
@@ -30,7 +30,7 @@
 directory, a commit represents that state in "time", and explains how
 to get there.
 
-Normally a commit would identify a new "HEAD" state, and while git
+Normally a commit would identify a new "HEAD" state, and while Git
 doesn't care where you save the note about that state, in practice we
 tend to just write the result to the file that is pointed at by
 `.git/HEAD`, so that we can always see what the last committed
diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index 41b27da..0eb79cc 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -32,7 +32,7 @@
 3. by listing files as arguments to the 'commit' command, in which
    case the commit will ignore changes staged in the index, and instead
    record the current content of the listed files (which must already
-   be known to git);
+   be known to Git);
 
 4. by using the -a switch with the 'commit' command to automatically
    "add" changes from all known files (i.e. all files that are already
@@ -59,7 +59,7 @@
 --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.
+	told Git about are not affected.
 
 -p::
 --patch::
@@ -404,7 +404,7 @@
 with a single short (less than 50 character) line summarizing the
 change, followed by a blank line and then a more thorough description.
 The text up to the first blank line in a commit message is treated
-as the commit title, and that title is used throughout git.
+as the commit title, and that title is used throughout Git.
 For example, linkgit:git-format-patch[1] turns a commit into email, and it uses
 the title on the Subject line and the rest of the commit in the body.
 
diff --git a/Documentation/git-credential-cache.txt b/Documentation/git-credential-cache.txt
index eeff5fa..89b7306 100644
--- a/Documentation/git-credential-cache.txt
+++ b/Documentation/git-credential-cache.txt
@@ -14,13 +14,13 @@
 DESCRIPTION
 -----------
 
-This command caches credentials in memory for use by future git
+This command caches credentials in memory for use by future Git
 programs. The stored credentials never touch the disk, and are forgotten
 after a configurable timeout.  The cache is accessible over a Unix
 domain socket, restricted to the current user by filesystem permissions.
 
 You probably don't want to invoke this command directly; it is meant to
-be used as a credential helper by other parts of git. See
+be used as a credential helper by other parts of Git. See
 linkgit:gitcredentials[7] or `EXAMPLES` below.
 
 OPTIONS
diff --git a/Documentation/git-credential-store.txt b/Documentation/git-credential-store.txt
index b27c03c..8481cae 100644
--- a/Documentation/git-credential-store.txt
+++ b/Documentation/git-credential-store.txt
@@ -20,7 +20,7 @@
 that integrates with secure storage provided by your operating system.
 
 This command stores credentials indefinitely on disk for use by future
-git programs.
+Git programs.
 
 You probably don't want to invoke this command directly; it is meant to
 be used as a credential helper by other parts of git. See
@@ -63,11 +63,11 @@
 https://user:pass@example.com
 ------------------------------
 
-When git needs authentication for a particular URL context,
+When Git needs authentication for a particular URL context,
 credential-store will consider that context a pattern to match against
 each entry in the credentials file.  If the protocol, hostname, and
 username (if we already have one) match, then the password is returned
-to git. See the discussion of configuration in linkgit:gitcredentials[7]
+to Git. See the discussion of configuration in linkgit:gitcredentials[7]
 for more information.
 
 GIT
diff --git a/Documentation/git-credential.txt b/Documentation/git-credential.txt
index 810e957..472f00f 100644
--- a/Documentation/git-credential.txt
+++ b/Documentation/git-credential.txt
@@ -18,9 +18,9 @@
 from system-specific helpers, as well as prompting the user for
 usernames and passwords. The git-credential command exposes this
 interface to scripts which may want to retrieve, store, or prompt for
-credentials in the same manner as git. The design of this scriptable
+credentials in the same manner as Git. The design of this scriptable
 interface models the internal C API; see
-link:technical/api-credentials.txt[the git credential API] for more
+link:technical/api-credentials.txt[the Git credential API] for more
 background on the concepts.
 
 git-credential takes an "action" option on the command-line (one of
@@ -74,7 +74,7 @@
 	password=secr3t
 +
 In most cases, this means the attributes given in the input will be
-repeated in the output, but git may also modify the credential
+repeated in the output, but Git may also modify the credential
 description, for example by removing the `path` attribute when the
 protocol is HTTP(s) and `credential.useHttpPath` is false.
 +
diff --git a/Documentation/git-cvsexportcommit.txt b/Documentation/git-cvsexportcommit.txt
index a671e22..00154b6 100644
--- a/Documentation/git-cvsexportcommit.txt
+++ b/Documentation/git-cvsexportcommit.txt
@@ -16,7 +16,7 @@
 DESCRIPTION
 -----------
 Exports a commit from Git to a CVS checkout, making it easier
-to merge patches from a git repository into a CVS repository.
+to merge patches from a Git repository into a CVS repository.
 
 Specify the name of a CVS checkout using the -w switch or execute it
 from the root of the CVS working copy. In the latter case GIT_DIR must
@@ -71,7 +71,7 @@
 -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
+	current directory is within a Git repository.  The default is the
 	value of 'cvsexportcommit.cvsdir'.
 
 -W::
diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt
index 9d5353e..1786d9d 100644
--- a/Documentation/git-cvsimport.txt
+++ b/Documentation/git-cvsimport.txt
@@ -18,7 +18,7 @@
 
 DESCRIPTION
 -----------
-Imports a CVS repository into git. It will either create a new
+Imports a CVS repository into Git. It will either create a new
 repository, or incrementally import into an existing one.
 
 Splitting the CVS log into patch sets is done by 'cvsps'.
@@ -59,18 +59,18 @@
 	`CVS/Repository`.
 
 -C <target-dir>::
-        The git repository to import to.  If the directory doesn't
+	The Git repository to import to.  If the directory doesn't
         exist, it will be created.  Default is the current directory.
 
 -r <remote>::
-	The git remote to import this CVS repository into.
+	The Git remote to import this CVS repository into.
 	Moves all CVS branches into remotes/<remote>/<branch>
 	akin to the way 'git clone' uses 'origin' by default.
 
 -o <branch-for-HEAD>::
 	When no remote is specified (via -r) the 'HEAD' branch
-	from CVS is imported to the 'origin' branch within the git
-	repository, as 'HEAD' already has a special meaning for git.
+	from CVS is imported to the 'origin' branch within the Git
+	repository, as 'HEAD' already has a special meaning for Git.
 	When a remote is specified the 'HEAD' branch is named
 	remotes/<remote>/master mirroring 'git clone' behaviour.
 	Use this option if you want to import into a different
diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt
index 36d069b..7ca64b3 100644
--- a/Documentation/git-cvsserver.txt
+++ b/Documentation/git-cvsserver.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-cvsserver - A CVS server emulator for git
+git-cvsserver - A CVS server emulator for Git
 
 SYNOPSIS
 --------
@@ -60,7 +60,7 @@
 DESCRIPTION
 -----------
 
-This application is a CVS emulation layer for git.
+This application is a CVS emulation layer for Git.
 
 It is highly functional. However, not all methods are implemented,
 and for those methods that are implemented,
@@ -160,9 +160,9 @@
 Note: you need to ensure each user that is going to invoke 'git-cvsserver' has
 write access to the log file and to the database (see
 <<dbbackend,Database Backend>>. If you want to offer write access over
-SSH, the users of course also need write access to the git repository itself.
+SSH, the users of course also need write access to the Git repository itself.
 
-You also need to ensure that each repository is "bare" (without a git index
+You also need to ensure that each repository is "bare" (without a Git index
 file) for `cvs commit` to work. See linkgit:gitcvs-migration[7].
 
 [[configaccessmethod]]
@@ -181,7 +181,7 @@
 3. If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout command,
    automatically saving it in your 'CVS/Root' files, then you need to set them
    explicitly in your environment.  CVSROOT should be set as per normal, but the
-   directory should point at the appropriate git repo.  As above, for SSH clients
+   directory should point at the appropriate Git repo.  As above, for SSH clients
    _not_ restricted to 'git-shell', CVS_SERVER should be set to 'git-cvsserver'.
 +
 --
@@ -210,7 +210,7 @@
 Database Backend
 ----------------
 
-'git-cvsserver' uses one database per git head (i.e. CVS module) to
+'git-cvsserver' uses one database per Git head (i.e. CVS module) to
 store information about the repository to maintain consistent
 CVS revision numbers. The database needs to be
 updated (i.e. written to) after every commit.
@@ -225,7 +225,7 @@
 the database to work reliably (otherwise you need to make sure
 that the database is up-to-date any time 'git-cvsserver' is executed).
 
-By default it uses SQLite databases in the git directory, named
+By default it uses SQLite databases in the Git directory, named
 `gitcvs.<module_name>.sqlite`. Note that the SQLite backend creates
 temporary files in the same directory as the database file on
 write so it might not be enough to grant the users using
@@ -291,14 +291,14 @@
 In `dbdriver` and `dbuser` you can use the following variables:
 
 %G::
-	git directory name
+	Git directory name
 %g::
-	git directory name, where all characters except for
+	Git directory name, where all characters except for
 	alpha-numeric ones, `.`, and `-` are replaced with
 	`_` (this should make it easier to use the directory
 	name in a filename if wanted)
 %m::
-	CVS module/git head name
+	CVS module/Git head name
 %a::
 	access method (one of "ext" or "pserver")
 %u::
diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt
index 80de4f6..77da564 100644
--- a/Documentation/git-daemon.txt
+++ b/Documentation/git-daemon.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-daemon - A really simple server for git repositories
+git-daemon - A really simple server for Git repositories
 
 SYNOPSIS
 --------
@@ -22,12 +22,12 @@
 
 DESCRIPTION
 -----------
-A really simple TCP git daemon that normally listens on port "DEFAULT_GIT_PORT"
+A really simple TCP Git daemon that normally listens on port "DEFAULT_GIT_PORT"
 aka 9418.  It waits for a connection asking for a service, and will serve
 that service if it is enabled.
 
 It verifies that the directory has the magic file "git-daemon-export-ok", and
-it will refuse to export any git directory that hasn't explicitly been marked
+it will refuse to export any Git directory that hasn't explicitly been marked
 for export this way (unless the '--export-all' parameter is specified). If you
 pass some directory paths as 'git daemon' arguments, you can further restrict
 the offers to a whitelist comprising of those.
@@ -37,7 +37,7 @@
 from 'git fetch', 'git pull', and 'git clone'.
 
 This is ideally suited for read-only updates, i.e., pulling from
-git repositories.
+Git repositories.
 
 An `upload-archive` also exists to serve 'git archive'.
 
diff --git a/Documentation/git-describe.txt b/Documentation/git-describe.txt
index 72d6bb6..32da244 100644
--- a/Documentation/git-describe.txt
+++ b/Documentation/git-describe.txt
@@ -131,7 +131,7 @@
 
 Note that the suffix you get if you type these commands today may be
 longer than what Linus saw above when he ran these commands, as your
-git repository may have new commits whose object names begin with
+Git repository may have new commits whose object names begin with
 975b that did not exist back then, and "-g975b" suffix alone may not
 be sufficient to disambiguate these commits.
 
diff --git a/Documentation/git-diff.txt b/Documentation/git-diff.txt
index f8c0601..a7b4620 100644
--- a/Documentation/git-diff.txt
+++ b/Documentation/git-diff.txt
@@ -25,7 +25,7 @@
 
 	This form is to view the changes you made relative to
 	the index (staging area for the next commit).  In other
-	words, the differences are what you _could_ tell git to
+	words, the differences are what you _could_ tell Git to
 	further add to the index but you still haven't.  You can
 	stage these changes by using linkgit:git-add[1].
 +
diff --git a/Documentation/git-difftool.txt b/Documentation/git-difftool.txt
index 73ca702..e0e12e9 100644
--- a/Documentation/git-difftool.txt
+++ b/Documentation/git-difftool.txt
@@ -12,7 +12,7 @@
 
 DESCRIPTION
 -----------
-'git difftool' is a git command that allows you to compare and edit files
+'git difftool' is a Git command that allows you to compare and edit files
 between revisions using common diff tools.  'git difftool' is a frontend
 to 'git diff' and accepts the same options and arguments. See
 linkgit:git-diff[1].
diff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt
index b41d7c1..e08a028 100644
--- a/Documentation/git-fetch.txt
+++ b/Documentation/git-fetch.txt
@@ -80,7 +80,7 @@
 out submodules right now. When e.g. upstream added a new submodule in the
 just fetched commits of the superproject the submodule itself can not be
 fetched, making it impossible to check out that submodule later without
-having to do a fetch again. This is expected to be fixed in a future git
+having to do a fetch again. This is expected to be fixed in a future Git
 version.
 
 SEE ALSO
diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index e2301f5..dfd12c9 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -18,7 +18,7 @@
 
 DESCRIPTION
 -----------
-Lets you rewrite git revision history by rewriting the branches mentioned
+Lets you rewrite Git revision history by rewriting the branches mentioned
 in the <rev-list options>, applying custom filters on each revision.
 Those filters can modify each tree (e.g. removing a file or running
 a perl rewrite on all files) or information about each commit.
@@ -29,7 +29,7 @@
 command line (e.g. if you pass 'a..b', only 'b' will be rewritten).
 If you specify no filters, the commits will be recommitted without any
 changes, which would normally have no effect.  Nevertheless, this may be
-useful in the future for compensating for some git bugs or such,
+useful in the future for compensating for some Git bugs or such,
 therefore such a usage is permitted.
 
 *NOTE*: This command honors `.git/info/grafts` file and refs in
@@ -374,7 +374,7 @@
 usually with some combination of `--index-filter` and
 `--subdirectory-filter`.  People expect the resulting repository to
 be smaller than the original, but you need a few more steps to
-actually make it smaller, because git tries hard not to lose your
+actually make it smaller, because Git tries hard not to lose your
 objects until you tell it to.  First make sure that:
 
 * You really removed all variants of a filename, if a blob was moved
diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt
index 9a914d0..3a62f50 100644
--- a/Documentation/git-format-patch.txt
+++ b/Documentation/git-format-patch.txt
@@ -208,14 +208,14 @@
 the commit that does not belong to the commit log message proper,
 and include it with the patch submission. While one can simply write
 these explanations after `format-patch` has run but before sending,
-keeping them as git notes allows them to be maintained between versions
+keeping them as Git notes allows them to be maintained between versions
 of the patch series (but see the discussion of the `notes.rewrite`
 configuration options in linkgit:git-notes[1] to use this workflow).
 
 --[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
+	signature option is omitted the signature defaults to the Git version
 	number.
 
 --suffix=.<sfx>::
@@ -389,7 +389,7 @@
 ~~~~~~~~~~~
 By default, Thunderbird will both wrap emails as well as flag
 them as being 'format=flowed', both of which will make the
-resulting email unusable by git.
+resulting email unusable by Git.
 
 There are three different approaches: use an add-on to turn off line wraps,
 configure Thunderbird to not mangle patches, or use
@@ -525,8 +525,8 @@
 Additionally, it detects and handles renames and complete rewrites
 intelligently to produce a renaming patch.  A renaming patch reduces
 the amount of text output, and generally makes it easier to review.
-Note that non-git "patch" programs won't understand renaming patches, so
-use it only when you know the recipient uses git to apply your patch.
+Note that non-Git "patch" programs won't understand renaming patches, so
+use it only when you know the recipient uses Git to apply your patch.
 
 * Extract three topmost commits from the current branch and format them
 as e-mailable patches:
diff --git a/Documentation/git-fsck.txt b/Documentation/git-fsck.txt
index da348fc..eff9188 100644
--- a/Documentation/git-fsck.txt
+++ b/Documentation/git-fsck.txt
@@ -56,7 +56,7 @@
 	($GIT_DIR/objects), but also the ones found in alternate
 	object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES
 	or $GIT_DIR/objects/info/alternates,
-	and in packed git archives found in $GIT_DIR/objects/pack
+	and in packed Git archives found in $GIT_DIR/objects/pack
 	and corresponding pack subdirectories in alternate
 	object pools.  This is now default; you can turn it off
 	with --no-full.
@@ -64,8 +64,8 @@
 --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
-	Linux kernel, git itself, and sparse repository have old
+	versions of Git.  Existing repositories, including the
+	Linux kernel, Git itself, and sparse repository have old
 	objects that triggers this check, but it is recommended
 	to check new projects with this flag.
 
diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt
index cfecf84..50d46e1 100644
--- a/Documentation/git-grep.txt
+++ b/Documentation/git-grep.txt
@@ -61,7 +61,7 @@
 	blobs registered in the index file.
 
 --no-index::
-	Search files in the current directory that is not managed by git.
+	Search files in the current directory that is not managed by Git.
 
 --untracked::
 	In addition to searching in the tracked files in the working
diff --git a/Documentation/git-gui.txt b/Documentation/git-gui.txt
index 0041994..8144527 100644
--- a/Documentation/git-gui.txt
+++ b/Documentation/git-gui.txt
@@ -102,7 +102,7 @@
 SEE ALSO
 --------
 linkgit:gitk[1]::
-	The git repository browser.  Shows branches, commit history
+	The Git repository browser.  Shows branches, commit history
 	and file differences.  gitk is the utility started by
 	'git gui''s Repository Visualize actions.
 
diff --git a/Documentation/git-hash-object.txt b/Documentation/git-hash-object.txt
index 4b0a502..02c1f12 100644
--- a/Documentation/git-hash-object.txt
+++ b/Documentation/git-hash-object.txt
@@ -40,7 +40,7 @@
 --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
+	used to determine what Git filters should be applied to the object
 	before it can be placed to the object database, and, as result of
 	applying filters, the actual blob put into the object database may
 	differ from the given file. This option is mainly useful for hashing
diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
index 9e0b3f6..e07b6dc 100644
--- a/Documentation/git-help.txt
+++ b/Documentation/git-help.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-help - display help information about git
+git-help - Display help information about Git
 
 SYNOPSIS
 --------
@@ -14,13 +14,13 @@
 -----------
 
 With no options and no COMMAND given, the synopsis of the 'git'
-command and a list of the most commonly used git commands are printed
+command and a list of the most commonly used Git commands are printed
 on the standard output.
 
 If the option '--all' or '-a' is given, then all available commands are
 printed on the standard output.
 
-If a git command is named, a manual page for that command is brought
+If a Git subcommand is named, a manual page for that subcommand is brought
 up. The 'man' program is used by default for this purpose, but this
 can be overridden by other options or configuration variables.
 
diff --git a/Documentation/git-http-backend.txt b/Documentation/git-http-backend.txt
index f4e0741..7b1e85c 100644
--- a/Documentation/git-http-backend.txt
+++ b/Documentation/git-http-backend.txt
@@ -19,7 +19,7 @@
 pushing using the smart HTTP protocol.
 
 It verifies that the directory has the magic file
-"git-daemon-export-ok", and it will refuse to export any git directory
+"git-daemon-export-ok", and it will refuse to export any Git directory
 that hasn't explicitly been marked for export this way (unless the
 GIT_HTTP_EXPORT_ALL environmental variable is set).
 
diff --git a/Documentation/git-http-fetch.txt b/Documentation/git-http-fetch.txt
index 070cd1e..21a33d2 100644
--- a/Documentation/git-http-fetch.txt
+++ b/Documentation/git-http-fetch.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-http-fetch - Download from a remote git repository via HTTP
+git-http-fetch - Download from a remote Git repository via HTTP
 
 
 SYNOPSIS
@@ -13,7 +13,7 @@
 
 DESCRIPTION
 -----------
-Downloads a remote git repository via HTTP.
+Downloads a remote Git repository via HTTP.
 
 *NOTE*: use of this command without -a is deprecated.  The -a
 behaviour will become the default in a future release.
diff --git a/Documentation/git-index-pack.txt b/Documentation/git-index-pack.txt
index 39e6d0d..36adc5f 100644
--- a/Documentation/git-index-pack.txt
+++ b/Documentation/git-index-pack.txt
@@ -19,7 +19,7 @@
 Reads a packed archive (.pack) from the specified file, and
 builds a pack index file (.idx) for it.  The packed archive
 together with the pack index can then be placed in the
-objects/pack/ directory of a git repository.
+objects/pack/ directory of a Git repository.
 
 
 OPTIONS
@@ -39,7 +39,7 @@
 	When this flag is provided, the pack is read from stdin
 	instead and a copy is then written to <pack-file>. If
 	<pack-file> is not specified, the pack is written to
-	objects/pack/ directory of the current git repository with
+	objects/pack/ directory of the current Git repository with
 	a default name determined from the pack content.  If
 	<pack-file> is not specified consider using --keep to
 	prevent a race condition between this process and
@@ -81,7 +81,7 @@
 	This is meant to reduce packing time on multiprocessor
 	machines. The required amount of memory for the delta search
 	window is however multiplied by the number of threads.
-	Specifying 0 will cause git to auto-detect the number of CPU's
+	Specifying 0 will cause Git to auto-detect the number of CPU's
 	and use maximum 3 threads.
 
 
diff --git a/Documentation/git-init-db.txt b/Documentation/git-init-db.txt
index a21e346..648a6cd 100644
--- a/Documentation/git-init-db.txt
+++ b/Documentation/git-init-db.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-init-db - Creates an empty git repository
+git-init-db - Creates an empty Git repository
 
 
 SYNOPSIS
diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt
index 9ac2bba..afd721e 100644
--- a/Documentation/git-init.txt
+++ b/Documentation/git-init.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-init - Create an empty git repository or reinitialize an existing one
+git-init - Create an empty Git repository or reinitialize an existing one
 
 
 SYNOPSIS
@@ -17,7 +17,7 @@
 DESCRIPTION
 -----------
 
-This command creates an empty git repository - basically a `.git`
+This command creates an empty Git repository - basically a `.git`
 directory with subdirectories for `objects`, `refs/heads`,
 `refs/tags`, and template files.  An initial `HEAD` file that
 references the HEAD of the master branch is also created.
@@ -58,19 +58,19 @@
 --separate-git-dir=<git dir>::
 
 Instead of initializing the repository where it is supposed to be,
-place a filesytem-agnostic git symbolic link there, pointing to the
-specified git path, and initialize a git repository at the path. The
-result is git repository can be separated from working tree. If this
+place a filesytem-agnostic Git symbolic link there, pointing to the
+specified path, and initialize a Git repository at the path. The
+result is Git repository can be separated from working tree. If this
 is reinitialization, the repository will be moved to the specified
 path.
 
 --shared[=(false|true|umask|group|all|world|everybody|0xxx)]::
 
-Specify that the git repository is to be shared amongst several users.  This
+Specify that the Git repository is to be shared amongst several users.  This
 allows users belonging to the same group to push into that
 repository.  When specified, the config variable "core.sharedRepository" is
 set so that files and directories under `$GIT_DIR` are created with the
-requested permissions.  When not specified, git will use permissions reported
+requested permissions.  When not specified, Git will use permissions reported
 by umask(2).
 
 The option can have the following values, defaulting to 'group' if no value
@@ -130,7 +130,7 @@
 EXAMPLES
 --------
 
-Start a new git repository for an existing code base::
+Start a new Git repository for an existing code base::
 +
 ----------------
 $ cd /path/to/my/codebase
diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt
index 22c0d6e..69db578 100644
--- a/Documentation/git-log.txt
+++ b/Documentation/git-log.txt
@@ -64,7 +64,7 @@
 
 --log-size::
 	Before the log message print out its size in bytes. Intended
-	mainly for porcelain tools consumption. If git is unable to
+	mainly for porcelain tools consumption. If Git is unable to
 	produce a valid value size is set to zero.
 	Note that only message is considered, if also a diff is shown
 	its size is not included.
diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt
index 4b28292..0bdebff 100644
--- a/Documentation/git-ls-files.txt
+++ b/Documentation/git-ls-files.txt
@@ -92,7 +92,7 @@
 	directory and its subdirectories in <file>.
 
 --exclude-standard::
-	Add the standard git exclusions: .git/info/exclude, .gitignore
+	Add the standard Git exclusions: .git/info/exclude, .gitignore
 	in each directory, and the user's global exclusion file.
 
 --error-unmatch::
diff --git a/Documentation/git-merge-index.txt b/Documentation/git-merge-index.txt
index e0df1b3..0c80cec 100644
--- a/Documentation/git-merge-index.txt
+++ b/Documentation/git-merge-index.txt
@@ -41,13 +41,13 @@
 processes them in turn only stopping if merge returns a non-zero exit
 code.
 
-Typically this is run with a script calling git's imitation of
+Typically this is run with a script calling Git's imitation of
 the 'merge' command from the RCS package.
 
 A sample script called 'git merge-one-file' is included in the
 distribution.
 
-ALERT ALERT ALERT! The git "merge object order" is different from the
+ALERT ALERT ALERT! The Git "merge object order" is different from the
 RCS 'merge' program merge object order. In the above ordering, the
 original is first. But the argument order to the 3-way merge program
 'merge' is to have the original in the middle. Don't ask me why.
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index d34ea3c..c852a26 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -178,10 +178,10 @@
 non-overlapping ones (that is, you changed an area of the file while the
 other side left that area intact, or vice versa) are incorporated in the
 final result verbatim.  When both sides made changes to the same area,
-however, git cannot randomly pick one side over the other, and asks you to
+however, Git cannot randomly pick one side over the other, and asks you to
 resolve it by leaving what both sides did to that area.
 
-By default, git uses the same style as the one used by the "merge" program
+By default, Git uses the same style as the one used by the "merge" program
 from the RCS suite to present such a conflicted hunk, like this:
 
 ------------
diff --git a/Documentation/git-mergetool--lib.txt b/Documentation/git-mergetool--lib.txt
index f98a41b..055550b 100644
--- a/Documentation/git-mergetool--lib.txt
+++ b/Documentation/git-mergetool--lib.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-mergetool--lib - Common git merge tool shell scriptlets
+git-mergetool--lib - Common Git merge tool shell scriptlets
 
 SYNOPSIS
 --------
@@ -19,7 +19,7 @@
 
 The 'git-mergetool{litdd}lib' scriptlet is designed to be sourced (using
 `.`) by other shell scripts to set up functions for working
-with git merge tools.
+with Git merge tools.
 
 Before sourcing 'git-mergetool{litdd}lib', your script must set `TOOL_MODE`
 to define the operation mode for the functions listed below.
diff --git a/Documentation/git-mktag.txt b/Documentation/git-mktag.txt
index 65e167a..3ca158b 100644
--- a/Documentation/git-mktag.txt
+++ b/Documentation/git-mktag.txt
@@ -28,9 +28,9 @@
   tagger <tagger>
 
 followed by some 'optional' free-form message (some tags created
-by older git may not have `tagger` line).  The message, when
+by older Git may not have `tagger` line).  The message, when
 exists, is separated by a blank line from the header.  The
-message part may contain a signature that git itself doesn't
+message part may contain a signature that Git itself doesn't
 care about, but that can be verified with gpg.
 
 GIT
diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt
index beff622..3417cb3 100644
--- a/Documentation/git-p4.txt
+++ b/Documentation/git-p4.txt
@@ -18,13 +18,13 @@
 DESCRIPTION
 -----------
 This command provides a way to interact with p4 repositories
-using git.
+using Git.
 
-Create a new git repository from an existing p4 repository using
+Create a new Git repository from an existing p4 repository using
 'git p4 clone', giving it one or more p4 depot paths.  Incorporate
 new commits from p4 changes with 'git p4 sync'.  The 'sync' command
 is also used to include new branches from other p4 depot paths.
-Submit git changes back to p4 using 'git p4 submit'.  The command
+Submit Git changes back to p4 using 'git p4 submit'.  The command
 'git p4 rebase' does a sync plus rebases the current branch onto
 the updated p4 remote branch.
 
@@ -37,7 +37,7 @@
 $ git p4 clone //depot/path/project
 ------------
 
-* Do some work in the newly created git repository:
+* Do some work in the newly created Git repository:
 +
 ------------
 $ cd project
@@ -45,7 +45,7 @@
 $ git commit -a -m "edited foo.h"
 ------------
 
-* Update the git repository with recent changes from p4, rebasing your
+* Update the Git repository with recent changes from p4, rebasing your
   work on top:
 +
 ------------
@@ -64,21 +64,21 @@
 
 Clone
 ~~~~~
-Generally, 'git p4 clone' is used to create a new git directory
+Generally, 'git p4 clone' is used to create a new Git directory
 from an existing p4 repository:
 ------------
 $ git p4 clone //depot/path/project
 ------------
 This:
 
-1.   Creates an empty git repository in a subdirectory called 'project'.
+1.   Creates an empty Git repository in a subdirectory called 'project'.
 +
 2.   Imports the full contents of the head revision from the given p4
-depot path into a single commit in the git branch 'refs/remotes/p4/master'.
+depot path into a single commit in the Git branch 'refs/remotes/p4/master'.
 +
 3.   Creates a local branch, 'master' from this remote and checks it out.
 
-To reproduce the entire p4 history in git, use the '@all' modifier on
+To reproduce the entire p4 history in Git, use the '@all' modifier on
 the depot path:
 ------------
 $ git p4 clone //depot/path/project@all
@@ -88,13 +88,13 @@
 Sync
 ~~~~
 As development continues in the p4 repository, those changes can
-be included in the git repository using:
+be included in the Git repository using:
 ------------
 $ git p4 sync
 ------------
-This command finds new changes in p4 and imports them as git commits.
+This command finds new changes in p4 and imports them as Git commits.
 
-P4 repositories can be added to an existing git repository using
+P4 repositories can be added to an existing Git repository using
 'git p4 sync' too:
 ------------
 $ mkdir repo-git
@@ -103,14 +103,14 @@
 $ git p4 sync //path/in/your/perforce/depot
 ------------
 This imports the specified depot into
-'refs/remotes/p4/master' in an existing git repository.  The
+'refs/remotes/p4/master' in an existing Git repository.  The
 '--branch' option can be used to specify a different branch to
 be used for the p4 content.
 
-If a git repository includes branches 'refs/remotes/origin/p4', these
+If a Git repository includes branches 'refs/remotes/origin/p4', these
 will be fetched and consulted first during a 'git p4 sync'.  Since
 importing directly from p4 is considerably slower than pulling changes
-from a git remote, this can be useful in a multi-developer environment.
+from a Git remote, this can be useful in a multi-developer environment.
 
 
 Rebase
@@ -127,13 +127,13 @@
 
 Submit
 ~~~~~~
-Submitting changes from a git repository back to the p4 repository
+Submitting changes from a Git repository back to the p4 repository
 requires a separate p4 client workspace.  This should be specified
-using the 'P4CLIENT' environment variable or the git configuration
+using the 'P4CLIENT' environment variable or the Git configuration
 variable 'git-p4.client'.  The p4 client must exist, but the client root
 will be created and populated if it does not already exist.
 
-To submit all changes that are in the current git branch but not in
+To submit all changes that are in the current Git branch but not in
 the 'p4/master' branch, use:
 ------------
 $ git p4 submit
@@ -149,7 +149,7 @@
 
 The p4 changes will be created as the user invoking 'git p4 submit'. The
 '--preserve-user' option will cause ownership to be modified
-according to the author of the git commit.  This option requires admin
+according to the author of the Git commit.  This option requires admin
 privileges in p4, which can be granted using 'p4 protect'.
 
 
@@ -178,7 +178,7 @@
 	with an initial clone, no HEAD will be checked out.
 +
 This example imports a new remote "p4/proj2" into an existing
-git repository:
+Git repository:
 +
 ----
     $ git init
@@ -199,11 +199,11 @@
 
 --detect-labels::
 	Query p4 for labels associated with the depot paths, and add
-	them as tags in git. Limited usefulness as only imports labels
+	them as tags in Git. Limited usefulness as only imports labels
 	associated with new changelists. Deprecated.
 
 --import-labels::
-	Import labels from p4 into git.
+	Import labels from p4 into Git.
 
 --import-local::
 	By default, p4 branches are stored in 'refs/remotes/p4/',
@@ -219,12 +219,12 @@
 	specifier.
 
 --keep-path::
-	The mapping of file names from the p4 depot path to git, by
+	The mapping of file names from the p4 depot path to Git, by
 	default, involves removing the entire depot path.  With this
-	option, the full p4 depot path is retained in git.  For example,
+	option, the full p4 depot path is retained in Git.  For example,
 	path '//depot/main/foo/bar.c', when imported from
 	'//depot/main/', becomes 'foo/bar.c'.  With '--keep-path', the
-	git path is instead 'depot/main/foo/bar.c'.
+	Git path is instead 'depot/main/foo/bar.c'.
 
 --use-client-spec::
 	Use a client spec to find the list of interesting files in p4.
@@ -236,7 +236,7 @@
 options described above.
 
 --destination <directory>::
-	Where to create the git repository.  If not provided, the last
+	Where to create the Git repository.  If not provided, the last
 	component in the p4 depot path is used to create a new
 	directory.
 
@@ -266,12 +266,12 @@
 	requires p4 admin privileges.
 
 --export-labels::
-	Export tags from git as p4 labels. Tags found in git are applied
+	Export tags from Git as p4 labels. Tags found in Git are applied
 	to the perforce working directory.
 
 --dry-run, -n::
 	Show just what commits would be submitted to p4; do not change
-	state in git or p4.
+	state in Git or p4.
 
 --prepare-p4-only::
 	Apply a commit to the p4 workspace, opening, adding and deleting
@@ -312,12 +312,12 @@
 "//depot/proj1@all //depot/proj2@all"::
     Import all changes from both named depot paths into a single
     repository.  Only files below these directories are included.
-    There is not a subdirectory in git for each "proj1" and "proj2".
+    There is not a subdirectory in Git for each "proj1" and "proj2".
     You must use the '--destination' option when specifying more
     than one depot path.  The revision specifier must be specified
     identically on each depot path.  If there are files in the
     depot paths with the same name, the path with the most recently
-    updated version of the file is the one that appears in git.
+    updated version of the file is the one that appears in Git.
 
 See 'p4 help revisions' for the full syntax of p4 revision specifiers.
 
@@ -334,11 +334,11 @@
 work properly; the submit command looks only at the variable and does
 not have a command-line option.
 
-The full syntax for a p4 view is documented in 'p4 help views'.  'Git p4'
+The full syntax for a p4 view is documented in 'p4 help views'.  'git p4'
 knows only a subset of the view syntax.  It understands multi-line
 mappings, overlays with '+', exclusions with '-' and double-quotes
 around whitespace.  Of the possible wildcards, 'git p4' only handles
-'...', and only when it is at the end of the path.  'Git p4' will complain
+'...', and only when it is at the end of the path.  'git p4' will complain
 if it encounters an unhandled wildcard.
 
 Bugs in the implementation of overlap mappings exist.  If multiple depot
@@ -354,7 +354,7 @@
 
 BRANCH DETECTION
 ----------------
-P4 does not have the same concept of a branch as git.  Instead,
+P4 does not have the same concept of a branch as Git.  Instead,
 p4 organizes its content as a directory tree, where by convention
 different logical branches are in different locations in the tree.
 The 'p4 branch' command is used to maintain mappings between
@@ -364,7 +364,7 @@
 If you have a repository where all the branches of interest exist as
 subdirectories of a single depot path, you can use '--detect-branches'
 when cloning or syncing to have 'git p4' automatically find
-subdirectories in p4, and to generate these as branches in git.
+subdirectories in p4, and to generate these as branches in Git.
 
 For example, if the P4 repository structure is:
 ----
@@ -386,7 +386,7 @@
 
 However, it is not necessary to create branches in p4 to be able to use
 them like branches.  Because it is difficult to infer branch
-relationships automatically, a git configuration setting
+relationships automatically, a Git configuration setting
 'git-p4.branchList' can be used to explicitly identify branch
 relationships.  It is a list of "source:destination" pairs, like a
 simple p4 branch specification, where the "source" and "destination" are
@@ -402,7 +402,7 @@
 PERFORMANCE
 -----------
 The fast-import mechanism used by 'git p4' creates one pack file for
-each invocation of 'git p4 sync'.  Normally, git garbage compression
+each invocation of 'git p4 sync'.  Normally, Git garbage compression
 (linkgit:git-gc[1]) automatically compresses these to fewer pack files,
 but explicit invocation of 'git repack -adf' may improve performance.
 
@@ -440,9 +440,9 @@
 Clone and sync variables
 ~~~~~~~~~~~~~~~~~~~~~~~~
 git-p4.syncFromOrigin::
-	Because importing commits from other git repositories is much faster
+	Because importing commits from other Git repositories is much faster
 	than importing them from p4, a mechanism exists to find p4 changes
-	first in git remotes.  If branches exist under 'refs/remote/origin/p4',
+	first in Git remotes.  If branches exist under 'refs/remote/origin/p4',
 	those will be fetched and used when syncing from p4.  This
 	variable can be set to 'false' to disable this behavior.
 
@@ -494,7 +494,7 @@
 	Detect copies harder.  See linkgit:git-diff[1].  A boolean.
 
 git-p4.preserveUser::
-	On submit, re-author changes to reflect the git author,
+	On submit, re-author changes to reflect the Git author,
 	regardless of who invokes 'git p4 submit'.
 
 git-p4.allowMissingP4Users::
@@ -531,7 +531,7 @@
 	present.
 
 git-p4.exportLabels::
-	Export git tags to p4 labels, as per --export-labels.
+	Export Git tags to p4 labels, as per --export-labels.
 
 git-p4.labelExportRegexp::
 	Only p4 labels matching this regular expression will be exported. The
@@ -543,11 +543,11 @@
 
 IMPLEMENTATION DETAILS
 ----------------------
-* Changesets from p4 are imported using git fast-import.
+* Changesets from p4 are imported using Git fast-import.
 * Cloning or syncing does not require a p4 client; file contents are
   collected using 'p4 print'.
 * Submitting requires a p4 client, which is not in the same location
-  as the git repository.  Patches are applied, one at a time, to
+  as the Git repository.  Patches are applied, one at a time, to
   this p4 client and submitted from there.
 * Each commit imported by 'git p4' has a line at the end of the log
   message indicating the p4 depot location and change number.  This
diff --git a/Documentation/git-pack-objects.txt b/Documentation/git-pack-objects.txt
index 20c8551..69c9313 100644
--- a/Documentation/git-pack-objects.txt
+++ b/Documentation/git-pack-objects.txt
@@ -35,7 +35,7 @@
 objects in the pack. Placing both the index file (.idx) and the packed
 archive (.pack) in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or
 any of the directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES)
-enables git to read from the pack archive.
+enables Git to read from the pack archive.
 
 The 'git unpack-objects' command can read the packed archive and
 expand the objects contained in the pack into "one-file
@@ -80,7 +80,7 @@
 --include-tag::
 	Include unasked-for annotated tags if the object they
 	reference was included in the resulting packfile.  This
-	can be useful to send new tags to native git clients.
+	can be useful to send new tags to native Git clients.
 
 --window=<n>::
 --depth=<n>::
@@ -185,14 +185,14 @@
 	option only makes sense in conjunction with --stdout.
 +
 Note: A thin pack violates the packed archive format by omitting
-required objects and is thus unusable by git without making it
+required objects and is thus unusable by Git without making it
 self-contained. Use `git index-pack --fix-thin`
 (see linkgit:git-index-pack[1]) to restore the self-contained property.
 
 --delta-base-offset::
 	A packed archive can express the base object of a delta as
 	either a 20-byte object name or as an offset in the
-	stream, but ancient versions of git don't understand the
+	stream, but ancient versions of Git don't understand the
 	latter.  By default, 'git pack-objects' only uses the
 	former format for better compatibility.  This option
 	allows the command to use the latter format for
@@ -202,7 +202,7 @@
 +
 Note: Porcelain commands such as `git gc` (see linkgit:git-gc[1]),
 `git repack` (see linkgit:git-repack[1]) pass this option by default
-in modern git when they put objects in your repository into pack files.
+in modern Git when they put objects in your repository into pack files.
 So does `git bundle` (see linkgit:git-bundle[1]) when it creates a bundle.
 
 --threads=<n>::
@@ -212,7 +212,7 @@
 	This is meant to reduce packing time on multiprocessor machines.
 	The required amount of memory for the delta search window is
 	however multiplied by the number of threads.
-	Specifying 0 will cause git to auto-detect the number of CPU's
+	Specifying 0 will cause Git to auto-detect the number of CPU's
 	and set the number of threads accordingly.
 
 --index-version=<version>[,<offset>]::
diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt
index 67fa5ee..c975743 100644
--- a/Documentation/git-pull.txt
+++ b/Documentation/git-pull.txt
@@ -59,8 +59,8 @@
 See linkgit:git-merge[1] for details, including how conflicts
 are presented and handled.
 
-In git 1.7.0 or later, to cancel a conflicting merge, use
-`git reset --merge`.  *Warning*: In older versions of git, running 'git pull'
+In Git 1.7.0 or later, to cancel a conflicting merge, use
+`git reset --merge`.  *Warning*: In older versions of Git, running 'git pull'
 with uncommitted changes is discouraged: while possible, it leaves you
 in a state that may be hard to back out of in the case of a conflict.
 
@@ -89,7 +89,7 @@
 	This option controls if new commits of all populated submodules should
 	be fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]).
 	That might be necessary to get the data needed for merging submodule
-	commits, a feature git learned in 1.7.3. Notice that the result of a
+	commits, a feature Git learned in 1.7.3. Notice that the result of a
 	merge will not be checked out in the submodule, "git submodule update"
 	has to be called afterwards to bring the work tree up to date with the
 	merge result.
@@ -228,7 +228,7 @@
 out submodules right now. When e.g. upstream added a new submodule in the
 just fetched commits of the superproject the submodule itself can not be
 fetched, making it impossible to check out that submodule later without
-having to do a fetch again. This is expected to be fixed in a future git
+having to do a fetch again. This is expected to be fixed in a future Git
 version.
 
 SEE ALSO
diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index c964b79..1398025 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -53,7 +53,7 @@
 The object referenced by <src> is used to update the <dst> reference
 on the remote side.  By default this is only allowed if <dst> is not
 a tag (annotated or lightweight), and then only if it can fast-forward
-<dst>.  By having the optional leading `+`, you can tell git to update
+<dst>.  By having the optional leading `+`, you can tell Git to update
 the <dst> ref even if it is not allowed by default (e.g., it is not a
 fast-forward.)  This does *not* attempt to merge <src> into <dst>.  See
 EXAMPLES below for details.
@@ -64,7 +64,7 @@
 the remote repository.
 +
 The special refspec `:` (or `+:` to allow non-fast-forward updates)
-directs git to push "matching" branches: for every branch that exists on
+directs Git to push "matching" branches: for every branch that exists on
 the local side, the remote side is updated if a branch of the same name
 already exists on the remote side.  This is the default operation mode
 if no explicit refspec is found (that is neither on the command line
@@ -177,7 +177,7 @@
 --recurse-submodules=check|on-demand::
 	Make sure all submodule commits used by the revisions to be
 	pushed are available on a remote-tracking branch. If 'check' is
-	used git will verify that all submodule commits that changed in
+	used Git will verify that all submodule commits that changed in
 	the revisions to be pushed are available on at least one remote
 	of the submodule. If any commits are missing the push will be
 	aborted and exit with non-zero status. If 'on-demand' is used
@@ -192,7 +192,7 @@
 ------
 
 The output of "git push" depends on the transport method used; this
-section describes the output when pushing over the git protocol (either
+section describes the output when pushing over the Git protocol (either
 locally or via ssh).
 
 The status of the push is output in tabular form, with each line
diff --git a/Documentation/git-quiltimport.txt b/Documentation/git-quiltimport.txt
index 7f112f3..a356196 100644
--- a/Documentation/git-quiltimport.txt
+++ b/Documentation/git-quiltimport.txt
@@ -14,7 +14,7 @@
 
 DESCRIPTION
 -----------
-Applies a quilt patchset onto the current git branch, preserving
+Applies a quilt patchset onto the current Git branch, preserving
 the patch boundaries, patch order, and patch descriptions present
 in the quilt patchset.
 
@@ -25,7 +25,7 @@
 interactively enter the author of the patch.
 
 If a subject is not found in the patch description the patch name is
-preserved as the 1 line subject in the git description.
+preserved as the 1 line subject in the Git description.
 
 OPTIONS
 -------
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index da067ec..aca8405 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -179,7 +179,7 @@
 In case of conflict, 'git rebase' will stop at the first problematic commit
 and leave conflict markers in the tree.  You can use 'git diff' to locate
 the markers (<<<<<<) and make edits to resolve the conflict.  For each
-file you edit, you need to tell git that the conflict has been resolved,
+file you edit, you need to tell Git that the conflict has been resolved,
 typically this would be done with
 
 
diff --git a/Documentation/git-reflog.txt b/Documentation/git-reflog.txt
index 7fe2d22..fb8697e 100644
--- a/Documentation/git-reflog.txt
+++ b/Documentation/git-reflog.txt
@@ -38,7 +38,7 @@
 as well).  It is an alias for `git log -g --abbrev-commit --pretty=oneline`;
 see linkgit:git-log[1].
 
-The reflog is useful in various git commands, to specify the old value
+The reflog is useful in various Git commands, to specify the old value
 of a reference. For example, `HEAD@{2}` means "where HEAD used to be
 two moves ago", `master@{one.week.ago}` means "where master used to
 point to one week ago", and so on. See linkgit:gitrevisions[7] for
diff --git a/Documentation/git-remote-ext.txt b/Documentation/git-remote-ext.txt
index 8a8e1d7..58b7fac 100644
--- a/Documentation/git-remote-ext.txt
+++ b/Documentation/git-remote-ext.txt
@@ -13,7 +13,7 @@
 DESCRIPTION
 -----------
 This remote helper uses the specified '<command>' to connect
-to a remote git server.
+to a remote Git server.
 
 Data written to stdin of the specified '<command>' is assumed
 to be sent to a git:// server, git-upload-pack, git-receive-pack
@@ -33,12 +33,12 @@
 
 '%s'::
 	Replaced with name (receive-pack, upload-pack, or
-	upload-archive) of the service git wants to invoke.
+	upload-archive) of the service Git wants to invoke.
 
 '%S'::
 	Replaced with long name (git-receive-pack,
 	git-upload-pack, or git-upload-archive) of the service
-	git wants to invoke.
+	Git wants to invoke.
 
 '%G' (must be the first characters in an argument)::
 	This argument will not be passed to '<command>'. Instead, it
@@ -75,7 +75,7 @@
 
 EXAMPLES:
 ---------
-This remote helper is transparently used by git when
+This remote helper is transparently used by Git when
 you use commands such as "git fetch <URL>", "git clone <URL>",
 , "git push <URL>" or "git remote add <nick> <URL>", where <URL>
 begins with `ext::`.  Examples:
@@ -100,14 +100,14 @@
 	Represents a repository with path /repo accessed using the
 	helper program "git-server-alias foo".  The hostname for the
 	remote server passed in the protocol stream will be "foo"
-	(this allows multiple virtual git servers to share a
+	(this allows multiple virtual Git servers to share a
 	link-level address).
 
 "ext::git-server-alias foo %G/repo% with% spaces %Vfoo"::
 	Represents a repository with path '/repo with spaces' accessed
 	using the helper program "git-server-alias foo".  The hostname for
 	the remote server passed in the protocol stream will be "foo"
-	(this allows multiple virtual git servers to share a
+	(this allows multiple virtual Git servers to share a
 	link-level address).
 
 "ext::git-ssl foo.example /bar"::
@@ -118,7 +118,7 @@
 
 Documentation
 --------------
-Documentation by Ilari Liusvaara, Jonathan Nieder and the git list
+Documentation by Ilari Liusvaara, Jonathan Nieder and the Git list
 <git@vger.kernel.org>
 
 GIT
diff --git a/Documentation/git-remote-fd.txt b/Documentation/git-remote-fd.txt
index f095d57..933c2ad 100644
--- a/Documentation/git-remote-fd.txt
+++ b/Documentation/git-remote-fd.txt
@@ -11,14 +11,14 @@
 
 DESCRIPTION
 -----------
-This helper uses specified file descriptors to connect to a remote git server.
+This helper uses specified file descriptors to connect to a remote Git server.
 This is not meant for end users but for programs and scripts calling git
 fetch, push or archive.
 
 If only <infd> is given, it is assumed to be a bidirectional socket connected
-to remote git server (git-upload-pack, git-receive-pack or
+to remote Git server (git-upload-pack, git-receive-pack or
 git-upload-achive). If both <infd> and <outfd> are given, they are assumed
-to be pipes connected to a remote git server (<infd> being the inbound pipe
+to be pipes connected to a remote Git server (<infd> being the inbound pipe
 and <outfd> being the outbound pipe.
 
 It is assumed that any handshaking procedures have already been completed
@@ -52,7 +52,7 @@
 
 Documentation
 --------------
-Documentation by Ilari Liusvaara and the git list <git@vger.kernel.org>
+Documentation by Ilari Liusvaara and the Git list <git@vger.kernel.org>
 
 GIT
 ---
diff --git a/Documentation/git-remote-helpers.txt b/Documentation/git-remote-helpers.txt
index 6d696e0..e36fdcb 100644
--- a/Documentation/git-remote-helpers.txt
+++ b/Documentation/git-remote-helpers.txt
@@ -14,17 +14,17 @@
 -----------
 
 Remote helper programs are normally not used directly by end users,
-but they are invoked by git when it needs to interact with remote
-repositories git does not support natively.  A given helper will
-implement a subset of the capabilities documented here. When git
+but they are invoked by Git when it needs to interact with remote
+repositories Git does not support natively.  A given helper will
+implement a subset of the capabilities documented here. When Git
 needs to interact with a repository using a remote helper, it spawns
 the helper as an independent process, sends commands to the helper's
 standard input, and expects results from the helper's standard
 output. Because a remote helper runs as an independent process from
-git, there is no need to re-link git to add a new helper, nor any
-need to link the helper with the implementation of git.
+Git, there is no need to re-link Git to add a new helper, nor any
+need to link the helper with the implementation of Git.
 
-Every helper must support the "capabilities" command, which git
+Every helper must support the "capabilities" command, which Git
 uses to determine what other commands the helper will accept.  Those
 other commands can be used to discover and update remote refs,
 transport objects between the object database and the remote repository,
@@ -39,15 +39,15 @@
 ----------
 
 Remote helper programs are invoked with one or (optionally) two
-arguments. The first argument specifies a remote repository as in git;
+arguments. The first argument specifies a remote repository as in Git;
 it is either the name of a configured remote or a URL. The second
 argument specifies a URL; it is usually of the form
 '<transport>://<address>', but any arbitrary string is possible.
 The 'GIT_DIR' environment variable is set up for the remote helper
 and can be used to determine where to store additional data or from
-which directory to invoke auxiliary git commands.
+which directory to invoke auxiliary Git commands.
 
-When git encounters a URL of the form '<transport>://<address>', where
+When Git encounters a URL of the form '<transport>://<address>', where
 '<transport>' is a protocol that it cannot handle natively, it
 automatically invokes 'git remote-<transport>' with the full URL as
 the second argument. If such a URL is encountered directly on the
@@ -55,14 +55,14 @@
 is encountered in a configured remote, the first argument is the name
 of that remote.
 
-A URL of the form '<transport>::<address>' explicitly instructs git to
+A URL of the form '<transport>::<address>' explicitly instructs Git to
 invoke 'git remote-<transport>' with '<address>' as the second
 argument. If such a URL is encountered directly on the command line,
 the first argument is '<address>', and if it is encountered in a
 configured remote, the first argument is the name of that remote.
 
 Additionally, when a configured remote has 'remote.<name>.vcs' set to
-'<transport>', git explicitly invokes 'git remote-<transport>' with
+'<transport>', Git explicitly invokes 'git remote-<transport>' with
 '<name>' as the first argument. If set, the second argument is
 'remote.<name>.url'; otherwise, the second argument is omitted.
 
@@ -85,7 +85,7 @@
 ~~~~~~~~~~~~
 
 Each remote helper is expected to support only a subset of commands.
-The operations a helper supports are declared to git in the response
+The operations a helper supports are declared to Git in the response
 to the `capabilities` command (see COMMANDS, below).
 
 In the following, we list all defined capabilities and for
@@ -114,10 +114,10 @@
 +
 Supported commands: 'list for-push', 'export'.
 
-If a helper advertises 'connect', git will use it if possible and
+If a helper advertises 'connect', Git will use it if possible and
 fall back to another capability if the helper requests so when
 connecting (see the 'connect' command under COMMANDS).
-When choosing between 'push' and 'export', git prefers 'push'.
+When choosing between 'push' and 'export', Git prefers 'push'.
 Other frontends may have some other order of preference.
 
 
@@ -126,7 +126,7 @@
 'connect'::
 	Can try to connect to 'git upload-pack' (for fetching),
 	'git receive-pack', etc for communication using the
-	git's native packfile protocol. This
+	Git's native packfile protocol. This
 	requires a bidirectional, full-duplex connection.
 +
 Supported commands: 'connect'.
@@ -143,10 +143,10 @@
 +
 Supported commands: 'list', 'import'.
 
-If a helper advertises 'connect', git will use it if possible and
+If a helper advertises 'connect', Git will use it if possible and
 fall back to another capability if the helper requests so when
 connecting (see the 'connect' command under COMMANDS).
-When choosing between 'fetch' and 'import', git prefers 'fetch'.
+When choosing between 'fetch' and 'import', Git prefers 'fetch'.
 Other frontends may have some other order of preference.
 
 Miscellaneous capabilities
@@ -183,22 +183,22 @@
 	to retrieve information about blobs and trees that already exist in
 	fast-import's memory. This requires a channel from fast-import to the
 	remote-helper.
-	If it is advertised in addition to "import", git establishes a pipe from
+	If it is advertised in addition to "import", Git establishes a pipe from
 	fast-import to the remote-helper's stdin.
-	It follows that git and fast-import are both connected to the
-	remote-helper's stdin. Because git can send multiple commands to
+	It follows that Git and fast-import are both connected to the
+	remote-helper's stdin. Because Git can send multiple commands to
 	the remote-helper it is required that helpers that use 'bidi-import'
 	buffer all 'import' commands of a batch before sending data to fast-import.
 	This is to prevent mixing commands and fast-import responses on the
 	helper's stdin.
 
 'export-marks' <file>::
-	This modifies the 'export' capability, instructing git to dump the
+	This modifies the 'export' capability, instructing Git to dump the
 	internal marks table to <file> when complete. For details,
 	read up on '--export-marks=<file>' in linkgit:git-fast-export[1].
 
 'import-marks' <file>::
-	This modifies the 'export' capability, instructing git to load the
+	This modifies the 'export' capability, instructing Git to load the
 	marks specified in <file> before processing any input. For details,
 	read up on '--import-marks=<file>' in linkgit:git-fast-export[1].
 
@@ -213,7 +213,7 @@
 'capabilities'::
 	Lists the capabilities of the helper, one per line, ending
 	with a blank line. Each capability may be preceded with '*',
-	which marks them mandatory for git versions using the remote
+	which marks them mandatory for Git versions using the remote
 	helper to understand. Any unknown mandatory capability is a
 	fatal error.
 +
@@ -376,7 +376,7 @@
 -------
 
 The following options are defined and (under suitable circumstances)
-set by git if the remote helper has the 'option' capability.
+set by Git if the remote helper has the 'option' capability.
 
 'option verbosity' <n>::
 	Changes the verbosity of messages displayed by the helper.
diff --git a/Documentation/git-replace.txt b/Documentation/git-replace.txt
index 51131d0..0142cd1 100644
--- a/Documentation/git-replace.txt
+++ b/Documentation/git-replace.txt
@@ -22,7 +22,7 @@
 
 Unless `-f` is given, the 'replace' reference must not yet exist.
 
-Replacement references will be used by default by all git commands
+Replacement references will be used by default by all Git commands
 except those doing reachability traversal (prune, pack transfer and
 fsck).
 
diff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt
index 38fafca..65ac27e 100644
--- a/Documentation/git-rev-list.txt
+++ b/Documentation/git-rev-list.txt
@@ -99,7 +99,7 @@
 	$ git rev-list A...B
 -----------------------------------------------------------------------
 
-'rev-list' is a very essential git command, since it
+'rev-list' is a very essential Git command, since it
 provides the ability to build and traverse commit ancestry graphs. For
 this reason, it has a lot of different options that enables it to be
 used by commands as different as 'git bisect' and
diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt
index 3c63561..c743469 100644
--- a/Documentation/git-rev-parse.txt
+++ b/Documentation/git-rev-parse.txt
@@ -14,7 +14,7 @@
 DESCRIPTION
 -----------
 
-Many git porcelainish commands take mixture of flags
+Many Git porcelainish commands take mixture of flags
 (i.e. parameters that begin with a dash '-') and parameters
 meant for the underlying 'git rev-list' command they use internally
 and flags and parameters for the other commands they use
@@ -147,7 +147,7 @@
 	relative to the current working directory.
 +
 If `$GIT_DIR` is not defined and the current directory
-is not detected to lie in a git repository or work tree
+is not detected to lie in a Git repository or work tree
 print a message to stderr and exit with nonzero status.
 
 --is-inside-git-dir::
diff --git a/Documentation/git-rm.txt b/Documentation/git-rm.txt
index 262436b..92bac27 100644
--- a/Documentation/git-rm.txt
+++ b/Documentation/git-rm.txt
@@ -28,7 +28,7 @@
 -------
 <file>...::
 	Files to remove.  Fileglobs (e.g. `*.c`) can be given to
-	remove all matching files.  If you want git to expand
+	remove all matching files.  If you want Git to expand
 	file glob characters, you may need to shell-escape them.
 	A leading directory name
 	(e.g. `dir` to remove `dir/file1` and `dir/file2`) can be
@@ -74,8 +74,8 @@
 
 The <file> list given to the command can be exact pathnames,
 file glob patterns, or leading directory names.  The command
-removes only the paths that are known to git.  Giving the name of
-a file that you have not told git about does not remove that file.
+removes only the paths that are known to Git.  Giving the name of
+a file that you have not told Git about does not remove that file.
 
 File globbing matches across directory boundaries.  Thus, given
 two directories `d` and `d2`, there is a difference between
@@ -137,7 +137,7 @@
 Submodules
 ~~~~~~~~~~
 Only submodules using a gitfile (which means they were cloned
-with a git version 1.7.8 or newer) will be removed from the work
+with a Git version 1.7.8 or newer) will be removed from the work
 tree, as their repository lives inside the .git directory of the
 superproject. If a submodule (or one of those nested inside it)
 still uses a .git directory, `git rm` will fail - no matter if forced
@@ -156,7 +156,7 @@
 	`Documentation` directory and any of its subdirectories.
 +
 Note that the asterisk `*` is quoted from the shell in this
-example; this lets git, and not the shell, expand the pathnames
+example; this lets Git, and not the shell, expand the pathnames
 of files and subdirectories under the `Documentation/` directory.
 
 `git rm -f git-*.sh`::
diff --git a/Documentation/git-send-pack.txt b/Documentation/git-send-pack.txt
index bd3eaa6..dc3a568 100644
--- a/Documentation/git-send-pack.txt
+++ b/Documentation/git-send-pack.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-send-pack - Push objects over git protocol to another repository
+git-send-pack - Push objects over Git protocol to another repository
 
 
 SYNOPSIS
diff --git a/Documentation/git-sh-setup.txt b/Documentation/git-sh-setup.txt
index 5e5f1c8..6a9f66d 100644
--- a/Documentation/git-sh-setup.txt
+++ b/Documentation/git-sh-setup.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-sh-setup - Common git shell script setup code
+git-sh-setup - Common Git shell script setup code
 
 SYNOPSIS
 --------
@@ -19,7 +19,7 @@
 
 The 'git sh-setup' scriptlet is designed to be sourced (using
 `.`) by other shell scripts to set up some variables pointing at
-the normal git directories and a few helper shell functions.
+the normal Git directories and a few helper shell functions.
 
 Before sourcing it, your script should set up a few variables;
 `USAGE` (and `LONG_USAGE`, if any) is used to define message
diff --git a/Documentation/git-show-index.txt b/Documentation/git-show-index.txt
index 2dcbbb2..9cbbed9 100644
--- a/Documentation/git-show-index.txt
+++ b/Documentation/git-show-index.txt
@@ -14,7 +14,7 @@
 
 DESCRIPTION
 -----------
-Reads given idx file for packed git archive created with
+Reads given idx file for packed Git archive created with
 'git pack-objects' command, and dumps its contents.
 
 The information it outputs is subset of what you can get from
diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt
index 9f1ef9a..0412c40 100644
--- a/Documentation/git-status.txt
+++ b/Documentation/git-status.txt
@@ -16,7 +16,7 @@
 Displays paths that have differences between the index file and the
 current HEAD commit, paths that have differences between the working
 tree and the index file, and paths in the working tree that are not
-tracked by git (and are not ignored by linkgit:gitignore[5]). The first
+tracked by Git (and are not ignored by linkgit:gitignore[5]). The first
 are what you _would_ commit by running `git commit`; the second and
 third are what you _could_ commit by running 'git add' before running
 `git commit`.
@@ -35,7 +35,7 @@
 --porcelain::
 	Give the output in an easy-to-parse format for scripts.
 	This is similar to the short output, but will remain stable
-	across git versions and regardless of user configuration. See
+	across Git versions and regardless of user configuration. See
 	below for details.
 
 --long::
@@ -96,7 +96,7 @@
 verbose and descriptive.  Its contents and format are subject to change
 at any time.
 
-The paths mentioned in the output, unlike many other git commands, are
+The paths mentioned in the output, unlike many other Git commands, are
 made relative to the current directory if you are working in a
 subdirectory (this is on purpose, to help cutting and pasting). See
 the status.relativePaths config option below.
@@ -168,7 +168,7 @@
 ~~~~~~~~~~~~~~~~
 
 The porcelain format is similar to the short format, but is guaranteed
-not to change in a backwards-incompatible way between git versions or
+not to change in a backwards-incompatible way between Git versions or
 based on user configuration. This makes it ideal for parsing by scripts.
 The description of the short format above also describes the porcelain
 format, with a few exceptions:
diff --git a/Documentation/git-stripspace.txt b/Documentation/git-stripspace.txt
index a80d946..eed921e 100644
--- a/Documentation/git-stripspace.txt
+++ b/Documentation/git-stripspace.txt
@@ -14,7 +14,7 @@
 DESCRIPTION
 -----------
 
-Clean the input in the manner used by 'git' for text such as commit
+Clean the input in the manner used by Git for text such as commit
 messages, notes, tags and branch descriptions.
 
 With no arguments, this will:
diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
index b1996f1..a0c9df8 100644
--- a/Documentation/git-submodule.txt
+++ b/Documentation/git-submodule.txt
@@ -91,7 +91,7 @@
 <path> is the relative location for the cloned submodule to
 exist in the superproject. If <path> does not exist, then the
 submodule is created by cloning from the named URL. If <path> does
-exist and is already a valid git repository, then this is added
+exist and is already a valid Git repository, then this is added
 to the changeset without cloning. This second form is provided
 to ease creating a new submodule from scratch, and presumes
 the user will later push the submodule to the given URL.
diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt
index 34d438b..1b8b649 100644
--- a/Documentation/git-svn.txt
+++ b/Documentation/git-svn.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-svn - Bidirectional operation between a Subversion repository and git
+git-svn - Bidirectional operation between a Subversion repository and Git
 
 SYNOPSIS
 --------
@@ -12,8 +12,8 @@
 
 DESCRIPTION
 -----------
-'git svn' is a simple conduit for changesets between Subversion and git.
-It provides a bidirectional flow of changes between a Subversion and a git
+'git svn' is a simple conduit for changesets between Subversion and Git.
+It provides a bidirectional flow of changes between a Subversion and a Git
 repository.
 
 'git svn' can track a standard Subversion repository,
@@ -21,15 +21,15 @@
 It can also follow branches and tags in any layout with the -T/-t/-b options
 (see options to 'init' below, and also the 'clone' command).
 
-Once tracking a Subversion repository (with any of the above methods), the git
+Once tracking a Subversion repository (with any of the above methods), the Git
 repository can be updated from Subversion by the 'fetch' command and
-Subversion updated from git by the 'dcommit' command.
+Subversion updated from Git by the 'dcommit' command.
 
 COMMANDS
 --------
 
 'init'::
-	Initializes an empty git repository with additional
+	Initializes an empty Git repository with additional
 	metadata directories for 'git svn'.  The Subversion URL
 	may be specified as a command-line argument, or as full
 	URL arguments to -T/-t/-b.  Optionally, the target
@@ -199,9 +199,9 @@
 	Commit each diff from the current branch directly to the SVN
 	repository, and then rebase or reset (depending on whether or
 	not there is a diff between SVN and head).  This will create
-	a revision in SVN for each commit in git.
+	a revision in SVN for each commit in Git.
 +
-When an optional git branch name (or a git commit object name)
+When an optional Git branch name (or a Git commit object name)
 is specified as an argument, the subcommand works on the specified
 branch, not on the current branch.
 +
@@ -316,7 +316,7 @@
 +
 --
 --show-commit;;
-	shows the git commit sha1, as well
+	shows the Git commit sha1, as well
 --oneline;;
 	our version of --pretty=oneline
 --
@@ -337,13 +337,13 @@
 +
 --git-format;;
 	Produce output in the same format as 'git blame', but with
-	SVN revision numbers instead of git commit hashes. In this mode,
+	SVN revision numbers instead of Git commit hashes. In this mode,
 	changes that haven't been committed to SVN (including local
 	working-copy edits) are shown as revision 0.
 
 'find-rev'::
 	When given an SVN revision number of the form 'rN', returns the
-	corresponding git commit hash (this can optionally be followed by a
+	corresponding Git commit hash (this can optionally be followed by a
 	tree-ish to specify which branch should be searched).  When given a
 	tree-ish, returns the corresponding SVN revision number.
 +
@@ -378,7 +378,7 @@
 	the $GIT_DIR/info/exclude file.
 
 'mkdirs'::
-	Attempts to recreate empty directories that core git cannot track
+	Attempts to recreate empty directories that core Git cannot track
 	based on information in $GIT_DIR/svn/<refname>/unhandled.log files.
 	Empty directories are automatically recreated when using
 	"git svn clone" and "git svn rebase", so "mkdirs" is intended
@@ -510,9 +510,9 @@
 +
 Remove directories from the SVN tree if there are no files left
 behind.  SVN can version empty directories, and they are not
-removed by default if there are no files left in them.  git
+removed by default if there are no files left in them.  Git
 cannot version empty directories.  Enabling this flag will make
-the commit to SVN act like git.
+the commit to SVN act like Git.
 +
 [verse]
 config key: svn.rmdir
@@ -599,7 +599,7 @@
 	This can be used with the 'dcommit', 'rebase', 'branch' and
 	'tag' commands.
 +
-For 'dcommit', print out the series of git arguments that would show
+For 'dcommit', print out the series of Git arguments that would show
 which diffs would be committed to SVN.
 +
 For 'rebase', display the local branch associated with the upstream svn
@@ -610,14 +610,14 @@
 creating the branch or tag.
 
 --use-log-author::
-	When retrieving svn commits into git (as part of 'fetch', 'rebase', or
+	When retrieving svn commits into Git (as part of 'fetch', 'rebase', or
 	'dcommit' operations), look for the first `From:` or `Signed-off-by:` line
 	in the log message and use that as the author string.
 --add-author-from::
-	When committing to svn from git (as part of 'commit-diff', 'set-tree' or 'dcommit'
+	When committing to svn from Git (as part of 'commit-diff', 'set-tree' or 'dcommit'
 	operations), if the existing log message doesn't already have a
 	`From:` or `Signed-off-by:` line, append a `From:` line based on the
-	git commit's author string.  If you use this, then `--use-log-author`
+	Git commit's author string.  If you use this, then `--use-log-author`
 	will retrieve a valid author string for all commits.
 
 
@@ -642,7 +642,7 @@
 	one of the repository layout options --trunk, --tags,
 	--branches, --stdlayout). For each tracked branch, try to find
 	out where its revision was copied from, and set
-	a suitable parent in the first git commit for the branch.
+	a suitable parent in the first Git commit for the branch.
 	This is especially helpful when we're tracking a directory
 	that has been moved around within the repository.  If this
 	feature is disabled, the branches created by 'git svn' will all
@@ -674,7 +674,7 @@
 +
 This option is NOT recommended as it makes it difficult to track down
 old references to SVN revision numbers in existing documentation, bug
-reports and archives.  If you plan to eventually migrate from SVN to git
+reports and archives.  If you plan to eventually migrate from SVN to Git
 and are certain about dropping SVN history, consider
 linkgit:git-filter-branch[1] instead.  filter-branch also allows
 reformatting of metadata for ease-of-reading and rewriting authorship
@@ -714,7 +714,7 @@
 
 svn-remote.<name>.pushurl::
 
-	Similar to git's 'remote.<name>.pushurl', this key is designed
+	Similar to Git's 'remote.<name>.pushurl', this key is designed
 	to be used in cases where 'url' points to an SVN repository
 	via a read-only transport, to provide an alternate read/write
 	transport. It is assumed that both keys point to the same
@@ -768,15 +768,15 @@
 	cd trunk
 # You should be on master branch, double-check with 'git branch'
 	git branch
-# Do some work and commit locally to git:
+# Do some work and commit locally to Git:
 	git commit ...
 # Something is committed to SVN, rebase your local changes against the
 # latest changes in SVN:
 	git svn rebase
-# Now commit your changes (that were committed previously using git) to SVN,
+# Now commit your changes (that were committed previously using Git) to SVN,
 # as well as automatically updating your working HEAD:
 	git svn dcommit
-# Append svn:ignore settings to the default git exclude file:
+# Append svn:ignore settings to the default Git exclude file:
 	git svn show-ignore >> .git/info/exclude
 ------------------------------------------------------------------------
 
@@ -816,7 +816,7 @@
 	git remote add origin server:/pub/project
 	git config --replace-all remote.origin.fetch '+refs/remotes/*:refs/remotes/*'
 	git fetch
-# Prevent fetch/pull from remote git server in the future,
+# Prevent fetch/pull from remote Git server in the future,
 # we only want to use git svn for future updates
 	git config --remove-section remote.origin
 # Create a local branch from one of the branches just fetched
@@ -849,13 +849,13 @@
 copy history (including branches and tags) for repositories adopting a
 standard layout, it cannot yet represent merge history that happened
 inside git back upstream to SVN users.  Therefore it is advised that
-users keep history as linear as possible inside git to ease
+users keep history as linear as possible inside Git to ease
 compatibility with SVN (see the CAVEATS section below).
 
 HANDLING OF SVN BRANCHES
 ------------------------
 If 'git svn' is configured to fetch branches (and --follow-branches
-is in effect), it sometimes creates multiple git branches for one
+is in effect), it sometimes creates multiple Git branches for one
 SVN branch, where the addtional branches have names of the form
 'branchname@nnn' (with nnn an SVN revision number).  These additional
 branches are created if 'git svn' cannot find a parent commit for the
@@ -865,17 +865,17 @@
 Normally, the first commit in an SVN branch consists
 of a copy operation. 'git svn' will read this commit to get the SVN
 revision the branch was created from. It will then try to find the
-git commit that corresponds to this SVN revision, and use that as the
+Git commit that corresponds to this SVN revision, and use that as the
 parent of the branch. However, it is possible that there is no suitable
-git commit to serve as parent.  This will happen, among other reasons,
+Git commit to serve as parent.  This will happen, among other reasons,
 if the SVN branch is a copy of a revision that was not fetched by 'git
 svn' (e.g. because it is an old revision that was skipped with
 '--revision'), or if in SVN a directory was copied that is not tracked
 by 'git svn' (such as a branch that is not tracked at all, or a
 subdirectory of a tracked branch). In these cases, 'git svn' will still
-create a git branch, but instead of using an existing git commit as the
+create a Git branch, but instead of using an existing Git commit as the
 parent of the branch, it will read the SVN history of the directory the
-branch was copied from and create appropriate git commits.  This is
+branch was copied from and create appropriate Git commits.  This is
 indicated by the message "Initializing parent: <branchname>".
 
 Additionally, it will create a special branch named
@@ -885,15 +885,15 @@
 and later recreated from a different version, there will be multiple
 such branches with an '@'.
 
-Note that this may mean that multiple git commits are created for a
+Note that this may mean that multiple Git commits are created for a
 single SVN revision.
 
 An example: in an SVN repository with a standard
 trunk/tags/branches layout, a directory trunk/sub is created in r.100.
 In r.200, trunk/sub is branched by copying it to branches/. 'git svn
-clone -s' will then create a branch 'sub'. It will also create new git
+clone -s' will then create a branch 'sub'. It will also create new Git
 commits for r.100 through r.199 and use these as the history of branch
-'sub'. Thus there will be two git commits for each revision from r.100
+'sub'. Thus there will be two Git commits for each revision from r.100
 to r.199 (one containing trunk/, one containing trunk/sub/). Finally,
 it will create a branch 'sub@200' pointing to the new parent commit of
 branch 'sub' (i.e. the commit for r.200 and trunk/sub/).
@@ -904,13 +904,13 @@
 For the sake of simplicity and interoperating with Subversion,
 it is recommended that all 'git svn' users clone, fetch and dcommit
 directly from the SVN server, and avoid all 'git clone'/'pull'/'merge'/'push'
-operations between git repositories and branches.  The recommended
-method of exchanging code between git branches and users is
+operations between Git repositories and branches.  The recommended
+method of exchanging code between Git branches and users is
 'git format-patch' and 'git am', or just 'dcommit'ing to the SVN repository.
 
 Running 'git merge' or 'git pull' is NOT recommended on a branch you
 plan to 'dcommit' from because Subversion users cannot see any
-merges you've made.  Furthermore, if you merge or pull from a git branch
+merges you've made.  Furthermore, if you merge or pull from a Git branch
 that is a mirror of an SVN branch, 'dcommit' may commit to the wrong
 branch.
 
@@ -929,7 +929,7 @@
 using 'git svn' should use 'rsync' for cloning, if cloning is to be done
 at all.
 
-Since 'dcommit' uses rebase internally, any git branches you 'git push' to
+Since 'dcommit' uses rebase internally, any Git branches you 'git push' to
 before 'dcommit' on will require forcing an overwrite of the existing ref
 on the remote repository.  This is generally considered bad practice,
 see the linkgit:git-push[1] documentation for details.
@@ -941,7 +941,7 @@
 
 When cloning an SVN repository, if none of the options for describing
 the repository layout is used (--trunk, --tags, --branches,
---stdlayout), 'git svn clone' will create a git repository with
+--stdlayout), 'git svn clone' will create a Git repository with
 completely linear history, where branches and tags appear as separate
 directories in the working copy.  While this is the easiest way to get a
 copy of a complete repository, for projects with many branches it will
@@ -957,7 +957,7 @@
 When using multiple --branches or --tags, 'git svn' does not automatically
 handle name collisions (for example, if two branches from different paths have
 the same name, or if a branch and a tag have the same name).  In these cases,
-use 'init' to set up your git repository then, before your first 'fetch', edit
+use 'init' to set up your Git repository then, before your first 'fetch', edit
 the .git/config file so that the branches and tags are associated with
 different name spaces.  For example:
 
@@ -970,12 +970,12 @@
 We ignore all SVN properties except svn:executable.  Any unhandled
 properties are logged to $GIT_DIR/svn/<refname>/unhandled.log
 
-Renamed and copied directories are not detected by git and hence not
+Renamed and copied directories are not detected by Git and hence not
 tracked when committing to SVN.  I do not plan on adding support for
 this as it's quite difficult and time-consuming to get working for all
-the possible corner cases (git doesn't do it, either).  Committing
+the possible corner cases (Git doesn't do it, either).  Committing
 renamed and copied files is fully supported if they're similar enough
-for git to detect them.
+for Git to detect them.
 
 In SVN, it is possible (though discouraged) to commit changes to a tag
 (because a tag is just a directory copy, thus technically the same as a
@@ -987,7 +987,7 @@
 -------------
 
 'git svn' stores [svn-remote] configuration information in the
-repository .git/config file.  It is similar the core git
+repository .git/config file.  It is similar the core Git
 [remote] sections except 'fetch' keys do not accept glob
 arguments; but they are instead handled by the 'branches'
 and 'tags' keys.  Since some SVN repositories are oddly
diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt
index 6470cff..e3032c4 100644
--- a/Documentation/git-tag.txt
+++ b/Documentation/git-tag.txt
@@ -242,7 +242,7 @@
 In such a case, you do not want to automatically follow the other
 person's tags.
 
-One important aspect of git is its distributed nature, which
+One important aspect of Git is its distributed nature, which
 largely means there is no inherent "upstream" or
 "downstream" in the system.  On the face of it, the above
 example might seem to indicate that the tag namespace is owned
diff --git a/Documentation/git-tools.txt b/Documentation/git-tools.txt
index 2f51b83..338986a 100644
--- a/Documentation/git-tools.txt
+++ b/Documentation/git-tools.txt
@@ -1,11 +1,11 @@
-A short git tools survey
+A short Git tools survey
 ========================
 
 
 Introduction
 ------------
 
-Apart from git contrib/ area there are some others third-party tools
+Apart from Git contrib/ area there are some others third-party tools
 you may want to look.
 
 This document presents a brief summary of each tool and the corresponding
@@ -17,7 +17,7 @@
 
    - *Cogito* (http://www.kernel.org/pub/software/scm/cogito/)
 
-   Cogito is a version control system layered on top of the git tree history
+   Cogito is a version control system layered on top of the Git tree history
    storage system. It aims at seamless user interface and ease of use,
    providing generally smoother user experience than the "raw" Core Git
    itself and indeed many other version control systems.
@@ -50,7 +50,7 @@
 
    - *gitview*  (contrib/)
 
-   gitview is a GTK based repository browser for git
+   gitview is a GTK based repository browser for Git
 
 
    - *gitweb* (shipped with git-core)
@@ -63,15 +63,15 @@
    QGit is a git/StGIT GUI viewer built on Qt/C++. QGit could be used
    to browse history and directory tree, view annotated files, commit
    changes cherry picking single files or applying patches.
-   Currently it is the fastest and most feature rich among the git
+   Currently it is the fastest and most feature rich among the Git
    viewers and commit tools.
 
    - *tig* (http://jonas.nitro.dk/tig/)
 
-   tig by Jonas Fonseca is a simple git repository browser
+   tig by Jonas Fonseca is a simple Git repository browser
    written using ncurses. Basically, it just acts as a front-end
    for git-log and git-show/git-diff. Additionally, you can also
-   use it as a pager for git commands.
+   use it as a pager for Git commands.
 
 
 Foreign SCM interface
@@ -80,20 +80,20 @@
    - *git-svn* (shipped with git-core)
 
    git-svn is a simple conduit for changesets between a single Subversion
-   branch and git.
+   branch and Git.
 
 
    - *quilt2git / git2quilt* (http://home-tj.org/wiki/index.php/Misc)
 
    These utilities convert patch series in a quilt repository and commit
-   series in git back and forth.
+   series in Git back and forth.
 
 
    - *hg-to-git* (contrib/)
 
-   hg-to-git converts a Mercurial repository into a git one, and
+   hg-to-git converts a Mercurial repository into a Git one, and
    preserves the full branch history in the process. hg-to-git can
-   also be used in an incremental way to keep the git repository
+   also be used in an incremental way to keep the Git repository
    in sync with the master Mercurial repository.
 
 
@@ -102,14 +102,14 @@
 
    - *(h)gct* (http://www.cyd.liu.se/users/~freku045/gct/)
 
-   Commit Tool or (h)gct is a GUI enabled commit tool for git and
+   Commit Tool or (h)gct is a GUI enabled commit tool for Git and
    Mercurial (hg). It allows the user to view diffs, select which files
    to committed (or ignored / reverted) write commit messages and
    perform the commit itself.
 
    - *git.el* (contrib/)
 
-   This is an Emacs interface for git. The user interface is modeled on
+   This is an Emacs interface for Git. The user interface is modeled on
    pcl-cvs. It has been developed on Emacs 21 and will probably need some
    tweaking to work on XEmacs.
 
diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.txt
index 9d0b151..77a912d 100644
--- a/Documentation/git-update-index.txt
+++ b/Documentation/git-update-index.txt
@@ -82,10 +82,10 @@
 	When these flags are specified, the object names recorded
 	for the paths are not updated.  Instead, these options
 	set and unset the "assume unchanged" bit for the
-	paths.  When the "assume unchanged" bit is on, git stops
+	paths.  When the "assume unchanged" bit is on, Git stops
 	checking the working tree files for possible
 	modifications, so you need to manually unset the bit to
-	tell git when you change the working tree file. This is
+	tell Git when you change the working tree file. This is
 	sometimes helpful when working with a big project on a
 	filesystem that has very slow lstat(2) system call
 	(e.g. cifs).
@@ -253,18 +253,18 @@
 Using ``assume unchanged'' bit
 ------------------------------
 
-Many operations in git depend on your filesystem to have an
+Many operations in Git depend on your filesystem to have an
 efficient `lstat(2)` implementation, so that `st_mtime`
 information for working tree files can be cheaply checked to see
 if the file contents have changed from the version recorded in
 the index file.  Unfortunately, some filesystems have
 inefficient `lstat(2)`.  If your filesystem is one of them, you
 can set "assume unchanged" bit to paths you have not changed to
-cause git not to do this check.  Note that setting this bit on a
-path does not mean git will check the contents of the file to
-see if it has changed -- it makes git to omit any checking and
+cause Git not to do this check.  Note that setting this bit on a
+path does not mean Git will check the contents of the file to
+see if it has changed -- it makes Git to omit any checking and
 assume it has *not* changed.  When you make changes to working
-tree files, you have to explicitly tell git about it by dropping
+tree files, you have to explicitly tell Git about it by dropping
 "assume unchanged" bit, either before or after you modify them.
 
 In order to set "assume unchanged" bit, use `--assume-unchanged`
@@ -274,7 +274,7 @@
 
 The command looks at `core.ignorestat` configuration variable.  When
 this is true, paths updated with `git update-index paths...` and
-paths updated with other git commands that update both index and
+paths updated with other Git commands that update both index and
 working tree (e.g. 'git apply --index', 'git checkout-index -u',
 and 'git read-tree -u') are automatically marked as "assume
 unchanged".  Note that "assume unchanged" bit is *not* set if
diff --git a/Documentation/git-upload-archive.txt b/Documentation/git-upload-archive.txt
index 4d52d38..d09bbb5 100644
--- a/Documentation/git-upload-archive.txt
+++ b/Documentation/git-upload-archive.txt
@@ -14,7 +14,7 @@
 DESCRIPTION
 -----------
 Invoked by 'git archive --remote' and sends a generated archive to the
-other end over the git protocol.
+other end over the Git protocol.
 
 This command is usually not invoked directly by the end user.  The UI
 for the protocol is on the 'git archive' side, and the program pair
diff --git a/Documentation/git-upload-pack.txt b/Documentation/git-upload-pack.txt
index 71f1608..0abc806 100644
--- a/Documentation/git-upload-pack.txt
+++ b/Documentation/git-upload-pack.txt
@@ -26,7 +26,7 @@
 -------
 
 --strict::
-	Do not try <directory>/.git/ if <directory> is no git directory.
+	Do not try <directory>/.git/ if <directory> is no Git directory.
 
 --timeout=<n>::
 	Interrupt transfer after <n> seconds of inactivity.
diff --git a/Documentation/git-var.txt b/Documentation/git-var.txt
index 67edf58..44ff954 100644
--- a/Documentation/git-var.txt
+++ b/Documentation/git-var.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-var - Show a git logical variable
+git-var - Show a Git logical variable
 
 
 SYNOPSIS
@@ -13,13 +13,13 @@
 
 DESCRIPTION
 -----------
-Prints a git logical variable.
+Prints a Git logical variable.
 
 OPTIONS
 -------
 -l::
 	Cause the logical variables to be listed. In addition, all the
-	variables of the git configuration file .git/config are listed
+	variables of the Git configuration file .git/config are listed
 	as well. (However, the configuration variables listing functionality
 	is deprecated in favor of `git config -l`.)
 
@@ -35,10 +35,10 @@
     The author of a piece of code.
 
 GIT_COMMITTER_IDENT::
-    The person who put a piece of code into git.
+    The person who put a piece of code into Git.
 
 GIT_EDITOR::
-    Text editor for use by git commands.  The value is meant to be
+    Text editor for use by Git commands.  The value is meant to be
     interpreted by the shell when it is used.  Examples: `~/bin/vi`,
     `$SOME_ENVIRONMENT_VARIABLE`, `"C:\Program Files\Vim\gvim.exe"
     --nofork`.  The order of preference is the `$GIT_EDITOR`
@@ -50,7 +50,7 @@
 endif::git-default-editor[]
 
 GIT_PAGER::
-    Text viewer for use by git commands (e.g., 'less').  The value
+    Text viewer for use by Git commands (e.g., 'less').  The value
     is meant to be interpreted by the shell.  The order of preference
     is the `$GIT_PAGER` environment variable, then `core.pager`
     configuration, then `$PAGER`, and then the default chosen at
diff --git a/Documentation/git-verify-pack.txt b/Documentation/git-verify-pack.txt
index cd23076..0eb9ffb 100644
--- a/Documentation/git-verify-pack.txt
+++ b/Documentation/git-verify-pack.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-verify-pack - Validate packed git archive files
+git-verify-pack - Validate packed Git archive files
 
 
 SYNOPSIS
@@ -14,7 +14,7 @@
 
 DESCRIPTION
 -----------
-Reads given idx file for packed git archive created with the
+Reads given idx file for packed Git archive created with the
 'git pack-objects' command and verifies idx file and the
 corresponding pack file.
 
diff --git a/Documentation/git-verify-tag.txt b/Documentation/git-verify-tag.txt
index 5ff76e8..e996135 100644
--- a/Documentation/git-verify-tag.txt
+++ b/Documentation/git-verify-tag.txt
@@ -21,7 +21,7 @@
 	Print the contents of the tag object before validating it.
 
 <tag>...::
-	SHA1 identifiers of git tag objects.
+	SHA1 identifiers of Git tag objects.
 
 GIT
 ---
diff --git a/Documentation/git-web--browse.txt b/Documentation/git-web--browse.txt
index c2bc87b..ba79cb4 100644
--- a/Documentation/git-web--browse.txt
+++ b/Documentation/git-web--browse.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-git-web--browse - git helper script to launch a web browser
+git-web--browse - Git helper script to launch a web browser
 
 SYNOPSIS
 --------
@@ -50,7 +50,7 @@
 
 -c <conf.var>::
 --config=<conf.var>::
-	CONF.VAR is looked up in the git config files. If it's set,
+	CONF.VAR is looked up in the Git config files. If it's set,
 	then its value specifies the browser that should be used.
 
 CONFIGURATION VARIABLES
diff --git a/Documentation/git-whatchanged.txt b/Documentation/git-whatchanged.txt
index 6c8f510..c600b61 100644
--- a/Documentation/git-whatchanged.txt
+++ b/Documentation/git-whatchanged.txt
@@ -24,7 +24,7 @@
 OPTIONS
 -------
 -p::
-	Show textual diffs, instead of the git internal diff
+	Show textual diffs, instead of the Git internal diff
 	output format that is useful only to tell the changed
 	paths and their nature of changes.
 
@@ -36,7 +36,7 @@
 	exclusive, top inclusive).
 
 -r::
-	Show git internal diff output, but for the whole tree,
+	Show Git internal diff output, but for the whole tree,
 	not just the top level.
 
 -m::
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 1aac71e..c431ba2 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -27,11 +27,11 @@
 in-depth introduction.
 
 After you mastered the basic concepts, you can come back to this
-page to learn what commands git offers.  You can learn more about
-individual git commands with "git help command".  linkgit:gitcli[7]
+page to learn what commands Git offers.  You can learn more about
+individual Git commands with "git help command".  linkgit:gitcli[7]
 manual page gives you an overview of the command line command syntax.
 
-Formatted and hyperlinked version of the latest git documentation
+Formatted and hyperlinked version of the latest Git documentation
 can be viewed at `http://git-htmldocs.googlecode.com/git/git.html`.
 
 ifdef::stalenotes[]
@@ -39,7 +39,7 @@
 ============
 
 You are reading the documentation for the latest (possibly
-unreleased) version of git, that is available from 'master'
+unreleased) version of Git, that is available from 'master'
 branch of the `git.git` repository.
 Documentation for older releases are available here:
 
@@ -355,12 +355,12 @@
 OPTIONS
 -------
 --version::
-	Prints the git suite version that the 'git' program came from.
+	Prints the Git suite version that the 'git' program came from.
 
 --help::
 	Prints the synopsis and a list of the most commonly used
 	commands. If the option '--all' or '-a' is given then all
-	available commands are printed. If a git command is named this
+	available commands are printed. If a Git command is named this
 	option will bring up the manual page for that command.
 +
 Other options are available to control how the manual page is
@@ -375,22 +375,22 @@
 	'git config' (subkeys separated by dots).
 
 --exec-path[=<path>]::
-	Path to wherever your core git programs are installed.
+	Path to wherever your core Git programs are installed.
 	This can also be controlled by setting the GIT_EXEC_PATH
 	environment variable. If no path is given, 'git' will print
 	the current setting and then exit.
 
 --html-path::
-	Print the path, without trailing slash, where git's HTML
+	Print the path, without trailing slash, where Git's HTML
 	documentation is installed and exit.
 
 --man-path::
 	Print the manpath (see `man(1)`) for the man pages for
-	this version of git and exit.
+	this version of Git and exit.
 
 --info-path::
 	Print the path where the Info files documenting this
-	version of git are installed and exit.
+	version of Git are installed and exit.
 
 -p::
 --paginate::
@@ -400,7 +400,7 @@
 	below).
 
 --no-pager::
-	Do not pipe git output into a pager.
+	Do not pipe Git output into a pager.
 
 --git-dir=<path>::
 	Set the path to the repository. This can also be controlled by
@@ -416,7 +416,7 @@
 	more detailed discussion).
 
 --namespace=<path>::
-	Set the git namespace.  See linkgit:gitnamespaces[7] for more
+	Set the Git namespace.  See linkgit:gitnamespaces[7] for more
 	details.  Equivalent to setting the `GIT_NAMESPACE` environment
 	variable.
 
@@ -426,7 +426,7 @@
 	directory.
 
 --no-replace-objects::
-	Do not use replacement refs to replace git objects. See
+	Do not use replacement refs to replace Git objects. See
 	linkgit:git-replace[1] for more information.
 
 --literal-pathspecs::
@@ -438,7 +438,7 @@
 GIT COMMANDS
 ------------
 
-We divide git into high level ("porcelain") commands and low level
+We divide Git into high level ("porcelain") commands and low level
 ("plumbing") commands.
 
 High-level commands (porcelain)
@@ -475,7 +475,7 @@
 Low-level commands (plumbing)
 -----------------------------
 
-Although git includes its
+Although Git includes its
 own porcelain layer, its low-level commands are sufficient to support
 development of alternative porcelains.  Developers of such porcelains
 might start by reading about linkgit:git-update-index[1] and
@@ -596,7 +596,7 @@
 
 Symbolic Identifiers
 --------------------
-Any git command accepting any <object> can also use the following
+Any Git command accepting any <object> can also use the following
 symbolic notation:
 
 HEAD::
@@ -632,13 +632,13 @@
 
 Environment Variables
 ---------------------
-Various git commands use the following environment variables:
+Various Git commands use the following environment variables:
 
-The git Repository
+The Git Repository
 ~~~~~~~~~~~~~~~~~~
-These environment variables apply to 'all' core git commands. Nb: it
+These environment variables apply to 'all' core Git commands. Nb: it
 is worth noting that they may be used/overridden by SCMS sitting above
-git so take care if using Cogito etc.
+Git so take care if using Cogito etc.
 
 'GIT_INDEX_FILE'::
 	This environment allows the specification of an alternate
@@ -652,10 +652,10 @@
 	directory is used.
 
 'GIT_ALTERNATE_OBJECT_DIRECTORIES'::
-	Due to the immutable nature of git objects, old objects can be
+	Due to the immutable nature of Git objects, old objects can be
 	archived into shared, read-only directories. This variable
 	specifies a ":" separated (on Windows ";" separated) list
-	of git object directories which can be used to search for git
+	of Git object directories which can be used to search for Git
 	objects. New objects will not be written to these directories.
 
 'GIT_DIR'::
@@ -672,12 +672,12 @@
 	option and the core.worktree configuration variable.
 
 'GIT_NAMESPACE'::
-	Set the git namespace; see linkgit:gitnamespaces[7] for details.
+	Set the Git namespace; see linkgit:gitnamespaces[7] for details.
 	The '--namespace' command-line option also sets this value.
 
 'GIT_CEILING_DIRECTORIES'::
 	This should be a colon-separated list of absolute paths.
-	If set, it is a list of directories that git should not chdir
+	If set, it is a list of directories that Git should not chdir
 	up into while looking for a repository directory.
 	It will not exclude the current working directory or
 	a GIT_DIR set on the command line or in the environment.
@@ -685,15 +685,15 @@
 
 'GIT_DISCOVERY_ACROSS_FILESYSTEM'::
 	When run in a directory that does not have ".git" repository
-	directory, git tries to find such a directory in the parent
+	directory, Git tries to find such a directory in the parent
 	directories to find the top of the working tree, but by default it
 	does not cross filesystem boundaries.  This environment variable
-	can be set to true to tell git not to stop at filesystem
+	can be set to true to tell Git not to stop at filesystem
 	boundaries.  Like 'GIT_CEILING_DIRECTORIES', this will not affect
 	an explicit repository directory set via 'GIT_DIR' or on the
 	command line.
 
-git Commits
+Git Commits
 ~~~~~~~~~~~
 'GIT_AUTHOR_NAME'::
 'GIT_AUTHOR_EMAIL'::
@@ -704,13 +704,13 @@
 'EMAIL'::
 	see linkgit:git-commit-tree[1]
 
-git Diffs
+Git Diffs
 ~~~~~~~~~
 'GIT_DIFF_OPTS'::
 	Only valid setting is "--unified=??" or "-u??" to set the
 	number of context lines shown when a unified diff is created.
 	This takes precedence over any "-U" or "--unified" option
-	value passed on the git diff command line.
+	value passed on the Git diff command line.
 
 'GIT_EXTERNAL_DIFF'::
 	When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
@@ -745,13 +745,13 @@
 
 'GIT_PAGER'::
 	This environment variable overrides `$PAGER`. If it is set
-	to an empty string or to the value "cat", git will not launch
+	to an empty string or to the value "cat", Git will not launch
 	a pager.  See also the `core.pager` option in
 	linkgit:git-config[1].
 
 'GIT_EDITOR'::
 	This environment variable overrides `$EDITOR` and `$VISUAL`.
-	It is used by several git commands when, on interactive mode,
+	It is used by several Git commands when, on interactive mode,
 	an editor is to be launched. See also linkgit:git-var[1]
 	and the `core.editor` option in linkgit:git-config[1].
 
@@ -772,7 +772,7 @@
 for further details.
 
 'GIT_ASKPASS'::
-	If this environment variable is set, then git commands which need to
+	If this environment variable is set, then Git commands which need to
 	acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
 	will call this program with a suitable prompt as command line argument
 	and read the password from its STDOUT. See also the 'core.askpass'
@@ -793,30 +793,30 @@
 	after each commit-oriented record have been flushed.   If this
 	variable is set to "0", the output of these commands will be done
 	using completely buffered I/O.   If this environment variable is
-	not set, git will choose buffered or record-oriented flushing
+	not set, Git will choose buffered or record-oriented flushing
 	based on whether stdout appears to be redirected to a file or not.
 
 'GIT_TRACE'::
 	If this variable is set to "1", "2" or "true" (comparison
-	is case insensitive), git will print `trace:` messages on
+	is case insensitive), Git will print `trace:` messages on
 	stderr telling about alias expansion, built-in command
 	execution and external command execution.
 	If this variable is set to an integer value greater than 1
-	and lower than 10 (strictly) then git will interpret this
+	and lower than 10 (strictly) then Git will interpret this
 	value as an open file descriptor and will try to write the
 	trace messages into this file descriptor.
 	Alternatively, if this variable is set to an absolute path
-	(starting with a '/' character), git will interpret this
+	(starting with a '/' character), Git will interpret this
 	as a file path and will try to write the trace messages
 	into it.
 
 GIT_LITERAL_PATHSPECS::
-	Setting this variable to `1` will cause git to treat all
+	Setting this variable to `1` will cause Git to treat all
 	pathspecs literally, rather than as glob patterns. For example,
 	running `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search
 	for commits that touch the path `*.c`, not any paths that the
 	glob `*.c` matches. You might want this if you are feeding
-	literal paths to git (e.g., paths previously given to you by
+	literal paths to Git (e.g., paths previously given to you by
 	`git ls-tree`, `--raw` diff output, etc).
 
 
@@ -824,10 +824,10 @@
 ------------------------
 
 More detail on the following is available from the
-link:user-manual.html#git-concepts[git concepts chapter of the
+link:user-manual.html#git-concepts[Git concepts chapter of the
 user-manual] and linkgit:gitcore-tutorial[7].
 
-A git project normally consists of a working directory with a ".git"
+A Git project normally consists of a working directory with a ".git"
 subdirectory at the top level.  The .git directory contains, among other
 things, a compressed object database representing the complete history
 of the project, an "index" file which links that history to the current
@@ -877,12 +877,12 @@
 ---------------------
 
 See the references in the "description" section to get started
-using git.  The following is probably more detail than necessary
+using Git.  The following is probably more detail than necessary
 for a first-time user.
 
-The link:user-manual.html#git-concepts[git concepts chapter of the
+The link:user-manual.html#git-concepts[Git concepts chapter of the
 user-manual] and linkgit:gitcore-tutorial[7] both provide
-introductions to the underlying git architecture.
+introductions to the underlying Git architecture.
 
 See linkgit:gitworkflows[7] for an overview of recommended workflows.
 
@@ -899,7 +899,7 @@
 Authors
 -------
 Git was started by Linus Torvalds, and is currently maintained by Junio
-C Hamano. Numerous contributions have come from the git mailing list
+C Hamano. Numerous contributions have come from the Git mailing list
 <git@vger.kernel.org>.  http://www.ohloh.net/p/git/contributors/summary
 gives you a more complete list of contributors.
 
diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
index 2698f63..b322a26 100644
--- a/Documentation/gitattributes.txt
+++ b/Documentation/gitattributes.txt
@@ -58,7 +58,7 @@
 same as in `.gitignore` files; see linkgit:gitignore[5].
 Unlike `.gitignore`, negative patterns are forbidden.
 
-When deciding what attributes are assigned to a path, git
+When deciding what attributes are assigned to a path, Git
 consults `$GIT_DIR/info/attributes` file (which has the highest
 precedence), `.gitattributes` file in the same directory as the
 path in question, and its parent directories up to the toplevel of the
@@ -94,7 +94,7 @@
 EFFECTS
 -------
 
-Certain operations by git can be influenced by assigning
+Certain operations by Git can be influenced by assigning
 particular attributes to a path.  Currently, the following
 operations are attributes-aware.
 
@@ -104,7 +104,7 @@
 These attributes affect how the contents stored in the
 repository are copied to the working tree files when commands
 such as 'git checkout' and 'git merge' run.  They also affect how
-git stores the contents you prepare in the working tree in the
+Git stores the contents you prepare in the working tree in the
 repository upon 'git add' and 'git commit'.
 
 `text`
@@ -124,22 +124,22 @@
 
 Unset::
 
-	Unsetting the `text` attribute on a path tells git not to
+	Unsetting the `text` attribute on a path tells Git not to
 	attempt any end-of-line conversion upon checkin or checkout.
 
 Set to string value "auto"::
 
 	When `text` is set to "auto", the path is marked for automatic
-	end-of-line normalization.  If git decides that the content is
+	end-of-line normalization.  If Git decides that the content is
 	text, its line endings are normalized to LF on checkin.
 
 Unspecified::
 
-	If the `text` attribute is unspecified, git uses the
+	If the `text` attribute is unspecified, Git uses the
 	`core.autocrlf` configuration variable to determine if the
 	file should be converted.
 
-Any other value causes git to act as if `text` has been left
+Any other value causes Git to act as if `text` has been left
 unspecified.
 
 `eol`
@@ -151,13 +151,13 @@
 
 Set to string value "crlf"::
 
-	This setting forces git to normalize line endings for this
+	This setting forces Git to normalize line endings for this
 	file on checkin and convert them to CRLF when the file is
 	checked out.
 
 Set to string value "lf"::
 
-	This setting forces git to normalize line endings to LF on
+	This setting forces Git to normalize line endings to LF on
 	checkin and prevents conversion to CRLF when the file is
 	checked out.
 
@@ -176,11 +176,11 @@
 End-of-line conversion
 ^^^^^^^^^^^^^^^^^^^^^^
 
-While git normally leaves file contents alone, it can be configured to
+While Git normally leaves file contents alone, it can be configured to
 normalize line endings to LF in the repository and, optionally, to
 convert them to CRLF when files are checked out.
 
-Here is an example that will make git normalize .txt, .vcproj and .sh
+Here is an example that will make Git normalize .txt, .vcproj and .sh
 files, ensure that .vcproj files have CRLF and .sh files have LF in
 the working directory, and prevent .jpg files from being normalized
 regardless of their content.
@@ -194,7 +194,7 @@
 
 Other source code management systems normalize all text files in their
 repositories, and there are two ways to enable similar automatic
-normalization in git.
+normalization in Git.
 
 If you simply want to have CRLF line endings in your working directory
 regardless of the repository you are working with, you can set the
@@ -219,9 +219,9 @@
 *	text=auto
 ------------------------
 
-This ensures that all files that git considers to be text will have
+This ensures that all files that Git considers to be text will have
 normalized (LF) line endings in the repository.  The `core.eol`
-configuration variable controls which line endings git will use for
+configuration variable controls which line endings Git will use for
 normalized files in your working directory; the default is to use the
 native line ending for your platform, or CRLF if `core.autocrlf` is
 set.
@@ -234,7 +234,7 @@
 
 -------------------------------------------------
 $ echo "* text=auto" >>.gitattributes
-$ rm .git/index     # Remove the index to force git to
+$ rm .git/index     # Remove the index to force Git to
 $ git reset         # re-scan the working directory
 $ git status        # Show files that will be normalized
 $ git add -u
@@ -249,17 +249,17 @@
 manual.pdf	-text
 ------------------------
 
-Conversely, text files that git does not detect can have normalization
+Conversely, text files that Git does not detect can have normalization
 enabled manually.
 
 ------------------------
 weirdchars.txt	text
 ------------------------
 
-If `core.safecrlf` is set to "true" or "warn", git verifies if
+If `core.safecrlf` is set to "true" or "warn", Git verifies if
 the conversion is reversible for the current setting of
-`core.autocrlf`.  For "true", git rejects irreversible
-conversions; for "warn", git only prints a warning but accepts
+`core.autocrlf`.  For "true", Git rejects irreversible
+conversions; for "warn", Git only prints a warning but accepts
 an irreversible conversion.  The safety triggers to prevent such
 a conversion done to the files in the work tree, but there are a
 few exceptions.  Even though...
@@ -280,7 +280,7 @@
 `ident`
 ^^^^^^^
 
-When the attribute `ident` is set for a path, git replaces
+When the attribute `ident` is set for a path, Git replaces
 `$Id$` in the blob object with `$Id:`, followed by the
 40-character hexadecimal blob object name, followed by a dollar
 sign `$` upon checkout.  Any byte sequence that begins with
@@ -311,7 +311,7 @@
 
 Another use of the content filtering is to store the content that cannot
 be directly used in the repository (e.g. a UUID that refers to the true
-content stored outside git, or an encrypted content) and turn it into a
+content stored outside Git, or an encrypted content) and turn it into a
 usable form upon checkout (e.g. download the external content, or decrypt
 the encrypted content).
 
@@ -397,7 +397,7 @@
 where the attribute is not in place would normally cause merge
 conflicts.
 
-To prevent these unnecessary merge conflicts, git can be told to run a
+To prevent these unnecessary merge conflicts, Git can be told to run a
 virtual check-out and check-in of all three stages of a file when
 resolving a three-way merge by setting the `merge.renormalize`
 configuration variable.  This prevents changes caused by check-in
@@ -417,11 +417,11 @@
 `diff`
 ^^^^^^
 
-The attribute `diff` affects how 'git' generates diffs for particular
-files. It can tell git whether to generate a textual patch for the path
+The attribute `diff` affects how Git generates diffs for particular
+files. It can tell Git whether to generate a textual patch for the path
 or to treat the path as a binary file.  It can also affect what line is
-shown on the hunk header `@@ -k,l +n,m @@` line, tell git to use an
-external command to generate the diff, or ask git to convert binary
+shown on the hunk header `@@ -k,l +n,m @@` line, tell Git to use an
+external command to generate the diff, or ask Git to convert binary
 files to a text format before generating the diff.
 
 Set::
@@ -449,7 +449,7 @@
 	specify one or more options, as described in the following
 	section. The options for the diff driver "foo" are defined
 	by the configuration variables in the "diff.foo" section of the
-	git config file.
+	Git config file.
 
 
 Defining an external diff driver
@@ -467,7 +467,7 @@
 	command = j-c-diff
 ----------------------------------------------------------------
 
-When git needs to show you a diff for the path with `diff`
+When Git needs to show you a diff for the path with `diff`
 attribute set to `jcdiff`, it calls the command you specified
 with the above configuration, i.e. `j-c-diff`, with 7
 parameters, just like `GIT_EXTERNAL_DIFF` program is called.
@@ -606,7 +606,7 @@
 addition to_ the usual binary diff that you might send.
 
 Because text conversion can be slow, especially when doing a
-large number of them with `git log -p`, git provides a mechanism
+large number of them with `git log -p`, Git provides a mechanism
 to cache the output and use it in future diffs.  To enable
 caching, set the "cachetextconv" variable in your diff driver's
 config. For example:
@@ -619,7 +619,7 @@
 
 This will cache the result of running "exif" on each blob
 indefinitely. If you change the textconv config variable for a
-diff driver, git will automatically invalidate the cache entries
+diff driver, Git will automatically invalidate the cache entries
 and re-run the textconv filter. If you want to invalidate the
 cache manually (e.g., because your version of "exif" was updated
 and now produces better output), you can remove the cache
@@ -640,7 +640,7 @@
 changes in the most appropriate way for your data format.
 
 A textconv, by comparison, is much more limiting. You provide a
-transformation of the data into a line-oriented text format, and git
+transformation of the data into a line-oriented text format, and Git
 uses its regular diff tools to generate the output. There are several
 advantages to choosing this method:
 
@@ -650,7 +650,7 @@
    odt2txt).
 
 2. Git diff features. By performing only the transformation step
-   yourself, you can still utilize many of git's diff features,
+   yourself, you can still utilize many of Git's diff features,
    including colorization, word-diff, and combined diffs for merges.
 
 3. Caching. Textconv caching can speed up repeated diffs, such as those
@@ -675,7 +675,7 @@
 *.ps -diff
 ------------------------
 
-This will cause git to generate `Binary files differ` (or a binary
+This will cause Git to generate `Binary files differ` (or a binary
 patch, if binary patches are enabled) instead of a regular diff.
 
 However, one may also want to specify other diff driver attributes. For
@@ -831,7 +831,7 @@
 
 Set::
 
-	Notice all types of potential whitespace errors known to git.
+	Notice all types of potential whitespace errors known to Git.
 	The tab width is taken from the value of the `core.whitespace`
 	configuration variable.
 
@@ -863,7 +863,7 @@
 `export-subst`
 ^^^^^^^^^^^^^^
 
-If the attribute `export-subst` is set for a file then git will expand
+If the attribute `export-subst` is set for a file then Git will expand
 several placeholders when adding this file to an archive.  The
 expansion depends on the availability of a commit ID, i.e., if
 linkgit:git-archive[1] has been given a tree instead of a commit or a
@@ -961,7 +961,7 @@
 the attributes given to path `t/abc` are computed as follows:
 
 1. By examining `t/.gitattributes` (which is in the same
-   directory as the path in question), git finds that the first
+   directory as the path in question), Git finds that the first
    line matches.  `merge` attribute is set.  It also finds that
    the second line matches, and attributes `foo` and `bar`
    are unset.
diff --git a/Documentation/gitcli.txt b/Documentation/gitcli.txt
index 3bc1500..dc9e617 100644
--- a/Documentation/gitcli.txt
+++ b/Documentation/gitcli.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-gitcli - git command line interface and conventions
+gitcli - Git command line interface and conventions
 
 SYNOPSIS
 --------
@@ -13,7 +13,7 @@
 DESCRIPTION
 -----------
 
-This manual describes the convention used throughout git CLI.
+This manual describes the convention used throughout Git CLI.
 
 Many commands take revisions (most often "commits", but sometimes
 "tree-ish", depending on the context and command) and paths as their
@@ -32,7 +32,7 @@
    between the HEAD commit and the work tree as a whole".  You can say
    `git diff HEAD --` to ask for the latter.
 
- * Without disambiguating `--`, git makes a reasonable guess, but errors
+ * Without disambiguating `--`, Git makes a reasonable guess, but errors
    out and asking you to disambiguate when ambiguous.  E.g. if you have a
    file called HEAD in your work tree, `git diff HEAD` is ambiguous, and
    you have to say either `git diff HEAD --` or `git diff -- HEAD` to
@@ -60,9 +60,9 @@
 you will.
 
 Here are the rules regarding the "flags" that you should follow when you are
-scripting git:
+scripting Git:
 
- * it's preferred to use the non dashed form of git commands, which means that
+ * it's preferred to use the non dashed form of Git commands, which means that
    you should prefer `git foo` to `git-foo`.
 
  * splitting short options to separate words (prefer `git foo -a -b`
@@ -90,7 +90,7 @@
 
 ENHANCED OPTION PARSER
 ----------------------
-From the git 1.5.4 series and further, many git commands (not all of them at the
+From the Git 1.5.4 series and further, many Git commands (not all of them at the
 time of the writing though) come with an enhanced option parser.
 
 Here is a list of the facilities provided by this option parser.
@@ -117,7 +117,7 @@
 ---------------------------------------------
 
 --help-all::
-	Some git commands take options that are only used for plumbing or that
+	Some Git commands take options that are only used for plumbing or that
 	are deprecated, and such options are hidden from the default usage. This
 	option gives the full list of options.
 
diff --git a/Documentation/gitcore-tutorial.txt b/Documentation/gitcore-tutorial.txt
index 6a701dd..59c1c17 100644
--- a/Documentation/gitcore-tutorial.txt
+++ b/Documentation/gitcore-tutorial.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-gitcore-tutorial - A git core tutorial for developers
+gitcore-tutorial - A Git core tutorial for developers
 
 SYNOPSIS
 --------
@@ -12,17 +12,17 @@
 DESCRIPTION
 -----------
 
-This tutorial explains how to use the "core" git commands to set up and
-work with a git repository.
+This tutorial explains how to use the "core" Git commands to set up and
+work with a Git repository.
 
-If you just need to use git as a revision control system you may prefer
+If you just need to use Git as a revision control system you may prefer
 to start with "A Tutorial Introduction to Git" (linkgit:gittutorial[7]) or
 link:user-manual.html[the Git User Manual].
 
 However, an understanding of these low-level tools can be helpful if
-you want to understand git's internals.
+you want to understand Git's internals.
 
-The core git is often called "plumbing", with the prettier user
+The core Git is often called "plumbing", with the prettier user
 interfaces on top of it called "porcelain". You may not want to use the
 plumbing directly very often, but it can be good to know what the
 plumbing does for when the porcelain isn't flushing.
@@ -40,19 +40,19 @@
 skip on your first reading.
 
 
-Creating a git repository
+Creating a Git repository
 -------------------------
 
-Creating a new git repository couldn't be easier: all git repositories start
+Creating a new Git repository couldn't be easier: all Git repositories start
 out empty, and the only thing you need to do is find yourself a
 subdirectory that you want to use as a working tree - either an empty
 one for a totally new project, or an existing working tree that you want
-to import into git.
+to import into Git.
 
 For our first example, we're going to start a totally new repository from
 scratch, with no pre-existing files, and we'll call it 'git-tutorial'.
 To start up, create a subdirectory for it, change into that
-subdirectory, and initialize the git infrastructure with 'git init':
+subdirectory, and initialize the Git infrastructure with 'git init':
 
 ------------------------------------------------
 $ mkdir git-tutorial
@@ -60,13 +60,13 @@
 $ git init
 ------------------------------------------------
 
-to which git will reply
+to which Git will reply
 
 ----------------
 Initialized empty Git repository in .git/
 ----------------
 
-which is just git's way of saying that you haven't been doing anything
+which is just Git's way of saying that you haven't been doing anything
 strange, and that it will have created a local `.git` directory setup for
 your new project. You will now have a `.git` directory, and you can
 inspect that with 'ls'. For your new empty project, it should show you
@@ -102,7 +102,7 @@
 
 However, this is only a convention, and you can name your branches
 anything you want, and don't have to ever even 'have' a `master`
-branch. A number of the git tools will assume that `.git/HEAD` is
+branch. A number of the Git tools will assume that `.git/HEAD` is
 valid, though.
 
 [NOTE]
@@ -119,18 +119,18 @@
 An advanced user may want to take a look at linkgit:gitrepository-layout[5]
 after finishing this tutorial.
 
-You have now created your first git repository. Of course, since it's
+You have now created your first Git repository. Of course, since it's
 empty, that's not very useful, so let's start populating it with data.
 
 
-Populating a git repository
+Populating a Git repository
 ---------------------------
 
 We'll keep this simple and stupid, so we'll start off with populating a
 few trivial files just to get a feel for it.
 
 Start off with just creating any random files that you want to maintain
-in your git repository. We'll start off with a few bad examples, just to
+in your Git repository. We'll start off with a few bad examples, just to
 get a feel for how this works:
 
 ------------------------------------------------
@@ -146,7 +146,7 @@
 
  - commit that index file as an object.
 
-The first step is trivial: when you want to tell git about any changes
+The first step is trivial: when you want to tell Git about any changes
 to your working tree, you use the 'git update-index' program. That
 program normally just takes a list of filenames you want to update, but
 to avoid trivial mistakes, it refuses to add new entries to the index
@@ -160,10 +160,10 @@
 $ git update-index --add hello example
 ------------------------------------------------
 
-and you have now told git to track those two files.
+and you have now told Git to track those two files.
 
 In fact, as you did that, if you now look into your object directory,
-you'll notice that git will have added two new objects to the object
+you'll notice that Git will have added two new objects to the object
 database. If you did exactly the steps above, you should now be able to do
 
 
@@ -189,7 +189,7 @@
 ----------------
 
 where the `-t` tells 'git cat-file' to tell you what the "type" of the
-object is. git will tell you that you have a "blob" object (i.e., just a
+object is. Git will tell you that you have a "blob" object (i.e., just a
 regular file), and you can see the contents with
 
 ----------------
@@ -214,28 +214,28 @@
 look at the objects themselves, and typing long 40-character hex
 names is not something you'd normally want to do. The above digression
 was just to show that 'git update-index' did something magical, and
-actually saved away the contents of your files into the git object
+actually saved away the contents of your files into the Git object
 database.
 
 Updating the index did something else too: it created a `.git/index`
 file. This is the index that describes your current working tree, and
 something you should be very aware of. Again, you normally never worry
 about the index file itself, but you should be aware of the fact that
-you have not actually really "checked in" your files into git so far,
-you've only *told* git about them.
+you have not actually really "checked in" your files into Git so far,
+you've only *told* Git about them.
 
-However, since git knows about them, you can now start using some of the
-most basic git commands to manipulate the files or look at their status.
+However, since Git knows about them, you can now start using some of the
+most basic Git commands to manipulate the files or look at their status.
 
-In particular, let's not even check in the two files into git yet, we'll
+In particular, let's not even check in the two files into Git yet, we'll
 start off by adding another line to `hello` first:
 
 ------------------------------------------------
 $ echo "It's a new day for git" >>hello
 ------------------------------------------------
 
-and you can now, since you told git about the previous state of `hello`, ask
-git what has changed in the tree compared to your old index, using the
+and you can now, since you told Git about the previous state of `hello`, ask
+Git what has changed in the tree compared to your old index, using the
 'git diff-files' command:
 
 ------------
@@ -282,11 +282,11 @@
 ------------
 
 
-Committing git state
+Committing Git state
 --------------------
 
-Now, we want to go to the next stage in git, which is to take the files
-that git knows about in the index, and commit them as a real tree. We do
+Now, we want to go to the next stage in Git, which is to take the files
+that Git knows about in the index, and commit them as a real tree. We do
 that in two phases: creating a 'tree' object, and committing that 'tree'
 object as a 'commit' object together with an explanation of what the
 tree was all about, along with information of how we came to that state.
@@ -296,7 +296,7 @@
 current index state, and write an object that describes that whole
 index. In other words, we're now tying together all the different
 filenames with their contents (and their permissions), and we're
-creating the equivalent of a git "directory" object:
+creating the equivalent of a Git "directory" object:
 
 ------------------------------------------------
 $ git write-tree
@@ -415,9 +415,9 @@
 flag really only determines whether the file *contents* to be compared
 come from the working tree or not.
 
-This is not hard to understand, as soon as you realize that git simply
+This is not hard to understand, as soon as you realize that Git simply
 never knows (or cares) about files that it is not told about
-explicitly. git will never go *looking* for files to compare, it
+explicitly. Git will never go *looking* for files to compare, it
 expects you to tell it what the files are, and that's what the index
 is there for.
 ================
@@ -433,7 +433,7 @@
 $ git update-index hello
 ------------------------------------------------
 
-(note how we didn't need the `--add` flag this time, since git knew
+(note how we didn't need the `--add` flag this time, since Git knew
 about the file already).
 
 Note what happens to the different 'git diff-{asterisk}' versions here.
@@ -464,7 +464,7 @@
 can just leave an empty message. Otherwise `git commit` will commit
 the change for you.
 
-You've now made your first real git commit. And if you're interested in
+You've now made your first real Git commit. And if you're interested in
 looking at what `git commit` really does, feel free to investigate:
 it's a few very simple shell scripts to generate the helpful (?) commit
 message headers, and a few one-liners that actually do the
@@ -535,7 +535,7 @@
 In fact, together with the 'git rev-list' program (which generates a
 list of revisions), 'git diff-tree' ends up being a veritable fount of
 changes. A trivial (but very useful) script called 'git whatchanged' is
-included with git which does exactly this, and shows a log of recent
+included with Git which does exactly this, and shows a log of recent
 activities.
 
 To see the whole history of our pitiful little git-tutorial project, you
@@ -563,19 +563,19 @@
 can still show it for each command just adding the `--root` option,
 which is a flag for 'git diff-tree' accepted by both commands.
 
-With that, you should now be having some inkling of what git does, and
+With that, you should now be having some inkling of what Git does, and
 can explore on your own.
 
 [NOTE]
 Most likely, you are not directly using the core
-git Plumbing commands, but using Porcelain such as 'git add', `git-rm'
+Git Plumbing commands, but using Porcelain such as 'git add', `git-rm'
 and `git-commit'.
 
 
 Tagging a version
 -----------------
 
-In git, there are two kinds of tags, a "light" one, and an "annotated tag".
+In Git, there are two kinds of tags, a "light" one, and an "annotated tag".
 
 A "light" tag is technically nothing more than a branch, except we put
 it in the `.git/refs/tags/` subdirectory instead of calling it a `head`.
@@ -598,7 +598,7 @@
 stuff, you can use your tag as an "anchor-point" to see what has changed
 since you tagged it.
 
-An "annotated tag" is actually a real git object, and contains not only a
+An "annotated tag" is actually a real Git object, and contains not only a
 pointer to the state you want to tag, but also a small tag name and
 message, along with optionally a PGP signature that says that yes,
 you really did
@@ -623,17 +623,17 @@
 Copying repositories
 --------------------
 
-git repositories are normally totally self-sufficient and relocatable.
+Git repositories are normally totally self-sufficient and relocatable.
 Unlike CVS, for example, there is no separate notion of
-"repository" and "working tree". A git repository normally *is* the
-working tree, with the local git information hidden in the `.git`
+"repository" and "working tree". A Git repository normally *is* the
+working tree, with the local Git information hidden in the `.git`
 subdirectory. There is nothing else. What you see is what you got.
 
 [NOTE]
-You can tell git to split the git internal information from
+You can tell Git to split the Git internal information from
 the directory that it tracks, but we'll ignore that for now: it's not
 how normal projects work, and it's really only meant for special uses.
-So the mental model of "the git information is always tied directly to
+So the mental model of "the Git information is always tied directly to
 the working tree that it describes" may not be technically 100%
 accurate, but it's a good model for all normal use.
 
@@ -649,13 +649,13 @@
 and it will be gone. There's no external repository, and there's no
 history outside the project you created.
 
- - if you want to move or duplicate a git repository, you can do so. There
+ - if you want to move or duplicate a Git repository, you can do so. There
    is 'git clone' command, but if all you want to do is just to
    create a copy of your repository (with all the full history that
    went along with it), you can do so with a regular
    `cp -a git-tutorial new-git-tutorial`.
 +
-Note that when you've moved or copied a git repository, your git index
+Note that when you've moved or copied a Git repository, your Git index
 file (which caches various information, notably some of the "stat"
 information for the files involved) will likely need to be refreshed.
 So after you do a `cp -a` to create a new copy, you'll want to do
@@ -667,7 +667,7 @@
 in the new repository to make sure that the index file is up-to-date.
 
 Note that the second point is true even across machines. You can
-duplicate a remote git repository with *any* regular copy mechanism, be it
+duplicate a remote Git repository with *any* regular copy mechanism, be it
 'scp', 'rsync' or 'wget'.
 
 When copying a remote repository, you'll want to at a minimum update the
@@ -694,23 +694,23 @@
 $ git reset
 ----------------
 
-and in fact a lot of the common git command combinations can be scripted
+and in fact a lot of the common Git command combinations can be scripted
 with the `git xyz` interfaces.  You can learn things by just looking
 at what the various git scripts do.  For example, `git reset` used to be
 the above two lines implemented in 'git reset', but some things like
 'git status' and 'git commit' are slightly more complex scripts around
-the basic git commands.
+the basic Git commands.
 
 Many (most?) public remote repositories will not contain any of
 the checked out files or even an index file, and will *only* contain the
-actual core git files. Such a repository usually doesn't even have the
-`.git` subdirectory, but has all the git files directly in the
+actual core Git files. Such a repository usually doesn't even have the
+`.git` subdirectory, but has all the Git files directly in the
 repository.
 
-To create your own local live copy of such a "raw" git repository, you'd
+To create your own local live copy of such a "raw" Git repository, you'd
 first create your own subdirectory for the project, and then copy the
 raw repository contents into the `.git` directory. For example, to
-create your own copy of the git repository, you'd do the following
+create your own copy of the Git repository, you'd do the following
 
 ----------------
 $ mkdir my-git
@@ -725,7 +725,7 @@
 ----------------
 
 to populate the index. However, now you have populated the index, and
-you have all the git internal files, but you will notice that you don't
+you have all the Git internal files, but you will notice that you don't
 actually have any of the working tree files to work on. To get
 those, you'd check them out with
 
@@ -757,7 +757,7 @@
 Creating a new branch
 ---------------------
 
-Branches in git are really nothing more than pointers into the git
+Branches in Git are really nothing more than pointers into the Git
 object database from within the `.git/refs/` subdirectory, and as we
 already discussed, the `HEAD` branch is nothing but a symlink to one of
 these object pointers.
@@ -849,7 +849,7 @@
 Here, we just added another line to `hello`, and we used a shorthand for
 doing both `git update-index hello` and `git commit` by just giving the
 filename directly to `git commit`, with an `-i` flag (it tells
-git to 'include' that file in addition to what you have done to
+Git to 'include' that file in addition to what you have done to
 the index file so far when making the commit).  The `-m` flag is to give the
 commit log message from the command line.
 
@@ -900,7 +900,7 @@
 the merge can be resolved automatically.
 
 Now, in this case we've intentionally created a situation where the
-merge will need to be fixed up by hand, though, so git will do as much
+merge will need to be fixed up by hand, though, so Git will do as much
 of it as it can automatically (which in this case is just merge the `example`
 file, which had no differences in the `mybranch` branch), and say:
 
@@ -939,7 +939,7 @@
 history looks like. Notice that `mybranch` still exists, and you can
 switch to it, and continue to work with it if you want to. The
 `mybranch` branch will not contain the merge, but next time you merge it
-from the `master` branch, git will know how you merged it, so you'll not
+from the `master` branch, Git will know how you merged it, so you'll not
 have to do _that_ merge again.
 
 Another useful tool, especially if you do not always work in X-Window
@@ -1028,7 +1028,7 @@
 ---------------------
 
 It's usually much more common that you merge with somebody else than
-merging with your own branches, so it's worth pointing out that git
+merging with your own branches, so it's worth pointing out that Git
 makes that very easy too, and in fact, it's not that different from
 doing a 'git merge'. In fact, a remote merge ends up being nothing
 more than "fetch the work from a remote repository into a temporary tag"
@@ -1068,7 +1068,7 @@
 remote machine.  It finds out the set of objects the other side
 lacks by exchanging the head commits both ends have and
 transfers (close to) minimum set of objects.  It is by far the
-most efficient way to exchange git objects between repositories.
+most efficient way to exchange Git objects between repositories.
 
 Local directory::
 	`/path/to/repo.git/`
@@ -1077,7 +1077,7 @@
 both ends on the local machine instead of running other end on
 the remote machine via 'ssh'.
 
-git Native::
+Git Native::
 	`git://remote.machine/path/to/repo.git/`
 +
 This transport was designed for anonymous downloading.  Like SSH
@@ -1099,8 +1099,8 @@
 sometimes also called 'commit walkers'.
 +
 The 'commit walkers' are sometimes also called 'dumb
-transports', because they do not require any git aware smart
-server like git Native transport does.  Any stock HTTP server
+transports', because they do not require any Git aware smart
+server like Git Native transport does.  Any stock HTTP server
 that does not even support directory index would suffice.  But
 you must prepare your repository with 'git update-server-info'
 to help dumb transport downloaders.
@@ -1321,7 +1321,7 @@
 
 [NOTE]
 This public repository could further be mirrored, and that is
-how git repositories at `kernel.org` are managed.
+how Git repositories at `kernel.org` are managed.
 
 Publishing the changes from your local (private) repository to
 your remote (public) repository requires a write privilege on
@@ -1340,7 +1340,7 @@
 on the remote machine. The communication between the two over
 the network internally uses an SSH connection.
 
-Your private repository's git directory is usually `.git`, but
+Your private repository's Git directory is usually `.git`, but
 your public repository is often named after the project name,
 i.e. `<project>.git`. Let's create such a public repository for
 project `my-git`. After logging into the remote machine, create
@@ -1350,7 +1350,7 @@
 $ mkdir my-git.git
 ------------
 
-Then, make that directory into a git repository by running
+Then, make that directory into a Git repository by running
 'git init', but this time, since its name is not the usual
 `.git`, we do things slightly differently:
 
@@ -1389,7 +1389,7 @@
 branch head (i.e. `master` in this case) and objects reachable
 from them in your current repository.
 
-As a real example, this is how I update my public git
+As a real example, this is how I update my public Git
 repository. Kernel.org mirror network takes care of the
 propagation to other publicly visible machines:
 
@@ -1402,9 +1402,9 @@
 -----------------------
 
 Earlier, we saw that one file under `.git/objects/??/` directory
-is stored for each git object you create. This representation
+is stored for each Git object you create. This representation
 is efficient to create atomically and safely, but
-not so convenient to transport over the network. Since git objects are
+not so convenient to transport over the network. Since Git objects are
 immutable once they are created, there is a way to optimize the
 storage by "packing them together". The command
 
@@ -1472,14 +1472,14 @@
 Working with Others
 -------------------
 
-Although git is a truly distributed system, it is often
+Although Git is a truly distributed system, it is often
 convenient to organize your project with an informal hierarchy
 of developers. Linux kernel development is run this way. There
 is a nice illustration (page 17, "Merges to Mainline") in
 link:http://www.xenotime.net/linux/mentor/linux-mentoring-2006.pdf[Randy Dunlap's presentation].
 
 It should be stressed that this hierarchy is purely *informal*.
-There is nothing fundamental in git that enforces the "chain of
+There is nothing fundamental in Git that enforces the "chain of
 patch flow" this hierarchy implies. You do not have to pull
 from only one remote repository.
 
@@ -1592,7 +1592,7 @@
 
 If you are coming from CVS background, the style of cooperation
 suggested in the previous section may be new to you. You do not
-have to worry. git supports "shared public repository" style of
+have to worry. Git supports "shared public repository" style of
 cooperation you are probably more familiar with as well.
 
 See linkgit:gitcvs-migration[7] for the details.
@@ -1602,7 +1602,7 @@
 
 It is likely that you will be working on more than one thing at
 a time.  It is easy to manage those more-or-less independent tasks
-using branches with git.
+using branches with Git.
 
 We have already seen how branches work previously,
 with "fun and work" example using two branches.  The idea is the
diff --git a/Documentation/gitcredentials.txt b/Documentation/gitcredentials.txt
index 7dfffc0..47576be 100644
--- a/Documentation/gitcredentials.txt
+++ b/Documentation/gitcredentials.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-gitcredentials - providing usernames and passwords to git
+gitcredentials - providing usernames and passwords to Git
 
 SYNOPSIS
 --------
@@ -18,13 +18,13 @@
 Git will sometimes need credentials from the user in order to perform
 operations; for example, it may need to ask for a username and password
 in order to access a remote repository over HTTP. This manual describes
-the mechanisms git uses to request these credentials, as well as some
+the mechanisms Git uses to request these credentials, as well as some
 features to avoid inputting these credentials repeatedly.
 
 REQUESTING CREDENTIALS
 ----------------------
 
-Without any credential helpers defined, git will try the following
+Without any credential helpers defined, Git will try the following
 strategies to ask the user for usernames and passwords:
 
 1. If the `GIT_ASKPASS` environment variable is set, the program
@@ -59,7 +59,7 @@
 	username = me
 ---------------------------------------
 
-Credential helpers, on the other hand, are external programs from which git can
+Credential helpers, on the other hand, are external programs from which Git can
 request both usernames and passwords; they typically interface with secure
 storage provided by the OS or other programs.
 
@@ -79,7 +79,7 @@
 You may also have third-party helpers installed; search for
 `credential-*` in the output of `git help -a`, and consult the
 documentation of individual helpers.  Once you have selected a helper,
-you can tell git to use it by putting its name into the
+you can tell Git to use it by putting its name into the
 credential.helper variable.
 
 1. Find a helper.
@@ -95,7 +95,7 @@
 $ git help credential-foo
 -------------------------------------------
 
-3. Tell git to use it.
+3. Tell Git to use it.
 +
 -------------------------------------------
 $ git config --global credential.helper foo
@@ -103,7 +103,7 @@
 
 If there are multiple instances of the `credential.helper` configuration
 variable, each helper will be tried in turn, and may provide a username,
-password, or nothing. Once git has acquired both a username and a
+password, or nothing. Once Git has acquired both a username and a
 password, no more helpers will be tried.
 
 
@@ -114,7 +114,7 @@
 is used to look up context-specific configuration, and is passed to any
 helpers, which may use it as an index into secure storage.
 
-For instance, imagine we are accessing `https://example.com/foo.git`. When git
+For instance, imagine we are accessing `https://example.com/foo.git`. When Git
 looks into a config file to see if a section matches this context, it will
 consider the two a match if the context is a more-specific subset of the
 pattern in the config file. For example, if you have this in your config file:
@@ -133,10 +133,10 @@
 	username = foo
 --------------------------------------
 
-because the hostnames differ. Nor would it match `foo.example.com`; git
+because the hostnames differ. Nor would it match `foo.example.com`; Git
 compares hostnames exactly, without considering whether two hosts are part of
 the same domain. Likewise, a config entry for `http://example.com` would not
-match: git compares the protocols exactly.
+match: Git compares the protocols exactly.
 
 
 CONFIGURATION OPTIONS
@@ -164,7 +164,7 @@
 
 useHttpPath::
 
-	By default, git does not consider the "path" component of an http URL
+	By default, Git does not consider the "path" component of an http URL
 	to be worth matching via external helpers. This means that a credential
 	stored for `https://example.com/foo.git` will also be used for
 	`https://example.com/bar.git`. If you do want to distinguish these
@@ -175,7 +175,7 @@
 --------------
 
 You can write your own custom helpers to interface with any system in
-which you keep credentials. See the documentation for git's
+which you keep credentials. See the documentation for Git's
 link:technical/api-credentials.html[credentials API] for details.
 
 GIT
diff --git a/Documentation/gitcvs-migration.txt b/Documentation/gitcvs-migration.txt
index aeb0cdc..5ab5b07 100644
--- a/Documentation/gitcvs-migration.txt
+++ b/Documentation/gitcvs-migration.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-gitcvs-migration - git for CVS users
+gitcvs-migration - Git for CVS users
 
 SYNOPSIS
 --------
@@ -19,7 +19,7 @@
 designating a single shared repository which people can synchronize with;
 this document explains how to do that.
 
-Some basic familiarity with git is required. Having gone through
+Some basic familiarity with Git is required. Having gone through
 linkgit:gittutorial[7] and
 linkgit:gitglossary[7] should be sufficient.
 
@@ -81,7 +81,7 @@
 Setting Up a Shared Repository
 ------------------------------
 
-We assume you have already created a git repository for your project,
+We assume you have already created a Git repository for your project,
 possibly created from scratch or from a tarball (see
 linkgit:gittutorial[7]), or imported from an already existing CVS
 repository (see the next section).
@@ -101,7 +101,7 @@
 easy way to do this is to give all the team members ssh access to the
 machine where the repository is hosted.  If you don't want to give them a
 full shell on the machine, there is a restricted shell which only allows
-users to do git pushes and pulls; see linkgit:git-shell[1].
+users to do Git pushes and pulls; see linkgit:git-shell[1].
 
 Put all the committers in the same group, and make the repository
 writable by that group:
@@ -125,7 +125,7 @@
 $ git cvsimport -C <destination> <module>
 -------------------------------------------
 
-This puts a git archive of the named CVS module in the directory
+This puts a Git archive of the named CVS module in the directory
 <destination>, which will be created if necessary.
 
 The import checks out from CVS every revision of every file.  Reportedly
@@ -133,8 +133,8 @@
 medium-sized project this should not take more than a couple of minutes.
 Larger projects or remote repositories may take longer.
 
-The main trunk is stored in the git branch named `origin`, and additional
-CVS branches are stored in git branches with the same names.  The most
+The main trunk is stored in the Git branch named `origin`, and additional
+CVS branches are stored in Git branches with the same names.  The most
 recent version of the main trunk is also left checked out on the `master`
 branch, so you can start adding your own changes right away.
 
@@ -160,10 +160,10 @@
 link:howto/update-hook-example.txt[Controlling access to branches using
 update hooks].
 
-Providing CVS Access to a git Repository
+Providing CVS Access to a Git Repository
 ----------------------------------------
 
-It is also possible to provide true CVS access to a git repository, so
+It is also possible to provide true CVS access to a Git repository, so
 that developers can still use CVS; see linkgit:git-cvsserver[1] for
 details.
 
@@ -171,8 +171,8 @@
 ------------------------------
 
 CVS users are accustomed to giving a group of developers commit access to
-a common repository.  As we've seen, this is also possible with git.
-However, the distributed nature of git allows other development models,
+a common repository.  As we've seen, this is also possible with Git.
+However, the distributed nature of Git allows other development models,
 and you may want to first consider whether one of them might be a better
 fit for your project.
 
diff --git a/Documentation/gitdiffcore.txt b/Documentation/gitdiffcore.txt
index daf1782..4ed71c7 100644
--- a/Documentation/gitdiffcore.txt
+++ b/Documentation/gitdiffcore.txt
@@ -254,7 +254,7 @@
 in the file are output before ones that match a later line, and
 filepairs that do not match any glob pattern are output last.
 
-As an example, a typical orderfile for the core git probably
+As an example, a typical orderfile for the core Git probably
 would look like this:
 
 ------------------------------------------------
diff --git a/Documentation/gitglossary.txt b/Documentation/gitglossary.txt
index 6d7b195..e52de7d 100644
--- a/Documentation/gitglossary.txt
+++ b/Documentation/gitglossary.txt
@@ -19,7 +19,7 @@
 linkgit:gittutorial[7],
 linkgit:gittutorial-2[7],
 linkgit:gitcvs-migration[7],
-link:everyday.html[Everyday git],
+link:everyday.html[Everyday Git],
 link:user-manual.html[The Git User's Manual]
 
 GIT
diff --git a/Documentation/githooks.txt b/Documentation/githooks.txt
index b9003fe..26babb3 100644
--- a/Documentation/githooks.txt
+++ b/Documentation/githooks.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-githooks - Hooks used by git
+githooks - Hooks used by Git
 
 SYNOPSIS
 --------
@@ -108,7 +108,7 @@
 means a failure of the hook and aborts the commit.  It should not
 be used as replacement for pre-commit hook.
 
-The sample `prepare-commit-msg` hook that comes with git comments
+The sample `prepare-commit-msg` hook that comes with Git comments
 out the `Conflicts:` part of a merge's commit message.
 
 commit-msg
@@ -275,7 +275,7 @@
 
 The default 'post-receive' hook is empty, but there is
 a sample script `post-receive-email` provided in the `contrib/hooks`
-directory in git distribution, which implements sending commit
+directory in Git distribution, which implements sending commit
 emails.
 
 [[post-update]]
@@ -303,7 +303,7 @@
 When enabled, the default 'post-update' hook runs
 'git update-server-info' to keep the information used by dumb
 transports (e.g., HTTP) up-to-date.  If you are publishing
-a git repository that is accessible via HTTP, you should
+a Git repository that is accessible via HTTP, you should
 probably enable this hook.
 
 Both standard output and standard error output are forwarded to
diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.txt
index 91a6438..bc7a046 100644
--- a/Documentation/gitignore.txt
+++ b/Documentation/gitignore.txt
@@ -13,12 +13,12 @@
 -----------
 
 A `gitignore` file specifies intentionally untracked files that
-git should ignore.
-Files already tracked by git are not affected; see the NOTES
+Git should ignore.
+Files already tracked by Git are not affected; see the NOTES
 below for details.
 
 Each line in a `gitignore` file specifies a pattern.
-When deciding whether to ignore a path, git normally checks
+When deciding whether to ignore a path, Git normally checks
 `gitignore` patterns from multiple sources, with the following
 order of precedence, from highest to lowest (within one level of
 precedence, the last matching pattern decides the outcome):
@@ -53,17 +53,17 @@
    the repository but are specific to one user's workflow) should go into
    the `$GIT_DIR/info/exclude` file.
 
- * Patterns which a user wants git to
+ * Patterns which a user wants Git to
    ignore in all situations (e.g., backup or temporary files generated by
    the user's editor of choice) generally go into a file specified by
    `core.excludesfile` in the user's `~/.gitconfig`. Its default value is
    $XDG_CONFIG_HOME/git/ignore. If $XDG_CONFIG_HOME is either not set or
    empty, $HOME/.config/git/ignore is used instead.
 
-The underlying git plumbing tools, such as
+The underlying Git plumbing tools, such as
 'git ls-files' and 'git read-tree', read
 `gitignore` patterns specified by command-line options, or from
-files specified by command-line options.  Higher-level git
+files specified by command-line options.  Higher-level Git
 tools, such as 'git status' and 'git add',
 use patterns from the sources specified above.
 
@@ -89,15 +89,15 @@
    a match with a directory.  In other words, `foo/` will match a
    directory `foo` and paths underneath it, but will not match a
    regular file or a symbolic link `foo` (this is consistent
-   with the way how pathspec works in general in git).
+   with the way how pathspec works in general in Git).
 
- - If the pattern does not contain a slash '/', git treats it as
+ - If the pattern does not contain a slash '/', Git treats it as
    a shell glob pattern and checks for a match against the
    pathname relative to the location of the `.gitignore` file
    (relative to the toplevel of the work tree if not from a
    `.gitignore` file).
 
- - Otherwise, git treats the pattern as a shell glob suitable
+ - Otherwise, Git treats the pattern as a shell glob suitable
    for consumption by fnmatch(3) with the FNM_PATHNAME flag:
    wildcards in the pattern will not match a / in the pathname.
    For example, "Documentation/{asterisk}.html" matches
@@ -131,7 +131,7 @@
 -----
 
 The purpose of gitignore files is to ensure that certain files
-not tracked by git remain untracked.
+not tracked by Git remain untracked.
 
 To ignore uncommitted changes in a file that is already tracked,
 use 'git update-index {litdd}assume-unchanged'.
@@ -179,7 +179,7 @@
     $ echo '!/vmlinux*' >arch/foo/kernel/.gitignore
 --------------------------------------------------------------
 
-The second .gitignore prevents git from ignoring
+The second .gitignore prevents Git from ignoring
 `arch/foo/kernel/vmlinux.lds.S`.
 
 SEE ALSO
diff --git a/Documentation/gitk.txt b/Documentation/gitk.txt
index a17a354..c17e760 100644
--- a/Documentation/gitk.txt
+++ b/Documentation/gitk.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-gitk - The git repository browser
+gitk - The Git repository browser
 
 SYNOPSIS
 --------
@@ -18,7 +18,7 @@
 
 Historically, gitk was the first repository browser. It's written in tcl/tk
 and started off in a separate repository but was later merged into the main
-git repository.
+Git repository.
 
 OPTIONS
 -------
@@ -108,10 +108,10 @@
 
 'gitview(1)'::
 	A repository browser written in Python using Gtk. It's based on
-	'bzrk(1)' and distributed in the contrib area of the git repository.
+	'bzrk(1)' and distributed in the contrib area of the Git repository.
 
 'tig(1)'::
-	A minimal repository browser and git tool output highlighter written
+	A minimal repository browser and Git tool output highlighter written
 	in C using Ncurses.
 
 GIT
diff --git a/Documentation/gitmodules.txt b/Documentation/gitmodules.txt
index 52d7ae4..6a1ca4a 100644
--- a/Documentation/gitmodules.txt
+++ b/Documentation/gitmodules.txt
@@ -13,7 +13,7 @@
 DESCRIPTION
 -----------
 
-The `.gitmodules` file, located in the top-level directory of a git
+The `.gitmodules` file, located in the top-level directory of a Git
 working tree, is a text file with a syntax matching the requirements
 of linkgit:git-config[1].
 
@@ -24,7 +24,7 @@
 following required keys:
 
 submodule.<name>.path::
-	Defines the path, relative to the top-level directory of the git
+	Defines the path, relative to the top-level directory of the Git
 	working tree, where the submodule is expected to be checked out.
 	The path name must not end with a `/`. All submodule paths must
 	be unique within the .gitmodules file.
diff --git a/Documentation/gitnamespaces.txt b/Documentation/gitnamespaces.txt
index c6713cf..7685e36 100644
--- a/Documentation/gitnamespaces.txt
+++ b/Documentation/gitnamespaces.txt
@@ -29,7 +29,7 @@
 without ongoing maintenance, while namespaces do.
 
 To specify a namespace, set the `GIT_NAMESPACE` environment variable to
-the namespace.  For each ref namespace, git stores the corresponding
+the namespace.  For each ref namespace, Git stores the corresponding
 refs in a directory under `refs/namespaces/`.  For example,
 `GIT_NAMESPACE=foo` will store refs under `refs/namespaces/foo/`.  You
 can also specify namespaces via the `--namespace` option to
diff --git a/Documentation/gitrepository-layout.txt b/Documentation/gitrepository-layout.txt
index 9f62886..5f8d545 100644
--- a/Documentation/gitrepository-layout.txt
+++ b/Documentation/gitrepository-layout.txt
@@ -12,12 +12,12 @@
 DESCRIPTION
 -----------
 
-You may find these things in your git repository (`.git`
+You may find these things in your Git repository (`.git`
 directory for a repository associated with your working tree, or
 `<project>.git` directory for a public 'bare' repository. It is
 also possible to have a working tree where `.git` is a plain
 ASCII file containing `gitdir: <path>`, i.e. the path to the
-real git repository).
+real Git repository).
 
 objects::
 	Object store associated with this repository.  Usually
@@ -108,7 +108,7 @@
 	A symref (see glossary) to the `refs/heads/` namespace
 	describing the currently active branch.  It does not mean
 	much if the repository is not associated with any working tree
-	(i.e. a 'bare' repository), but a valid git repository
+	(i.e. a 'bare' repository), but a valid Git repository
 	*must* have the HEAD file; some porcelains may use it to
 	guess the designated "default" branch of the repository
 	(usually 'master').  It is legal if the named branch
@@ -131,7 +131,7 @@
 	and not likely to be found in modern repositories.
 
 hooks::
-	Hooks are customization scripts used by various git
+	Hooks are customization scripts used by various Git
 	commands.  A handful of sample hooks are installed when
 	'git init' is run, but all of them are disabled by
 	default.  To enable, the `.sample` suffix has to be
@@ -169,7 +169,7 @@
 	This file, by convention among Porcelains, stores the
 	exclude pattern list. `.gitignore` is the per-directory
 	ignore file.  'git status', 'git add', 'git rm' and
-	'git clean' look at it but the core git commands do not look
+	'git clean' look at it but the core Git commands do not look
 	at it.  See also: linkgit:gitignore[5].
 
 remotes::
diff --git a/Documentation/gitrevisions.txt b/Documentation/gitrevisions.txt
index fc4789f..c0ed6d1 100644
--- a/Documentation/gitrevisions.txt
+++ b/Documentation/gitrevisions.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-gitrevisions - specifying revisions and ranges for git
+gitrevisions - specifying revisions and ranges for Git
 
 SYNOPSIS
 --------
diff --git a/Documentation/gittutorial-2.txt b/Documentation/gittutorial-2.txt
index e00a4d2..94c906e 100644
--- a/Documentation/gittutorial-2.txt
+++ b/Documentation/gittutorial-2.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-gittutorial-2 - A tutorial introduction to git: part two
+gittutorial-2 - A tutorial introduction to Git: part two
 
 SYNOPSIS
 --------
@@ -16,11 +16,11 @@
 You should work through linkgit:gittutorial[7] before reading this tutorial.
 
 The goal of this tutorial is to introduce two fundamental pieces of
-git's architecture--the object database and the index file--and to
+Git's architecture--the object database and the index file--and to
 provide the reader with everything necessary to understand the rest
-of the git documentation.
+of the Git documentation.
 
-The git object database
+The Git object database
 -----------------------
 
 Let's start a new project and create a small amount of history:
@@ -42,14 +42,14 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 ------------------------------------------------
 
-What are the 7 digits of hex that git responded to the commit with?
+What are the 7 digits of hex that Git responded to the commit with?
 
 We saw in part one of the tutorial that commits have names like this.
-It turns out that every object in the git history is stored under
+It turns out that every object in the Git history is stored under
 a 40-digit hex name.  That name is the SHA1 hash of the object's
-contents; among other things, this ensures that git will never store
+contents; among other things, this ensures that Git will never store
 the same data twice (since identical data is given an identical SHA1
-name), and that the contents of a git object will never change (since
+name), and that the contents of a Git object will never change (since
 that would change the object's name as well). The 7 char hex strings
 here are simply the abbreviation of such 40 character long strings.
 Abbreviations can be used everywhere where the 40 character strings
@@ -60,7 +60,7 @@
 the one shown above because the commit object records the time when
 it was created and the name of the person performing the commit.
 
-We can ask git about this particular object with the `cat-file`
+We can ask Git about this particular object with the `cat-file`
 command. Don't copy the 40 hex digits from this example but use those
 from your own version. Note that you can shorten it to only a few
 characters to save yourself typing all 40 hex digits:
@@ -102,11 +102,11 @@
 hello world
 ------------------------------------------------
 
-Note that this is the old file data; so the object that git named in
+Note that this is the old file data; so the object that Git named in
 its response to the initial tree was a tree with a snapshot of the
 directory state that was recorded by the first commit.
 
-All of these objects are stored under their SHA1 names inside the git
+All of these objects are stored under their SHA1 names inside the Git
 directory:
 
 ------------------------------------------------
@@ -191,7 +191,7 @@
 is a "tag", which we won't discuss here; refer to linkgit:git-tag[1]
 for details.
 
-So now we know how git uses the object database to represent a
+So now we know how Git uses the object database to represent a
 project's history:
 
   * "commit" objects refer to "tree" objects representing the
@@ -403,21 +403,21 @@
 
 At this point you should know everything necessary to read the man
 pages for any of the git commands; one good place to start would be
-with the commands mentioned in link:everyday.html[Everyday git].  You
+with the commands mentioned in link:everyday.html[Everyday Git].  You
 should be able to find any unknown jargon in linkgit:gitglossary[7].
 
 The link:user-manual.html[Git User's Manual] provides a more
-comprehensive introduction to git.
+comprehensive introduction to Git.
 
 linkgit:gitcvs-migration[7] explains how to
-import a CVS repository into git, and shows how to use git in a
+import a CVS repository into Git, and shows how to use Git in a
 CVS-like way.
 
-For some interesting examples of git use, see the
+For some interesting examples of Git use, see the
 link:howto-index.html[howtos].
 
-For git developers, linkgit:gitcore-tutorial[7] goes
-into detail on the lower-level git mechanisms involved in, for
+For Git developers, linkgit:gitcore-tutorial[7] goes
+into detail on the lower-level Git mechanisms involved in, for
 example, creating a new commit.
 
 SEE ALSO
@@ -427,7 +427,7 @@
 linkgit:gitcore-tutorial[7],
 linkgit:gitglossary[7],
 linkgit:git-help[1],
-link:everyday.html[Everyday git],
+link:everyday.html[Everyday Git],
 link:user-manual.html[The Git User's Manual]
 
 GIT
diff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt
index 9dd45c4..8262196 100644
--- a/Documentation/gittutorial.txt
+++ b/Documentation/gittutorial.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-gittutorial - A tutorial introduction to git (for version 1.5.1 or newer)
+gittutorial - A tutorial introduction to Git (for version 1.5.1 or newer)
 
 SYNOPSIS
 --------
@@ -13,10 +13,10 @@
 DESCRIPTION
 -----------
 
-This tutorial explains how to import a new project into git, make
+This tutorial explains how to import a new project into Git, make
 changes to it, and share changes with other developers.
 
-If you are instead primarily interested in using git to fetch a project,
+If you are instead primarily interested in using Git to fetch a project,
 for example, to test the latest version, you may prefer to start with
 the first two chapters of link:user-manual.html[The Git User's Manual].
 
@@ -36,7 +36,7 @@
 With the latter, you can use the manual viewer of your choice; see
 linkgit:git-help[1] for more information.
 
-It is a good idea to introduce yourself to git with your name and
+It is a good idea to introduce yourself to Git with your name and
 public email address before doing any operation.  The easiest
 way to do so is:
 
@@ -50,7 +50,7 @@
 -----------------------
 
 Assume you have a tarball project.tar.gz with your initial work.  You
-can place it under git revision control as follows.
+can place it under Git revision control as follows.
 
 ------------------------------------------------
 $ tar xzf project.tar.gz
@@ -67,14 +67,14 @@
 You've now initialized the working directory--you may notice a new
 directory created, named ".git".
 
-Next, tell git to take a snapshot of the contents of all files under the
+Next, tell Git to take a snapshot of the contents of all files under the
 current directory (note the '.'), with 'git add':
 
 ------------------------------------------------
 $ git add .
 ------------------------------------------------
 
-This snapshot is now stored in a temporary staging area which git calls
+This snapshot is now stored in a temporary staging area which Git calls
 the "index".  You can permanently store the contents of the index in the
 repository with 'git commit':
 
@@ -83,7 +83,7 @@
 ------------------------------------------------
 
 This will prompt you for a commit message.  You've now stored the first
-version of your project in git.
+version of your project in Git.
 
 Making changes
 --------------
@@ -141,7 +141,7 @@
 line summarizing the change, followed by a blank line and then a more
 thorough description. The text up to the first blank line in a commit
 message is treated as the commit title, and that title is used
-throughout git.  For example, linkgit:git-format-patch[1] turns a
+throughout Git.  For example, linkgit:git-format-patch[1] turns a
 commit into email, and it uses the title on the Subject line and the
 rest of the commit in the body.
 
@@ -180,7 +180,7 @@
 Managing branches
 -----------------
 
-A single git repository can maintain multiple branches of
+A single Git repository can maintain multiple branches of
 development.  To create a new branch named "experimental", use
 
 ------------------------------------------------
@@ -276,10 +276,10 @@
 Branches are cheap and easy, so this is a good way to try something
 out.
 
-Using git for collaboration
+Using Git for collaboration
 ---------------------------
 
-Suppose that Alice has started a new project with a git repository in
+Suppose that Alice has started a new project with a Git repository in
 /home/alice/project, and that Bob, who has a home directory on the
 same machine, wants to contribute.
 
@@ -320,7 +320,7 @@
 initiating this "pull".  If Bob's work conflicts with what Alice did since
 their histories forked, Alice will use her working tree and the index to
 resolve conflicts, and existing local changes will interfere with the
-conflict resolution process (git will still perform the fetch but will
+conflict resolution process (Git will still perform the fetch but will
 refuse to merge --- Alice will have to get rid of her local changes in
 some way and pull again when this happens).
 
@@ -422,7 +422,7 @@
 -------------------------------------
 
 Note that he doesn't need to give the path to Alice's repository;
-when Bob cloned Alice's repository, git stored the location of her
+when Bob cloned Alice's repository, Git stored the location of her
 repository in the repository configuration, and that location is
 used for pulls:
 
@@ -450,7 +450,7 @@
 bob$ git clone alice.org:/home/alice/project myrepo
 -------------------------------------
 
-Alternatively, git has a native protocol, or can use rsync or http;
+Alternatively, Git has a native protocol, or can use rsync or http;
 see linkgit:git-pull[1] for details.
 
 Git can also be used in a CVS-like mode, with a central repository
@@ -518,7 +518,7 @@
 version), you should create a "tag" object, and perhaps sign it; see
 linkgit:git-tag[1] for details.
 
-Any git command that needs to know a commit can take any of these
+Any Git command that needs to know a commit can take any of these
 names.  For example:
 
 -------------------------------------
@@ -554,9 +554,9 @@
 $ git grep "hello"
 -------------------------------------
 
-is a quick way to search just the files that are tracked by git.
+is a quick way to search just the files that are tracked by Git.
 
-Many git commands also take sets of commits, which can be specified
+Many Git commands also take sets of commits, which can be specified
 in a number of ways.  Here are some examples with 'git log':
 
 -------------------------------------
@@ -592,7 +592,7 @@
 those commits is meaningless.
 
 Most projects with multiple contributors (such as the Linux kernel,
-or git itself) have frequent merges, and 'gitk' does a better job of
+or Git itself) have frequent merges, and 'gitk' does a better job of
 visualizing their history.  For example,
 
 -------------------------------------
@@ -623,7 +623,7 @@
 
 This tutorial should be enough to perform basic distributed revision
 control for your projects.  However, to fully understand the depth
-and power of git you need to understand two simple ideas on which it
+and power of Git you need to understand two simple ideas on which it
 is based:
 
   * The object database is the rather elegant system used to
@@ -636,7 +636,7 @@
 
 Part two of this tutorial explains the object
 database, the index file, and a few other odds and ends that you'll
-need to make the most of git. You can find it at linkgit:gittutorial-2[7].
+need to make the most of Git. You can find it at linkgit:gittutorial-2[7].
 
 If you don't want to continue with that right away, a few other
 digressions that may be interesting at this point are:
@@ -668,7 +668,7 @@
 linkgit:gitglossary[7],
 linkgit:git-help[1],
 linkgit:gitworkflows[7],
-link:everyday.html[Everyday git],
+link:everyday.html[Everyday Git],
 link:user-manual.html[The Git User's Manual]
 
 GIT
diff --git a/Documentation/gitweb.conf.txt b/Documentation/gitweb.conf.txt
index 4947455..eb63631 100644
--- a/Documentation/gitweb.conf.txt
+++ b/Documentation/gitweb.conf.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-gitweb.conf - Gitweb (git web interface) configuration file
+gitweb.conf - Gitweb (Git web interface) configuration file
 
 SYNOPSIS
 --------
@@ -79,7 +79,7 @@
 You can include other configuration file using read_config_file()
 subroutine.  For example, one might want to put gitweb configuration
 related to access control for viewing repositories via Gitolite (one
-of git repository management tools) in a separate file, e.g. in
+of Git repository management tools) in a separate file, e.g. in
 '/etc/gitweb-gitolite.conf'.  To include it, put
 
 --------------------------------------------------
@@ -111,7 +111,7 @@
 Location of repositories
 ~~~~~~~~~~~~~~~~~~~~~~~~
 The configuration variables described below control how gitweb finds
-git repositories, and how repositories are displayed and accessed.
+Git repositories, and how repositories are displayed and accessed.
 
 See also "Repositories" and later subsections in linkgit:gitweb[1] manpage.
 
@@ -159,7 +159,7 @@
 
 $project_maxdepth::
 	If `$projects_list` variable is unset, gitweb will recursively
-	scan filesystem for git repositories.  The `$project_maxdepth`
+	scan filesystem for Git repositories.  The `$project_maxdepth`
 	is used to limit traversing depth, relative to `$projectroot`
 	(starting point); it means that directories which are further
 	from `$projectroot` than `$project_maxdepth` will be skipped.
@@ -200,7 +200,7 @@
 +
 If not set (default), it means that this feature is disabled.
 +
-See also more involved example in "Controlling access to git repositories"
+See also more involved example in "Controlling access to Git repositories"
 subsection on linkgit:gitweb[1] manpage.
 
 $strict_export::
@@ -222,18 +222,18 @@
 
 $GIT::
 	Core git executable to use.  By default set to `$GIT_BINDIR/git`, which
-	in turn is by default set to `$(bindir)/git`.  If you use git installed
+	in turn is by default set to `$(bindir)/git`.  If you use Git installed
 	from a binary package, you should usually set this to "/usr/bin/git".
 	This can just be "git" if your web server has a sensible PATH; from
 	security point of view it is better to use absolute path to git binary.
-	If you have multiple git versions installed it can be used to choose
+	If you have multiple Git versions installed it can be used to choose
 	which one to use.  Must be (correctly) set for gitweb to be able to
 	work.
 
 $mimetypes_file::
 	File to use for (filename extension based) guessing of MIME types before
 	trying '/etc/mime.types'.  *NOTE* that this path, if relative, is taken
-	as relative to the current git repository, not to CGI script.  If unset,
+	as relative to the current Git repository, not to CGI script.  If unset,
 	only '/etc/mime.types' is used (if present on filesystem).  If no mimetypes
 	file is found, mimetype guessing based on extension of file is disabled.
 	Unset by default.
@@ -343,8 +343,8 @@
 $logo_label::
 	URI and label (title) for the Git logo link (or your site logo,
 	if you chose to use different logo image). By default, these both
-	refer to git homepage, http://git-scm.com[]; in the past, they pointed
-	to git documentation at http://www.kernel.org[].
+	refer to Git homepage, http://git-scm.com[]; in the past, they pointed
+	to Git documentation at http://www.kernel.org[].
 
 
 Changing gitweb's look
@@ -436,7 +436,7 @@
 	detection.
 +
 *Note* that rename and especially copy detection can be quite
-CPU-intensive.  Note also that non git tools can have problems with
+CPU-intensive.  Note also that non Git tools can have problems with
 patches generated with options mentioned above, especially when they
 involve file copies (\'-C') or criss-cross renames (\'-B').
 
@@ -451,7 +451,7 @@
 affects how "summary" pages look like, or load limiting).
 
 @git_base_url_list::
-	List of git base URLs.  These URLs are used to generate URLs
+	List of Git base URLs.  These URLs are used to generate URLs
 	describing from where to fetch a project, which are shown on
 	project summary page.  The full fetch URL is "`$git_base_url/$project`",
 	for each element of this list. You can set up multiple base URLs
@@ -616,7 +616,7 @@
 	(or enabled/disabled) on a per-repository basis.
 +
 Usually given "<feature>" is configurable via the `gitweb.<feature>`
-config variable in the per-repository git configuration file.
+config variable in the per-repository Git configuration file.
 +
 *Note* that no feature is overriddable by default.
 
@@ -782,7 +782,7 @@
 (\'hb' gitweb parameter); `%%` expands to \'%'.
 +
 For example, at the time this page was written, the http://repo.or.cz[]
-git hosting site set it to the following to enable graphical log
+Git hosting site set it to the following to enable graphical log
 (using the third party tool *git-browser*):
 +
 ----------------------------------------------------------------------
@@ -796,10 +796,10 @@
 Project specific override is not supported.
 
 timed::
-	Enable displaying how much time and how many git commands it took to
+	Enable displaying how much time and how many Git commands it took to
 	generate and display each page in the page footer (at the bottom of
 	page).  For example the footer might contain: "This page took 6.53325
-	seconds and 13 git commands to generate."  Disabled by default.
+	seconds and 13 Git commands to generate."  Disabled by default.
 +
 Project specific override is not supported.
 
diff --git a/Documentation/gitweb.txt b/Documentation/gitweb.txt
index d364c3a..40969f1 100644
--- a/Documentation/gitweb.txt
+++ b/Documentation/gitweb.txt
@@ -7,14 +7,14 @@
 
 SYNOPSIS
 --------
-To get started with gitweb, run linkgit:git-instaweb[1] from a git repository.
+To get started with gitweb, run linkgit:git-instaweb[1] from a Git repository.
 This would configure and start your web server, and run web browser pointing to
 gitweb.
 
 
 DESCRIPTION
 -----------
-Gitweb provides a web interface to git repositories.  Its features include:
+Gitweb provides a web interface to Git repositories.  Its features include:
 
 * Viewing multiple Git repositories with common root.
 * Browsing every revision of the repository.
@@ -54,9 +54,9 @@
 The default value for `$projectroot` is '/pub/git'.  You can change it during
 building gitweb via `GITWEB_PROJECTROOT` build configuration variable.
 
-By default all git repositories under `$projectroot` are visible and available
+By default all Git repositories under `$projectroot` are visible and available
 to gitweb.  The list of projects is generated by default by scanning the
-`$projectroot` directory for git repositories (for object databases to be
+`$projectroot` directory for Git repositories (for object databases to be
 more exact; gitweb is not interested in a working area, and is best suited
 to showing "bare" repositories).
 
@@ -111,7 +111,7 @@
 
 
 By default this file controls only which projects are *visible* on projects
-list page (note that entries that do not point to correctly recognized git
+list page (note that entries that do not point to correctly recognized Git
 repositories won't be displayed by gitweb).  Even if a project is not
 visible on projects list page, you can view it nevertheless by hand-crafting
 a gitweb URL.  By setting `$strict_export` configuration variable (see
@@ -151,9 +151,9 @@
 filename.
 
 
-Controlling access to git repositories
+Controlling access to Git repositories
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-By default all git repositories under `$projectroot` are visible and
+By default all Git repositories under `$projectroot` are visible and
 available to gitweb.  You can however configure how gitweb controls access
 to repositories.
 
@@ -206,7 +206,7 @@
 Per-repository gitweb configuration
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 You can configure individual repositories shown in gitweb by creating file
-in the 'GIT_DIR' of git repository, or by setting some repo configuration
+in the 'GIT_DIR' of Git repository, or by setting some repo configuration
 variable (in 'GIT_DIR/config', see linkgit:git-config[1]).
 
 You can use the following files in repository:
@@ -584,7 +584,7 @@
 referenced by `$per_request_config`;
 
 These configurations enable two things. First, each unix user (`<user>`) of
-the server will be able to browse through gitweb git repositories found in
+the server will be able to browse through gitweb Git repositories found in
 '~/public_git/' with the following url:
 
   http://git.example.org/~<user>/
@@ -673,7 +673,7 @@
 
   http://git.example.com/project.git
 
-will give raw access to the project's git dir (so that the project can be
+will give raw access to the project's Git dir (so that the project can be
 cloned), while
 
   http://git.example.com/project
diff --git a/Documentation/gitworkflows.txt b/Documentation/gitworkflows.txt
index e2e7d65..f16c414 100644
--- a/Documentation/gitworkflows.txt
+++ b/Documentation/gitworkflows.txt
@@ -3,7 +3,7 @@
 
 NAME
 ----
-gitworkflows - An overview of recommended workflows with git
+gitworkflows - An overview of recommended workflows with Git
 
 SYNOPSIS
 --------
@@ -245,7 +245,7 @@
 `git tag -s -m "Git X.Y.Z" vX.Y.Z master`
 =====================================
 
-You need to push the new tag to a public git server (see
+You need to push the new tag to a public Git server (see
 "DISTRIBUTED WORKFLOWS" below). This makes the tag available to
 others tracking your project. The push could also trigger a
 post-update hook to perform release-related items such as building
diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt
index 7c28aef..7c15bc0 100644
--- a/Documentation/glossary-content.txt
+++ b/Documentation/glossary-content.txt
@@ -7,7 +7,7 @@
 	A bare repository is normally an appropriately
 	named <<def_directory,directory>> with a `.git` suffix that does not
 	have a locally checked-out copy of any of the files under
-	revision control. That is, all of the `git`
+	revision control. That is, all of the Git
 	administrative and control files that would normally be present in the
 	hidden `.git` sub-directory are directly present in the
 	`repository.git` directory instead,
@@ -22,7 +22,7 @@
 	<<def_commit,commit>> on a branch is referred to as the tip of
 	that branch.  The tip of the branch is referenced by a branch
 	<<def_head,head>>, which moves forward as additional development
-	is done on the branch.  A single git
+	is done on the branch.  A single Git
 	<<def_repository,repository>> can track an arbitrary number of
 	branches, but your <<def_working_tree,working tree>> is
 	associated with just one of them (the "current" or "checked out"
@@ -37,9 +37,9 @@
 	<<def_commit,commit>> could be one of its <<def_parent,parents>>).
 
 [[def_changeset]]changeset::
-	BitKeeper/cvsps speak for "<<def_commit,commit>>". Since git does not
+	BitKeeper/cvsps speak for "<<def_commit,commit>>". Since Git does not
 	store changes, but states, it really does not make sense to use the term
-	"changesets" with git.
+	"changesets" with Git.
 
 [[def_checkout]]checkout::
 	The action of updating all or part of the
@@ -64,14 +64,14 @@
 
 [[def_commit]]commit::
 	As a noun: A single point in the
-	git history; the entire history of a project is represented as a
+	Git history; the entire history of a project is represented as a
 	set of interrelated commits.  The word "commit" is often
-	used by git in the same places other revision control systems
+	used by Git in the same places other revision control systems
 	use the words "revision" or "version".  Also used as a short
 	hand for <<def_commit_object,commit object>>.
 +
 As a verb: The action of storing a new snapshot of the project's
-state in the git history, by creating a new commit representing the current
+state in the Git history, by creating a new commit representing the current
 state of the <<def_index,index>> and advancing <<def_HEAD,HEAD>>
 to point at the new commit.
 
@@ -82,8 +82,8 @@
 	to the top <<def_directory,directory>> of the stored
 	revision.
 
-[[def_core_git]]core git::
-	Fundamental data structures and utilities of git. Exposes only limited
+[[def_core_git]]core Git::
+	Fundamental data structures and utilities of Git. Exposes only limited
 	source code management tools.
 
 [[def_DAG]]DAG::
@@ -100,7 +100,7 @@
 
 [[def_detached_HEAD]]detached HEAD::
 	Normally the <<def_HEAD,HEAD>> stores the name of a
-	<<def_branch,branch>>.  However, git also allows you to <<def_checkout,check out>>
+	<<def_branch,branch>>.  However, Git also allows you to <<def_checkout,check out>>
 	an arbitrary <<def_commit,commit>> that isn't necessarily the tip of any
 	particular branch.  In this case HEAD is said to be "detached".
 
@@ -142,22 +142,22 @@
 	and to get them, too.  See also linkgit:git-fetch[1].
 
 [[def_file_system]]file system::
-	Linus Torvalds originally designed git to be a user space file system,
+	Linus Torvalds originally designed Git to be a user space file system,
 	i.e. the infrastructure to hold files and directories. That ensured the
-	efficiency and speed of git.
+	efficiency and speed of Git.
 
-[[def_git_archive]]git archive::
+[[def_git_archive]]Git archive::
 	Synonym for <<def_repository,repository>> (for arch people).
 
 [[def_grafts]]grafts::
 	Grafts enables two otherwise different lines of development to be joined
 	together by recording fake ancestry information for commits. This way
-	you can make git pretend the set of <<def_parent,parents>> a <<def_commit,commit>> has
+	you can make Git pretend the set of <<def_parent,parents>> a <<def_commit,commit>> has
 	is different from what was recorded when the commit was
 	created. Configured via the `.git/info/grafts` file.
 
 [[def_hash]]hash::
-	In git's context, synonym to <<def_object_name,object name>>.
+	In Git's context, synonym to <<def_object_name,object name>>.
 
 [[def_head]]head::
 	A <<def_ref,named reference>> to the <<def_commit,commit>> at the tip of a
@@ -177,14 +177,14 @@
 	A synonym for <<def_head,head>>.
 
 [[def_hook]]hook::
-	During the normal execution of several git commands, call-outs are made
+	During the normal execution of several Git commands, call-outs are made
 	to optional scripts that allow a developer to add functionality or
 	checking. Typically, the hooks allow for a command to be pre-verified
 	and potentially aborted, and allow for a post-notification after the
 	operation is done. The hook scripts are found in the
 	`$GIT_DIR/hooks/` directory, and are enabled by simply
 	removing the `.sample` suffix from the filename. In earlier versions
-	of git you had to make them executable.
+	of Git you had to make them executable.
 
 [[def_index]]index::
 	A collection of files with stat information, whose contents are stored
@@ -201,7 +201,7 @@
 
 [[def_master]]master::
 	The default development <<def_branch,branch>>. Whenever you
-	create a git <<def_repository,repository>>, a branch named
+	create a Git <<def_repository,repository>>, a branch named
 	"master" is created, and becomes the active branch. In most
 	cases, this contains the local development, though that is
 	purely by convention and is not required.
@@ -228,7 +228,7 @@
 "merge".
 
 [[def_object]]object::
-	The unit of storage in git. It is uniquely identified by the
+	The unit of storage in Git. It is uniquely identified by the
 	<<def_SHA1,SHA1>> of its contents. Consequently, an
 	object can not be changed.
 
@@ -323,7 +323,7 @@
 +
 Currently only the slash `/` is recognized as the "magic signature",
 but it is envisioned that we will support more types of magic in later
-versions of git.
+versions of Git.
 +
 A pathspec with only a colon means "there is no pathspec". This form
 should not be combined with other pathspec.
@@ -341,12 +341,12 @@
 	particular line of text. See linkgit:git-diff[1].
 
 [[def_plumbing]]plumbing::
-	Cute name for <<def_core_git,core git>>.
+	Cute name for <<def_core_git,core Git>>.
 
 [[def_porcelain]]porcelain::
 	Cute name for programs and program suites depending on
-	<<def_core_git,core git>>, presenting a high level access to
-	core git. Porcelains expose more of a <<def_SCM,SCM>>
+	<<def_core_git,core Git>>, presenting a high level access to
+	core Git. Porcelains expose more of a <<def_SCM,SCM>>
 	interface than the <<def_plumbing,plumbing>>.
 
 [[def_pull]]pull::
@@ -406,7 +406,7 @@
 	linkgit:git-push[1].
 
 [[def_remote_tracking_branch]]remote-tracking branch::
-	A regular git <<def_branch,branch>> that is used to follow changes from
+	A regular Git <<def_branch,branch>> that is used to follow changes from
 	another <<def_repository,repository>>. A remote-tracking
 	branch should not contain direct modifications or have local commits
 	made to it. A remote-tracking branch can usually be
@@ -443,7 +443,7 @@
 [[def_shallow_repository]]shallow repository::
 	A shallow <<def_repository,repository>> has an incomplete
 	history some of whose <<def_commit,commits>> have <<def_parent,parents>> cauterized away (in other
-	words, git is told to pretend that these commits do not have the
+	words, Git is told to pretend that these commits do not have the
 	parents, even though they are recorded in the <<def_commit_object,commit
 	object>>). This is sometimes useful when you are interested only in the
 	recent history of a project even though the real history recorded in the
@@ -464,9 +464,9 @@
 	object of an arbitrary type (typically a tag points to either a
 	<<def_tag_object,tag>> or a <<def_commit_object,commit object>>).
 	In contrast to a <<def_head,head>>, a tag is not updated by
-	the `commit` command. A git tag has nothing to do with a Lisp
+	the `commit` command. A Git tag has nothing to do with a Lisp
 	tag (which would be called an <<def_object_type,object type>>
-	in git's context). A tag is most typically used to mark a particular
+	in Git's context). A tag is most typically used to mark a particular
 	point in the commit ancestry <<def_chain,chain>>.
 
 [[def_tag_object]]tag object::
@@ -476,7 +476,7 @@
 	signature, in which case it is called a "signed tag object".
 
 [[def_topic_branch]]topic branch::
-	A regular git <<def_branch,branch>> that is used by a developer to
+	A regular Git <<def_branch,branch>> that is used by a developer to
 	identify a conceptual line of development. Since branches are very easy
 	and inexpensive, it is often desirable to have several small branches
 	that each contain very well defined concepts or small incremental yet
diff --git a/Documentation/howto-index.sh b/Documentation/howto-index.sh
index 8e82e52..a234086 100755
--- a/Documentation/howto-index.sh
+++ b/Documentation/howto-index.sh
@@ -5,7 +5,7 @@
 ===============
 
 Here is a collection of mailing list postings made by various
-people describing how they use git in their workflow.
+people describing how they use Git in their workflow.
 
 EOF
 
diff --git a/Documentation/howto/maintain-git.txt b/Documentation/howto/maintain-git.txt
index ea6e4a5..8671573 100644
--- a/Documentation/howto/maintain-git.txt
+++ b/Documentation/howto/maintain-git.txt
@@ -1,7 +1,7 @@
 From: Junio C Hamano <gitster@pobox.com>
 Date: Wed, 21 Nov 2007 16:32:55 -0800
 Subject: Addendum to "MaintNotes"
-Abstract: Imagine that git development is racing along as usual, when our friendly
+Abstract: Imagine that Git development is racing along as usual, when our friendly
  neighborhood maintainer is struck down by a wayward bus. Out of the
  hordes of suckers (loyal developers), you have been tricked (chosen) to
  step up as the new maintainer. This howto will show you "how to" do it.
@@ -10,7 +10,7 @@
 How to maintain Git
 ===================
 
-The maintainer's git time is spent on three activities.
+The maintainer's Git time is spent on three activities.
 
  - Communication (60%)
 
@@ -77,7 +77,7 @@
    are found before new topics are merged to 'master'.
 
 
-A typical git day for the maintainer implements the above policy
+A typical Git day for the maintainer implements the above policy
 by doing the following:
 
  - Scan mailing list and #git channel log.  Respond with review
diff --git a/Documentation/howto/new-command.txt b/Documentation/howto/new-command.txt
index 36502f6..2abc3a0 100644
--- a/Documentation/howto/new-command.txt
+++ b/Documentation/howto/new-command.txt
@@ -1,25 +1,25 @@
 From: Eric S. Raymond <esr@thyrsus.com>
 Abstract: This is how-to documentation for people who want to add extension
- commands to git.  It should be read alongside api-builtin.txt.
+ commands to Git.  It should be read alongside api-builtin.txt.
 Content-type: text/asciidoc
 
 How to integrate new subcommands
 ================================
 
 This is how-to documentation for people who want to add extension
-commands to git.  It should be read alongside api-builtin.txt.
+commands to Git.  It should be read alongside api-builtin.txt.
 
 Runtime environment
 -------------------
 
-git subcommands are standalone executables that live in the git exec
+Git subcommands are standalone executables that live in the Git exec
 path, normally /usr/lib/git-core.  The git executable itself is a
 thin wrapper that knows where the subcommands live, and runs them by
 passing command-line arguments to them.
 
-(If "git foo" is not found in the git exec path, the wrapper
+(If "git foo" is not found in the Git exec path, the wrapper
 will look in the rest of your $PATH for it.  Thus, it's possible
-to write local git extensions that don't live in system space.)
+to write local Git extensions that don't live in system space.)
 
 Implementation languages
 ------------------------
@@ -30,13 +30,13 @@
 While we strongly encourage coding in portable C for portability,
 these specific scripting languages are also acceptable.  We won't
 accept more without a very strong technical case, as we don't want
-to broaden the git suite's required dependencies.  Import utilities,
+to broaden the Git suite's required dependencies.  Import utilities,
 surgical tools, remote helpers and other code at the edges of the
-git suite are more lenient and we allow Python (and even Tcl/tk),
+Git suite are more lenient and we allow Python (and even Tcl/tk),
 but they should not be used for core functions.
 
 This may change in the future.  Especially Python is not allowed in
-core because we need better Python integration in the git Windows
+core because we need better Python integration in the Git Windows
 installer before we can be confident people in that environment
 won't experience an unacceptably large loss of capability.
 
@@ -54,7 +54,7 @@
 What every extension command needs
 ----------------------------------
 
-You must have a man page, written in asciidoc (this is what git help
+You must have a man page, written in asciidoc (this is what Git help
 followed by your subcommand name will display).  Be aware that there is
 a local asciidoc configuration and macros which you should use.  It's
 often helpful to start by cloning an existing page and replacing the
@@ -74,7 +74,7 @@
 ---------------------
 
 Here are the things you need to do when you want to merge a new
-subcommand into the git tree.
+subcommand into the Git tree.
 
 1. Don't forget to sign off your patch!
 
diff --git a/Documentation/howto/rebuild-from-update-hook.txt b/Documentation/howto/rebuild-from-update-hook.txt
index 00c1b45..25378f6 100644
--- a/Documentation/howto/rebuild-from-update-hook.txt
+++ b/Documentation/howto/rebuild-from-update-hook.txt
@@ -3,7 +3,7 @@
 From: Junio C Hamano <gitster@pobox.com>
 Date: Fri, 26 Aug 2005 18:19:10 -0700
 Abstract: In this how-to article, JC talks about how he
- uses the post-update hook to automate git documentation page
+ uses the post-update hook to automate Git documentation page
  shown at http://www.kernel.org/pub/software/scm/git/docs/.
 Content-type: text/asciidoc
 
@@ -15,11 +15,11 @@
 and needed to be kept up-to-date.  The www.kernel.org/ servers
 are mirrored and I was told that the origin of the mirror is on
 the machine $some.kernel.org, on which I was given an account
-when I took over git maintainership from Linus.
+when I took over Git maintainership from Linus.
 
 The directories relevant to this how-to are these two:
 
-    /pub/scm/git/git.git/	The public git repository.
+    /pub/scm/git/git.git/	The public Git repository.
     /pub/software/scm/git/docs/	The HTML documentation page.
 
 So I made a repository to generate the documentation under my
@@ -46,7 +46,7 @@
     EOF
 
 Initially I used to run this by hand whenever I push into the
-public git repository.  Then I did a cron job that ran twice a
+public Git repository.  Then I did a cron job that ran twice a
 day.  The current round uses the post-update hook mechanism,
 like this:
 
diff --git a/Documentation/howto/recover-corrupted-blob-object.txt b/Documentation/howto/recover-corrupted-blob-object.txt
index 7484735..6d362ce 100644
--- a/Documentation/howto/recover-corrupted-blob-object.txt
+++ b/Documentation/howto/recover-corrupted-blob-object.txt
@@ -20,7 +20,7 @@
 object you basically have to find the "original source" for it.
 
 The easiest way to do that is almost always to have backups, and find the
-same object somewhere else. Backups really are a good idea, and git makes
+same object somewhere else. Backups really are a good idea, and Git makes
 it pretty easy (if nothing else, just clone the repository somewhere else,
 and make sure that you do *not* use a hard-linked clone, and preferably
 not the same disk/machine).
@@ -134,7 +134,7 @@
 	git log --raw --all
 
 and just looked for the sha of the missing object (4b9458b..) in that
-whole thing. It's up to you - git does *have* a lot of information, it is
+whole thing. It's up to you - Git does *have* a lot of information, it is
 just missing one particular blob version.
 
 Trying to recreate trees and especially commits is *much* harder. So you
diff --git a/Documentation/howto/revert-a-faulty-merge.txt b/Documentation/howto/revert-a-faulty-merge.txt
index 8a68548..075418e 100644
--- a/Documentation/howto/revert-a-faulty-merge.txt
+++ b/Documentation/howto/revert-a-faulty-merge.txt
@@ -164,7 +164,7 @@
 changes that you can try to pinpoint which _part_ of it changes.
 
 But does it all work? Sure it does. You can revert a merge, and from a
-purely technical angle, git did it very naturally and had no real
+purely technical angle, Git did it very naturally and had no real
 troubles. It just considered it a change from "state before merge" to
 "state after merge", and that was it. Nothing complicated, nothing odd,
 nothing really dangerous. Git will do it without even thinking about it.
diff --git a/Documentation/howto/setup-git-server-over-http.txt b/Documentation/howto/setup-git-server-over-http.txt
index e49d785..7f4943e 100644
--- a/Documentation/howto/setup-git-server-over-http.txt
+++ b/Documentation/howto/setup-git-server-over-http.txt
@@ -1,9 +1,9 @@
 From: Rutger Nijlunsing <rutger@nospam.com>
-Subject: Setting up a git repository which can be pushed into and pulled from over HTTP(S).
+Subject: Setting up a Git repository which can be pushed into and pulled from over HTTP(S).
 Date: Thu, 10 Aug 2006 22:00:26 +0200
 Content-type: text/asciidoc
 
-How to setup git server over http
+How to setup Git server over http
 =================================
 
 Since Apache is one of those packages people like to compile
@@ -44,9 +44,9 @@
 
 - have permissions to chown a directory
 
-- have git installed on the client, and
+- have Git installed on the client, and
 
-- either have git installed on the server or have a webdav client on
+- either have Git installed on the server or have a webdav client on
   the client.
 
 In effect, this means you're going to be root, or that you're using a
@@ -57,7 +57,7 @@
 -----------------------------------
 
 At the time of writing, git-http-push cannot remotely create a Git
-repository. So we have to do that at the server side with git. Another
+repository. So we have to do that at the server side with Git. Another
 option is to generate an empty bare repository at the client and copy
 it to the server with a WebDAV client (which is the only option if Git
 is not installed on the server).
@@ -189,7 +189,7 @@
 Step 3: setup the client
 ------------------------
 
-Make sure that you have HTTP support, i.e. your git was built with
+Make sure that you have HTTP support, i.e. your Git was built with
 libcurl (version more recent than 7.10). The command 'git http-push' with
 no argument should display a usage message.
 
@@ -268,7 +268,7 @@
 
   On Debian: Read /var/log/apache2/error.log instead.
 
-If you access HTTPS locations, git may fail verifying the SSL
+If you access HTTPS locations, Git may fail verifying the SSL
 certificate (this is return code 60). Setting http.sslVerify=false can
 help diagnosing the problem, but removes security checks.
 
diff --git a/Documentation/howto/use-git-daemon.txt b/Documentation/howto/use-git-daemon.txt
index 23cdf35..7af2e52 100644
--- a/Documentation/howto/use-git-daemon.txt
+++ b/Documentation/howto/use-git-daemon.txt
@@ -4,7 +4,7 @@
 =====================
 
 Git can be run in inetd mode and in stand alone mode. But all you want is
-let a coworker pull from you, and therefore need to set up a git server
+let a coworker pull from you, and therefore need to set up a Git server
 real quick, right?
 
 Note that git-daemon is not really chatty at the moment, especially when
diff --git a/Documentation/howto/using-signed-tag-in-pull-request.txt b/Documentation/howto/using-signed-tag-in-pull-request.txt
index 00f693b..bbf040e 100644
--- a/Documentation/howto/using-signed-tag-in-pull-request.txt
+++ b/Documentation/howto/using-signed-tag-in-pull-request.txt
@@ -23,7 +23,7 @@
 
    Froboz 3.2 (2011-09-30 14:20:57 -0700)
 
- are available in the git repository at:
+ are available in the Git repository at:
 
    example.com:/git/froboz.git for-xyzzy
 ------------
@@ -107,7 +107,7 @@
 
    Froboz 3.2 (2011-09-30 14:20:57 -0700)
 
- are available in the git repository at:
+ are available in the Git repository at:
 
    example.com:/git/froboz.git tags/frotz-for-xyzzy
 
diff --git a/Documentation/i18n.txt b/Documentation/i18n.txt
index 625d315..e9a1d5d 100644
--- a/Documentation/i18n.txt
+++ b/Documentation/i18n.txt
@@ -1,9 +1,9 @@
-At the core level, git is character encoding agnostic.
+At the core level, Git is character encoding agnostic.
 
  - The pathnames recorded in the index and in the tree objects
    are treated as uninterpreted sequences of non-NUL bytes.
    What readdir(2) returns are what are recorded and compared
-   with the data git keeps track of, which in turn are expected
+   with the data Git keeps track of, which in turn are expected
    to be what lstat(2) and creat(2) accepts.  There is no such
    thing as pathname encoding translation.
 
@@ -15,9 +15,9 @@
    bytes.
 
 Although we encourage that the commit log messages are encoded
-in UTF-8, both the core and git Porcelain are designed not to
+in UTF-8, both the core and Git Porcelain are designed not to
 force UTF-8 on projects.  If all participants of a particular
-project find it more convenient to use legacy encodings, git
+project find it more convenient to use legacy encodings, Git
 does not forbid it.  However, there are a few things to keep in
 mind.
 
diff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt
index 9bb4956..897329b 100644
--- a/Documentation/merge-config.txt
+++ b/Documentation/merge-config.txt
@@ -17,10 +17,10 @@
 	these tracking branches are merged.
 
 merge.ff::
-	By default, git does not create an extra merge commit when merging
+	By default, Git does not create an extra merge commit when merging
 	a commit that is a descendant of the current commit. Instead, the
 	tip of the current branch is fast-forwarded. When set to `false`,
-	this variable tells git to create an extra merge commit in such
+	this variable tells Git to create an extra merge commit in such
 	a case (equivalent to giving the `--no-ff` option from the command
 	line). When set to `only`, only such fast-forward merges are
 	allowed (equivalent to giving the `--ff-only` option from the
@@ -38,10 +38,10 @@
 	diff.renameLimit.
 
 merge.renormalize::
-	Tell git that canonical representation of files in the
+	Tell Git that canonical representation of files in the
 	repository has changed over time (e.g. earlier commits record
 	text files with CRLF line endings, but recent ones use LF line
-	endings).  In such a repository, git can convert the data
+	endings).  In such a repository, Git can convert the data
 	recorded in commits to a canonical form before performing a
 	merge to reduce unnecessary conflicts.  For more information,
 	see section "Merging branches with differing checkin/checkout
diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt
index 1ec14a0..3bdbf5e 100644
--- a/Documentation/rev-list-options.txt
+++ b/Documentation/rev-list-options.txt
@@ -649,7 +649,7 @@
 Object Traversal
 ~~~~~~~~~~~~~~~~
 
-These options are mostly targeted for packing of git repositories.
+These options are mostly targeted for packing of Git repositories.
 
 --objects::
 
@@ -717,7 +717,7 @@
 +
 `--date=short` shows only date but not time, in `YYYY-MM-DD` format.
 +
-`--date=raw` shows the date in the internal raw git format `%s %z` format.
+`--date=raw` shows the date in the internal raw Git format `%s %z` format.
 +
 `--date=default` shows timestamps in the original timezone
 (either committer's or author's).
diff --git a/Documentation/revisions.txt b/Documentation/revisions.txt
index 991fcd8..678d175 100644
--- a/Documentation/revisions.txt
+++ b/Documentation/revisions.txt
@@ -23,7 +23,7 @@
   A symbolic ref name.  E.g. 'master' typically means the commit
   object referenced by 'refs/heads/master'.  If you
   happen to have both 'heads/master' and 'tags/master', you can
-  explicitly say 'heads/master' to tell git which one you mean.
+  explicitly say 'heads/master' to tell Git which one you mean.
   When ambiguous, a '<refname>' is disambiguated by taking the
   first match in the following rules:
 
diff --git a/Documentation/technical/api-builtin.txt b/Documentation/technical/api-builtin.txt
index b0cafe8..4a4228b 100644
--- a/Documentation/technical/api-builtin.txt
+++ b/Documentation/technical/api-builtin.txt
@@ -5,7 +5,7 @@
 ---------------------
 
 There are 4 things to do to add a built-in command implementation to
-git:
+Git:
 
 . Define the implementation of the built-in command `foo` with
   signature:
@@ -23,7 +23,7 @@
 
 `RUN_SETUP`::
 
-	Make sure there is a git directory to work on, and if there is a
+	Make sure there is a Git directory to work on, and if there is a
 	work tree, chdir to the top of it if the command was invoked
 	in a subdirectory.  If there is no work tree, no chdir() is
 	done.
diff --git a/Documentation/technical/api-config.txt b/Documentation/technical/api-config.txt
index edf8dfb..230b3a0 100644
--- a/Documentation/technical/api-config.txt
+++ b/Documentation/technical/api-config.txt
@@ -1,7 +1,7 @@
 config API
 ==========
 
-The config API gives callers a way to access git configuration files
+The config API gives callers a way to access Git configuration files
 (and files which have the same syntax). See linkgit:git-config[1] for a
 discussion of the config file syntax.
 
@@ -12,7 +12,7 @@
 caller-provided callback function. The callback function is responsible
 for any actions to be taken on the config option, and is free to ignore
 some options. It is not uncommon for the configuration to be parsed
-several times during the run of a git program, with different callbacks
+several times during the run of a Git program, with different callbacks
 picking out different variables useful to themselves.
 
 A config callback function takes three parameters:
@@ -36,7 +36,7 @@
 ---------------------
 
 Most programs will simply want to look up variables in all config files
-that git knows about, using the normal precedence rules. To do this,
+that Git knows about, using the normal precedence rules. To do this,
 call `git_config` with a callback function and void data pointer.
 
 `git_config` will read all config sources in order of increasing
@@ -49,7 +49,7 @@
 
 The `git_config_with_options` function lets the caller examine config
 while adjusting some of the default behavior of `git_config`. It should
-almost never be used by "regular" git code that is looking up
+almost never be used by "regular" Git code that is looking up
 configuration variables. It is intended for advanced callers like
 `git-config`, which are intentionally tweaking the normal config-lookup
 process. It takes two extra parameters:
@@ -66,7 +66,7 @@
 There is a special version of `git_config` called `git_config_early`.
 This version takes an additional parameter to specify the repository
 config, instead of having it looked up via `git_path`. This is useful
-early in a git program before the repository has been found. Unless
+early in a Git program before the repository has been found. Unless
 you're working with early setup code, you probably don't want to use
 this.
 
diff --git a/Documentation/technical/api-credentials.txt b/Documentation/technical/api-credentials.txt
index 5977b58..516fda7 100644
--- a/Documentation/technical/api-credentials.txt
+++ b/Documentation/technical/api-credentials.txt
@@ -7,9 +7,9 @@
 refers to a username and password pair).
 
 This document describes two interfaces: the C API that the credential
-subsystem provides to the rest of git, and the protocol that git uses to
+subsystem provides to the rest of Git, and the protocol that Git uses to
 communicate with system-specific "credential helpers". If you are
-writing git code that wants to look up or prompt for credentials, see
+writing Git code that wants to look up or prompt for credentials, see
 the section "C API" below. If you want to write your own helper, see
 the section on "Credential Helpers" below.
 
@@ -18,7 +18,7 @@
 
 ------------
 +-----------------------+
-| git code (C)          |--- to server requiring --->
+| Git code (C)          |--- to server requiring --->
 |                       |        authentication
 |.......................|
 | C credential API      |--- prompt ---> User
@@ -27,11 +27,11 @@
 	| pipe |
 	|      v
 +-----------------------+
-| git credential helper |
+| Git credential helper |
 +-----------------------+
 ------------
 
-The git code (typically a remote-helper) will call the C API to obtain
+The Git code (typically a remote-helper) will call the C API to obtain
 credential data like a login/password pair (credential_fill). The
 API will itself call a remote helper (e.g. "git credential-cache" or
 "git credential-store") that may retrieve credential data from a
@@ -42,7 +42,7 @@
 C API
 -----
 
-The credential C API is meant to be called by git code which needs to
+The credential C API is meant to be called by Git code which needs to
 acquire or store a credential. It is centered around an object
 representing a single credential and provides three basic operations:
 fill (acquire credentials by calling helpers and/or prompting the user),
@@ -177,14 +177,14 @@
 Credential Helpers
 ------------------
 
-Credential helpers are programs executed by git to fetch or save
+Credential helpers are programs executed by Git to fetch or save
 credentials from and to long-term storage (where "long-term" is simply
-longer than a single git process; e.g., credentials may be stored
+longer than a single Git process; e.g., credentials may be stored
 in-memory for a few minutes, or indefinitely on disk).
 
 Each helper is specified by a single string in the configuration
 variable `credential.helper` (and others, see linkgit:git-config[1]).
-The string is transformed by git into a command to be executed using
+The string is transformed by Git into a command to be executed using
 these rules:
 
   1. If the helper string begins with "!", it is considered a shell
@@ -248,7 +248,7 @@
 For a `get` operation, the helper should produce a list of attributes
 on stdout in the same format. A helper is free to produce a subset, or
 even no values at all if it has nothing useful to provide. Any provided
-attributes will overwrite those already known about by git.
+attributes will overwrite those already known about by Git.
 
 For a `store` or `erase` operation, the helper's output is ignored.
 If it fails to perform the requested operation, it may complain to
diff --git a/Documentation/technical/api-directory-listing.txt b/Documentation/technical/api-directory-listing.txt
index 944fc39..fa2c5d5 100644
--- a/Documentation/technical/api-directory-listing.txt
+++ b/Documentation/technical/api-directory-listing.txt
@@ -39,7 +39,7 @@
 
 `DIR_NO_GITLINKS`:::
 
-	If set, recurse into a directory that looks like a git
+	If set, recurse into a directory that looks like a Git
 	directory.  Otherwise it is shown as a directory.
 
 The result of the enumeration is left in these fields:
diff --git a/Documentation/technical/api-parse-options.txt b/Documentation/technical/api-parse-options.txt
index 3062389..32ddc1c 100644
--- a/Documentation/technical/api-parse-options.txt
+++ b/Documentation/technical/api-parse-options.txt
@@ -1,7 +1,7 @@
 parse-options API
 =================
 
-The parse-options API is used to parse and massage options in git
+The parse-options API is used to parse and massage options in Git
 and to provide a usage help with consistent look.
 
 Basics
diff --git a/Documentation/technical/api-remote.txt b/Documentation/technical/api-remote.txt
index c54b17d..4be8776 100644
--- a/Documentation/technical/api-remote.txt
+++ b/Documentation/technical/api-remote.txt
@@ -3,7 +3,7 @@
 
 The API in remote.h gives access to the configuration related to
 remotes. It handles all three configuration mechanisms historically
-and currently used by git, and presents the information in a uniform
+and currently used by Git, and presents the information in a uniform
 fashion. Note that the code also handles plain URLs without any
 configuration, giving them just the default information.
 
@@ -45,7 +45,7 @@
 `receivepack`, `uploadpack`::
 
 	The configured helper programs to run on the remote side, for
-	git-native protocols.
+	Git-native protocols.
 
 `http_proxy`::
 
diff --git a/Documentation/technical/index-format.txt b/Documentation/technical/index-format.txt
index 6a05ee2..27c716b 100644
--- a/Documentation/technical/index-format.txt
+++ b/Documentation/technical/index-format.txt
@@ -1,7 +1,7 @@
 Git index format
 ================
 
-== The git index file has the following format
+== The Git index file has the following format
 
   All binary numbers are in network byte order. Version 2 is described
   here unless stated otherwise.
diff --git a/Documentation/technical/pack-heuristics.txt b/Documentation/technical/pack-heuristics.txt
index 103eb5d..dbdf7ba 100644
--- a/Documentation/technical/pack-heuristics.txt
+++ b/Documentation/technical/pack-heuristics.txt
@@ -5,11 +5,11 @@
 
                   Where do I go
                to learn the details
-	    of git's packing heuristics?
+	    of Git's packing heuristics?
 
 Be careful what you ask!
 
-Followers of the git, please open the git IRC Log and turn to
+Followers of the Git, please open the Git IRC Log and turn to
 February 10, 2006.
 
 It's a rare occasion, and we are joined by the King Git Himself,
@@ -19,7 +19,7 @@
 Let's listen in!
 
     <njs`> Oh, here's a really stupid question -- where do I go to
-        learn the details of git's packing heuristics?  google avails
+	learn the details of Git's packing heuristics?  google avails
         me not, reading the source didn't help a lot, and wading
         through the whole mailing list seems less efficient than any
         of that.
@@ -37,7 +37,7 @@
 
     <linus> njs, I don't think the docs exist. That's something where
 	 I don't think anybody else than me even really got involved.
-	 Most of the rest of git others have been busy with (especially
+	 Most of the rest of Git others have been busy with (especially
 	 Junio), but packing nobody touched after I did it.
 
 It's cryptic, yet vague.  Linus in style for sure.  Wise men
@@ -57,7 +57,7 @@
 
 And switch.  That ought to do it!
 
-    <linus> Remember: git really doesn't follow files. So what it does is
+    <linus> Remember: Git really doesn't follow files. So what it does is
         - generate a list of all objects
         - sort the list according to magic heuristics
         - walk the list, using a sliding window, seeing if an object
@@ -382,7 +382,7 @@
     <njs`> (if only it happened more...)
 
     <linus> Anyway, the pack-file could easily be denser still, but
-        because it's used both for streaming (the git protocol) and
+	because it's used both for streaming (the Git protocol) and
         for on-disk, it has a few pessimizations.
 
 Actually, it is a made-up word. But it is a made-up word being
@@ -432,12 +432,12 @@
 In fact, Linus reflects on some Basic Engineering Fundamentals,
 design options, etc.
 
-    <linus> More importantly, they allow git to still _conceptually_
+    <linus> More importantly, they allow Git to still _conceptually_
         never deal with deltas at all, and be a "whole object" store.
 
         Which has some problems (we discussed bad huge-file
-        behaviour on the git lists the other day), but it does mean
-        that the basic git concepts are really really simple and
+	behaviour on the Git lists the other day), but it does mean
+	that the basic Git concepts are really really simple and
         straightforward.
 
         It's all been quite stable.
@@ -461,6 +461,6 @@
     <njs`> :-)
 
     <njs`> appreciate the infodump, I really was failing to find the
-        details on git packs :-)
+	details on Git packs :-)
 
 And now you know the rest of the story.
diff --git a/Documentation/technical/racy-git.txt b/Documentation/technical/racy-git.txt
index 53aa0c8..6dc82ca 100644
--- a/Documentation/technical/racy-git.txt
+++ b/Documentation/technical/racy-git.txt
@@ -1,21 +1,21 @@
-Use of index and Racy git problem
+Use of index and Racy Git problem
 =================================
 
 Background
 ----------
 
-The index is one of the most important data structures in git.
+The index is one of the most important data structures in Git.
 It represents a virtual working tree state by recording list of
 paths and their object names and serves as a staging area to
 write out the next tree object to be committed.  The state is
 "virtual" in the sense that it does not necessarily have to, and
 often does not, match the files in the working tree.
 
-There are cases git needs to examine the differences between the
+There are cases Git needs to examine the differences between the
 virtual working tree state in the index and the files in the
 working tree.  The most obvious case is when the user asks `git
 diff` (or its low level implementation, `git diff-files`) or
-`git-ls-files --modified`.  In addition, git internally checks
+`git-ls-files --modified`.  In addition, Git internally checks
 if the files in the working tree are different from what are
 recorded in the index to avoid stomping on local changes in them
 during patch application, switching branches, and merging.
@@ -24,16 +24,16 @@
 working tree and the index entries, the index entries record the
 information obtained from the filesystem via `lstat(2)` system
 call when they were last updated.  When checking if they differ,
-git first runs `lstat(2)` on the files and compares the result
+Git first runs `lstat(2)` on the files and compares the result
 with this information (this is what was originally done by the
 `ce_match_stat()` function, but the current code does it in
 `ce_match_stat_basic()` function).  If some of these "cached
-stat information" fields do not match, git can tell that the
+stat information" fields do not match, Git can tell that the
 files are modified without even looking at their contents.
 
 Note: not all members in `struct stat` obtained via `lstat(2)`
 are used for this comparison.  For example, `st_atime` obviously
-is not useful.  Currently, git compares the file type (regular
+is not useful.  Currently, Git compares the file type (regular
 files vs symbolic links) and executable bits (only for regular
 files) from `st_mode` member, `st_mtime` and `st_ctime`
 timestamps, `st_uid`, `st_gid`, `st_ino`, and `st_size` members.
@@ -49,7 +49,7 @@
 ([PATCH] Sync in core time granuality with filesystems,
 2005-01-04).
 
-Racy git
+Racy Git
 --------
 
 There is one slight problem with the optimization based on the
@@ -67,13 +67,13 @@
 information the index entry records still exactly match what you
 would see in the filesystem, even though the file `foo` is now
 different.
-This way, git can incorrectly think files in the working tree
+This way, Git can incorrectly think files in the working tree
 are unmodified even though they actually are.  This is called
-the "racy git" problem (discovered by Pasky), and the entries
+the "racy Git" problem (discovered by Pasky), and the entries
 that appear clean when they may not be because of this problem
 are called "racily clean".
 
-To avoid this problem, git does two things:
+To avoid this problem, Git does two things:
 
 . When the cached stat information says the file has not been
   modified, and the `st_mtime` is the same as (or newer than)
@@ -116,7 +116,7 @@
 The latter makes sure that the cached stat information for `foo`
 would never match with the file in the working tree, so later
 checks by `ce_match_stat_basic()` would report that the index entry
-does not match the file and git does not have to fall back on more
+does not match the file and Git does not have to fall back on more
 expensive `ce_modified_check_fs()`.
 
 
@@ -159,7 +159,7 @@
 Avoiding runtime penalty
 ------------------------
 
-In order to avoid the above runtime penalty, post 1.4.2 git used
+In order to avoid the above runtime penalty, post 1.4.2 Git used
 to have a code that made sure the index file
 got timestamp newer than the youngest files in the index when
 there are many young files with the same timestamp as the
diff --git a/Documentation/urls-remotes.txt b/Documentation/urls-remotes.txt
index 00f7e79..282758e 100644
--- a/Documentation/urls-remotes.txt
+++ b/Documentation/urls-remotes.txt
@@ -6,7 +6,7 @@
 The name of one of the following can be used instead
 of a URL as `<repository>` argument:
 
-* a remote in the git configuration file: `$GIT_DIR/config`,
+* a remote in the Git configuration file: `$GIT_DIR/config`,
 * a file in the `$GIT_DIR/remotes` directory, or
 * a file in the `$GIT_DIR/branches` directory.
 
diff --git a/Documentation/urls.txt b/Documentation/urls.txt
index 1d15ee7..539c0a0 100644
--- a/Documentation/urls.txt
+++ b/Documentation/urls.txt
@@ -29,7 +29,7 @@
 - git://host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/
 - {startsb}user@{endsb}host.xz:/~{startsb}user{endsb}/path/to/repo.git/
 
-For local repositories, also supported by git natively, the following
+For local repositories, also supported by Git natively, the following
 syntaxes may be used:
 
 - /path/to/repo.git/
@@ -46,7 +46,7 @@
 --local option.
 endif::git-clone[]
 
-When git doesn't know how to handle a certain transport protocol, it
+When Git doesn't know how to handle a certain transport protocol, it
 attempts to use the 'remote-<transport>' remote helper, if one
 exists. To explicitly request a remote helper, the following syntax
 may be used:
diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt
index c93e1a8..5077e7c 100644
--- a/Documentation/user-manual.txt
+++ b/Documentation/user-manual.txt
@@ -5,7 +5,7 @@
 Git is a fast distributed revision control system.
 
 This manual is designed to be readable by someone with basic UNIX
-command-line skills, but no previous knowledge of git.
+command-line skills, but no previous knowledge of Git.
 
 <<repositories-and-branches>> and <<exploring-git-history>> explain how
 to fetch and study a project using git--read these chapters to learn how
@@ -34,7 +34,7 @@
 With the latter, you can use the manual viewer of your choice; see
 linkgit:git-help[1] for more information.
 
-See also <<git-quick-start>> for a brief overview of git commands,
+See also <<git-quick-start>> for a brief overview of Git commands,
 without any explanation.
 
 Finally, see <<todo>> for ways that you can help make this manual more
@@ -46,10 +46,10 @@
 =========================
 
 [[how-to-get-a-git-repository]]
-How to get a git repository
+How to get a Git repository
 ---------------------------
 
-It will be useful to have a git repository to experiment with as you
+It will be useful to have a Git repository to experiment with as you
 read this manual.
 
 The best way to get one is by using the linkgit:git-clone[1] command to
@@ -57,7 +57,7 @@
 project in mind, here are some interesting examples:
 
 ------------------------------------------------
-	# git itself (approx. 10MB download):
+	# Git itself (approx. 10MB download):
 $ git clone git://git.kernel.org/pub/scm/git/git.git
 	# the Linux kernel (approx. 150MB download):
 $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
@@ -79,7 +79,7 @@
 
 Git is best thought of as a tool for storing the history of a collection
 of files.  It stores the history as a compressed collection of
-interrelated snapshots of the project's contents.  In git each such
+interrelated snapshots of the project's contents.  In Git each such
 version is called a <<def_commit,commit>>.
 
 Those snapshots aren't necessarily all arranged in a single line from
@@ -87,7 +87,7 @@
 parallel lines of development, called <<def_branch,branches>>, which may
 merge and diverge.
 
-A single git repository can track development on multiple branches.  It
+A single Git repository can track development on multiple branches.  It
 does this by keeping a list of <<def_head,heads>> which reference the
 latest commit on each branch; the linkgit:git-branch[1] command shows
 you the list of branch heads:
@@ -198,7 +198,7 @@
 contents of the commit, you are guaranteed that the commit can never change
 without its name also changing.
 
-In fact, in <<git-concepts>> we shall see that everything stored in git
+In fact, in <<git-concepts>> we shall see that everything stored in Git
 history, including file data and directory contents, is stored in an object
 with a name that is a hash of its contents.
 
@@ -211,7 +211,7 @@
 Following the chain of parents will eventually take you back to the
 beginning of the project.
 
-However, the commits do not form a simple list; git allows lines of
+However, the commits do not form a simple list; Git allows lines of
 development to diverge and then reconverge, and the point where two
 lines of development reconverge is called a "merge".  The commit
 representing a merge can therefore have more than one parent, with
@@ -219,8 +219,8 @@
 of development leading to that point.
 
 The best way to see how this works is using the linkgit:gitk[1]
-command; running gitk now on a git repository and looking for merge
-commits will help understand how the git organizes history.
+command; running gitk now on a Git repository and looking for merge
+commits will help understand how the Git organizes history.
 
 In the following, we say that commit X is "reachable" from commit Y
 if commit X is an ancestor of commit Y.  Equivalently, you could say
@@ -231,7 +231,7 @@
 Understanding history: History diagrams
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-We will sometimes represent git history using diagrams like the one
+We will sometimes represent Git history using diagrams like the one
 below.  Commits are shown as "o", and the links between them with
 lines drawn with - / and \.  Time goes left to right:
 
@@ -285,7 +285,7 @@
 	even if the branch points to a commit not reachable
 	from the current branch, you may know that that commit
 	is still reachable from some other branch or tag.  In that
-	case it is safe to use this command to force git to delete
+	case it is safe to use this command to force Git to delete
 	the branch.
 git checkout <branch>::
 	make the current branch <branch>, updating the working
@@ -295,7 +295,7 @@
 	check it out.
 
 The special symbol "HEAD" can always be used to refer to the current
-branch.  In fact, git uses a file named "HEAD" in the .git directory to
+branch.  In fact, Git uses a file named "HEAD" in the .git directory to
 remember which branch is current:
 
 ------------------------------------------------
@@ -377,7 +377,7 @@
 You can also check out "origin/todo" directly to examine it or
 write a one-off patch.  See <<detached-head,detached head>>.
 
-Note that the name "origin" is just the name that git uses by default
+Note that the name "origin" is just the name that Git uses by default
 to refer to the repository that you cloned from.
 
 [[how-git-stores-references]]
@@ -405,7 +405,7 @@
 to just using the name of that repository.  So, for example, "origin"
 is usually a shortcut for the HEAD branch in the repository "origin".
 
-For the complete list of paths which git checks for references, and
+For the complete list of paths which Git checks for references, and
 the order it uses to decide which to choose when there are multiple
 references with the same shorthand name, see the "SPECIFYING
 REVISIONS" section of linkgit:gitrevisions[7].
@@ -449,7 +449,7 @@
 If you run "git fetch <remote>" later, the remote-tracking branches for the
 named <remote> will be updated.
 
-If you examine the file .git/config, you will see that git has added
+If you examine the file .git/config, you will see that Git has added
 a new stanza:
 
 -------------------------------------------------
@@ -461,13 +461,13 @@
 ...
 -------------------------------------------------
 
-This is what causes git to track the remote's branches; you may modify
+This is what causes Git to track the remote's branches; you may modify
 or delete these configuration options by editing .git/config with a
 text editor.  (See the "CONFIGURATION FILE" section of
 linkgit:git-config[1] for details.)
 
 [[exploring-git-history]]
-Exploring git history
+Exploring Git history
 =====================
 
 Git is best thought of as a tool for storing the history of a
@@ -499,7 +499,7 @@
 [65934a9a028b88e83e2b0f8b36618fe503349f8e] BLOCK: Make USB storage depend on SCSI rather than selecting it [try #6]
 -------------------------------------------------
 
-If you run "git branch" at this point, you'll see that git has
+If you run "git branch" at this point, you'll see that Git has
 temporarily moved you in "(no branch)". HEAD is now detached from any
 branch and points directly to a commit (with commit id 65934...) that
 is reachable from "master" but not from v2.6.18. Compile and test it,
@@ -511,7 +511,7 @@
 [7eff82c8b1511017ae605f0c99ac275a7e21b867] i2c-core: Drop useless bitmaskings
 -------------------------------------------------
 
-checks out an older version.  Continue like this, telling git at each
+checks out an older version.  Continue like this, telling Git at each
 stage whether the version it gives you is good or bad, and notice
 that the number of revisions left to test is cut approximately in
 half each time.
@@ -549,14 +549,14 @@
 continue.
 
 Instead of "git bisect visualize" and then "git reset --hard
-fb47ddb2db...", you might just want to tell git that you want to skip
+fb47ddb2db...", you might just want to tell Git that you want to skip
 the current commit:
 
 -------------------------------------------------
 $ git bisect skip
 -------------------------------------------------
 
-In this case, though, git may not eventually be able to tell the first
+In this case, though, Git may not eventually be able to tell the first
 bad one between some first skipped commits and a later bad commit.
 
 There are also ways to automate the bisecting process if you have a
@@ -685,7 +685,7 @@
 display options.
 
 Note that git log starts with the most recent commit and works
-backwards through the parents; however, since git history can contain
+backwards through the parents; however, since Git history can contain
 multiple independent lines of development, the particular order that
 commits are listed in may be somewhat arbitrary.
 
@@ -732,7 +732,7 @@
 -------------------------------------------------
 
 Before the colon may be anything that names a commit, and after it
-may be any path to a file tracked by git.
+may be any path to a file tracked by Git.
 
 [[history-examples]]
 Examples
@@ -984,14 +984,14 @@
 linkgit:git-hash-object[1] man pages may prove helpful.
 
 [[Developing-With-git]]
-Developing with git
+Developing with Git
 ===================
 
 [[telling-git-your-name]]
-Telling git your name
+Telling Git your name
 ---------------------
 
-Before creating any commits, you should introduce yourself to git.  The
+Before creating any commits, you should introduce yourself to Git.  The
 easiest way to do so is to make sure the following lines appear in a
 file named .gitconfig in your home directory:
 
@@ -1035,13 +1035,13 @@
 
 	1. Making some changes to the working directory using your
 	   favorite editor.
-	2. Telling git about your changes.
-	3. Creating the commit using the content you told git about
+	2. Telling Git about your changes.
+	3. Creating the commit using the content you told Git about
 	   in step 2.
 
 In practice, you can interleave and repeat steps 1 and 2 as many
 times as you want: in order to keep track of what you want committed
-at step 3, git maintains a snapshot of the tree's contents in a
+at step 3, Git maintains a snapshot of the tree's contents in a
 special staging area called "the index."
 
 At the beginning, the content of the index will be identical to
@@ -1094,7 +1094,7 @@
 $ git commit
 -------------------------------------------------
 
-and git will prompt you for a commit message and then create the new
+and Git will prompt you for a commit message and then create the new
 commit.  Check to make sure it looks like what you expected with
 
 -------------------------------------------------
@@ -1138,7 +1138,7 @@
 change, followed by a blank line and then a more thorough
 description.  The text up to the first blank line in a commit
 message is treated as the commit title, and that title is used
-throughout git.  For example, linkgit:git-format-patch[1] turns a
+throughout Git.  For example, linkgit:git-format-patch[1] turns a
 commit into email, and it uses the title on the Subject line and the
 rest of the commit in the body.
 
@@ -1147,15 +1147,15 @@
 Ignoring files
 --------------
 
-A project will often generate files that you do 'not' want to track with git.
+A project will often generate files that you do 'not' want to track with Git.
 This typically includes files generated by a build process or temporary
-backup files made by your editor. Of course, 'not' tracking files with git
+backup files made by your editor. Of course, 'not' tracking files with Git
 is just a matter of 'not' calling `git add` on them. But it quickly becomes
 annoying to have these untracked files lying around; e.g. they make
 `git add .` practically useless, and they keep showing up in the output of
 `git status`.
 
-You can tell git to ignore certain files by creating a file called .gitignore
+You can tell Git to ignore certain files by creating a file called .gitignore
 in the top level of your working directory, with contents such as:
 
 -------------------------------------------------
@@ -1181,7 +1181,7 @@
 If you wish the exclude patterns to affect only certain repositories
 (instead of every repository for a given project), you may instead put
 them in a file in your repository named .git/info/exclude, or in any file
-specified by the `core.excludesfile` configuration variable.  Some git
+specified by the `core.excludesfile` configuration variable.  Some Git
 commands can also take exclude patterns directly on the command line.
 See linkgit:gitignore[5] for the details.
 
@@ -1227,7 +1227,7 @@
 
 Conflict markers are left in the problematic files, and after
 you resolve the conflicts manually, you can update the index
-with the contents and run git commit, as you normally would when
+with the contents and run Git commit, as you normally would when
 creating a new file.
 
 If you examine the resulting commit using gitk, you will see that it
@@ -1238,7 +1238,7 @@
 Resolving a merge
 -----------------
 
-When a merge isn't resolved automatically, git leaves the index and
+When a merge isn't resolved automatically, Git leaves the index and
 the working tree in a special state that gives you all the
 information you need to help resolve the merge.
 
@@ -1274,14 +1274,14 @@
 default message unchanged, but you may add additional commentary of
 your own if desired.
 
-The above is all you need to know to resolve a simple merge.  But git
+The above is all you need to know to resolve a simple merge.  But Git
 also provides more information to help resolve conflicts:
 
 [[conflict-resolution]]
 Getting conflict-resolution help during a merge
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-All of the changes that git was able to merge automatically are
+All of the changes that Git was able to merge automatically are
 already added to the index file, so linkgit:git-diff[1] shows only
 the conflicts.  It uses an unusual syntax:
 
@@ -1413,7 +1413,7 @@
 were merged.
 
 However, if the current branch is a descendant of the other--so every
-commit present in the one is already contained in the other--then git
+commit present in the one is already contained in the other--then Git
 just performs a "fast-forward"; the head of the current branch is moved
 forward to point at the head of the merged-in branch, without any new
 commits being created.
@@ -1439,7 +1439,7 @@
 
 	2. You can go back and modify the old commit.  You should
 	never do this if you have already made the history public;
-	git does not normally expect the "history" of a project to
+	Git does not normally expect the "history" of a project to
 	change, and cannot correctly perform repeated merges from
 	a branch that has had its history changed.
 
@@ -1464,7 +1464,7 @@
 $ git revert HEAD^
 -------------------------------------------------
 
-In this case git will attempt to undo the old change while leaving
+In this case Git will attempt to undo the old change while leaving
 intact any changes made since then.  If more recent changes overlap
 with the changes to be reverted, then you will be asked to fix
 conflicts manually, just as in the case of <<resolving-a-merge,
@@ -1561,7 +1561,7 @@
 Ensuring good performance
 -------------------------
 
-On large repositories, git depends on compression to keep the history
+On large repositories, Git depends on compression to keep the history
 information from taking up too much space on disk or in memory.
 
 This compression is not performed automatically.  Therefore you
@@ -1618,7 +1618,7 @@
 realize that the branch was the only reference you had to that point in
 history.
 
-Fortunately, git also keeps a log, called a "reflog", of all the
+Fortunately, Git also keeps a log, called a "reflog", of all the
 previous values of each branch.  So in this case you can still find the
 old history using, for example,
 
@@ -1627,7 +1627,7 @@
 -------------------------------------------------
 
 This lists the commits reachable from the previous version of the
-"master" branch head.  This syntax can be used with any git command
+"master" branch head.  This syntax can be used with any Git command
 that accepts a commit, not just with git log.  Some other examples:
 
 -------------------------------------------------
@@ -1653,7 +1653,7 @@
 how to control this pruning, and see the "SPECIFYING REVISIONS"
 section of linkgit:gitrevisions[7] for details.
 
-Note that the reflog history is very different from normal git history.
+Note that the reflog history is very different from normal Git history.
 While normal history is shared by every repository that works on the
 same project, the reflog history is not shared: it tells you only about
 how the branches in your local repository have changed over time.
@@ -1816,7 +1816,7 @@
 Git will apply each patch in order; if any conflicts are found, it
 will stop, and you can fix the conflicts as described in
 "<<resolving-a-merge,Resolving a merge>>".  (The "-3" option tells
-git to perform a merge; if you would prefer it just to abort and
+Git to perform a merge; if you would prefer it just to abort and
 leave your tree and index untouched, you may omit that option.)
 
 Once the index is updated with the results of the conflict
@@ -1826,7 +1826,7 @@
 $ git am --resolved
 -------------------------------------------------
 
-and git will create the commit for you and continue applying the
+and Git will create the commit for you and continue applying the
 remaining patches from the mailbox.
 
 The final result will be a series of commits, one for each patch in
@@ -1834,7 +1834,7 @@
 taken from the message containing each patch.
 
 [[public-repositories]]
-Public git repositories
+Public Git repositories
 -----------------------
 
 Another way to submit changes to a project is to tell the maintainer
@@ -1909,7 +1909,7 @@
 convenient.
 
 [[exporting-via-git]]
-Exporting a git repository via the git protocol
+Exporting a Git repository via the Git protocol
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 This is the preferred method.
@@ -1922,7 +1922,7 @@
 
 Otherwise, all you need to do is start linkgit:git-daemon[1]; it will
 listen on port 9418.  By default, it will allow access to any directory
-that looks like a git directory and contains the magic file
+that looks like a Git directory and contains the magic file
 git-daemon-export-ok.  Passing some directory paths as `git daemon`
 arguments will further restrict the exports to those paths.
 
@@ -1931,13 +1931,13 @@
 examples section.)
 
 [[exporting-via-http]]
-Exporting a git repository via http
+Exporting a Git repository via http
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The git protocol gives better performance and reliability, but on a
+The Git protocol gives better performance and reliability, but on a
 host with a web server set up, http exports may be simpler to set up.
 
-All you need to do is place the newly created bare git repository in
+All you need to do is place the newly created bare Git repository in
 a directory that is exported by the web server, and make some
 adjustments to give web clients some extra information they need:
 
@@ -2073,9 +2073,9 @@
 linkgit:gitcvs-migration[7] for instructions on how to
 set this up.
 
-However, while there is nothing wrong with git's support for shared
+However, while there is nothing wrong with Git's support for shared
 repositories, this mode of operation is not generally recommended,
-simply because the mode of collaboration that git supports--by
+simply because the mode of collaboration that Git supports--by
 exchanging patches and pulling from public repositories--has so many
 advantages over the central shared repository:
 
@@ -2099,8 +2099,8 @@
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 The gitweb cgi script provides users an easy way to browse your
-project's files and history without having to install git; see the file
-gitweb/INSTALL in the git source tree for instructions on setting it up.
+project's files and history without having to install Git; see the file
+gitweb/INSTALL in the Git source tree for instructions on setting it up.
 
 [[sharing-development-examples]]
 Examples
@@ -2110,7 +2110,7 @@
 Maintaining topic branches for a Linux subsystem maintainer
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-This describes how Tony Luck uses git in his role as maintainer of the
+This describes how Tony Luck uses Git in his role as maintainer of the
 IA64 architecture for the Linux kernel.
 
 He uses two public branches:
@@ -2160,7 +2160,7 @@
 
 Important note!  If you have any local changes in these branches, then
 this merge will create a commit object in the history (with no local
-changes git will simply do a "fast-forward" merge).  Many people dislike
+changes Git will simply do a "fast-forward" merge).  Many people dislike
 the "noise" that this creates in the Linux history, so you should avoid
 doing this capriciously in the "release" branch, as these noisy commits
 will become part of the permanent history when you ask Linus to pull
@@ -2413,7 +2413,7 @@
 
 Normally commits are only added to a project, never taken away or
 replaced.  Git is designed with this assumption, and violating it will
-cause git's merge machinery (for example) to do the wrong thing.
+cause Git's merge machinery (for example) to do the wrong thing.
 
 However, there is a situation in which it can be useful to violate this
 assumption.
@@ -2524,7 +2524,7 @@
 $ git rebase --continue
 -------------------------------------------------
 
-and git will continue applying the rest of the patches.
+and Git will continue applying the rest of the patches.
 
 At any point you may use the `--abort` option to abort this process and
 return mywork to the state it had before you started the rebase:
@@ -2577,7 +2577,7 @@
 $ git tag -d bad
 -------------------------------------------------
 
-Note that the immutable nature of git history means that you haven't really
+Note that the immutable nature of Git history means that you haven't really
 "modified" existing commits; instead, you have replaced the old commits with
 new commits having new object names.
 
@@ -2658,7 +2658,7 @@
 the old head; it treats this situation exactly the same as it would if
 two developers had independently done the work on the old and new heads
 in parallel.  At this point, if someone attempts to merge the new head
-in to their branch, git will attempt to merge together the two (old and
+in to their branch, Git will attempt to merge together the two (old and
 new) lines of development, instead of trying to replace the old by the
 new.  The results are likely to be unexpected.
 
@@ -2731,7 +2731,7 @@
 Bisecting between Z and D* would hit a single culprit commit Y*,
 and understanding why Y* was broken would probably be easier.
 
-Partly for this reason, many experienced git users, even when
+Partly for this reason, many experienced Git users, even when
 working on an otherwise merge-heavy project, keep the history
 linear by rebasing against the latest upstream version before
 publishing.
@@ -2752,8 +2752,8 @@
 $ git fetch origin todo:my-todo-work
 -------------------------------------------------
 
-The first argument, "origin", just tells git to fetch from the
-repository you originally cloned from.  The second argument tells git
+The first argument, "origin", just tells Git to fetch from the
+repository you originally cloned from.  The second argument tells Git
 to fetch the branch named "todo" from the remote repository, and to
 store it locally under the name refs/heads/my-todo-work.
 
@@ -2801,7 +2801,7 @@
 
 In this case, "git fetch" will fail, and print out a warning.
 
-In that case, you can still force git to update to the new head, as
+In that case, you can still force Git to update to the new head, as
 described in the following section.  However, note that in the
 situation above this may mean losing the commits labeled "a" and "b",
 unless you've already created a reference of your own pointing to
@@ -2834,7 +2834,7 @@
 
 We saw above that "origin" is just a shortcut to refer to the
 repository that you originally cloned from.  This information is
-stored in git configuration variables, which you can see using
+stored in Git configuration variables, which you can see using
 linkgit:git-config[1]:
 
 -------------------------------------------------
@@ -2900,7 +2900,7 @@
 
 Git is built on a small number of simple but powerful ideas.  While it
 is possible to get things done without understanding them, you will find
-git much more intuitive if you do.
+Git much more intuitive if you do.
 
 We start with the most important, the  <<def_object_database,object
 database>> and the <<def_index,index>>.
@@ -2994,7 +2994,7 @@
 Note that a commit does not itself contain any information about what
 actually changed; all changes are calculated by comparing the contents
 of the tree referred to by this commit with the trees associated with
-its parents.  In particular, git does not attempt to record file renames
+its parents.  In particular, Git does not attempt to record file renames
 explicitly, though it can identify cases where the existence of the same
 file data at changing paths suggests a rename.  (See, for example, the
 -M option to linkgit:git-diff[1]).
@@ -3033,14 +3033,14 @@
 and blobs, like all other objects, are named by the SHA-1 hash of their
 contents, two trees have the same SHA-1 name if and only if their
 contents (including, recursively, the contents of all subdirectories)
-are identical.  This allows git to quickly determine the differences
+are identical.  This allows Git to quickly determine the differences
 between two related tree objects, since it can ignore any entries with
 identical object names.
 
 (Note: in the presence of submodules, trees may also have commits as
 entries.  See <<submodules>> for documentation.)
 
-Note that the files all have mode 644 or 755: git actually only pays
+Note that the files all have mode 644 or 755: Git actually only pays
 attention to the executable bit.
 
 [[blob-object]]
@@ -3101,7 +3101,7 @@
 of the top commit, and digitally sign that email using something
 like GPG/PGP.
 
-To assist in this, git also provides the tag object...
+To assist in this, Git also provides the tag object...
 
 [[tag-object]]
 Tag Object
@@ -3134,7 +3134,7 @@
 references whose names begin with "refs/tags/").
 
 [[pack-files]]
-How git stores objects efficiently: pack files
+How Git stores objects efficiently: pack files
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Newly created objects are initially created in a file named after the
@@ -3152,7 +3152,7 @@
 individual files.  The second is the amount of space taken up by
 those "loose" objects.
 
-You can save space and make git faster by moving these loose objects in
+You can save space and make Git faster by moving these loose objects in
 to a "pack file", which stores a group of objects in an efficient
 compressed format; the details of how pack files are formatted can be
 found in link:technical/pack-format.txt[technical/pack-format.txt].
@@ -3285,12 +3285,12 @@
 Recovering from repository corruption
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-By design, git treats data trusted to it with caution.  However, even in
-the absence of bugs in git itself, it is still possible that hardware or
+By design, Git treats data trusted to it with caution.  However, even in
+the absence of bugs in Git itself, it is still possible that hardware or
 operating system errors could corrupt data.
 
 The first defense against such problems is backups.  You can back up a
-git directory using clone, or just using cp, tar, or any other backup
+Git directory using clone, or just using cp, tar, or any other backup
 mechanism.
 
 As a last resort, you can search for the corrupted objects and attempt
@@ -3396,7 +3396,7 @@
 ------------------------------------------------
 
 and just looked for the sha of the missing object (4b9458b..) in that
-whole thing. It's up to you - git does *have* a lot of information, it is
+whole thing. It's up to you - Git does *have* a lot of information, it is
 just missing one particular blob version.
 
 [[the-index]]
@@ -3438,7 +3438,7 @@
 the last modified time).  This data is not displayed above, and is not
 stored in the created tree object, but it can be used to determine
 quickly which files in the working directory differ from what was
-stored in the index, and thus save git from having to read all of the
+stored in the index, and thus save Git from having to read all of the
 data from such files to look for changes.
 
 3. It can efficiently represent information about merge conflicts
@@ -3669,9 +3669,9 @@
 Unable to checkout '261dfac35cb99d380eb966e102c1197139f7fa24' in submodule path 'a'
 -------------------------------------------------
 
-In older git versions it could be easily forgotten to commit new or modified
+In older Git versions it could be easily forgotten to commit new or modified
 files in a submodule, which silently leads to similar problems as not pushing
-the submodule changes. Starting with git 1.7.0 both "git status" and "git diff"
+the submodule changes. Starting with Git 1.7.0 both "git status" and "git diff"
 in the superproject show submodules as modified when they contain new or
 modified files to protect against accidentally committing such a state. "git
 diff" will also add a "-dirty" to the work tree side when generating patch
@@ -3714,12 +3714,12 @@
 This is not the case if you did not commit your changes.
 
 [[low-level-operations]]
-Low-level git operations
+Low-level Git operations
 ========================
 
 Many of the higher-level commands were originally implemented as shell
-scripts using a smaller core of low-level git commands.  These can still
-be useful when doing unusual things with git, or just as a way to
+scripts using a smaller core of low-level Git commands.  These can still
+be useful when doing unusual things with Git, or just as a way to
 understand its inner workings.
 
 [[object-manipulation]]
@@ -3750,7 +3750,7 @@
 provides low-level operations which perform each of these steps
 individually.
 
-Generally, all "git" operations work on the index file. Some operations
+Generally, all Git operations work on the index file. Some operations
 work *purely* on the index file (showing the current state of the
 index), but most operations move data between the index file and either
 the database or the working directory. Thus there are four main
@@ -3773,7 +3773,7 @@
 will not normally add totally new entries or remove old entries,
 i.e. it will normally just update existing cache entries.
 
-To tell git that yes, you really do realize that certain files no
+To tell Git that yes, you really do realize that certain files no
 longer exist, or that new files should be added, you
 should use the `--remove` and `--add` flags respectively.
 
@@ -3887,7 +3887,7 @@
 
 `git commit-tree` will return the name of the object that represents
 that commit, and you should save it away for later use. Normally,
-you'd commit a new `HEAD` state, and while git doesn't care where you
+you'd commit a new `HEAD` state, and while Git doesn't care where you
 save the note about that state, in practice we tend to just write the
 result to the file pointed at by `.git/HEAD`, so that we can always see
 what the last committed state was.
@@ -4044,7 +4044,7 @@
 
 Each line of the `git ls-files --unmerged` output begins with
 the blob mode bits, blob SHA-1, 'stage number', and the
-filename.  The 'stage number' is git's way to say which tree it
+filename.  The 'stage number' is Git's way to say which tree it
 came from: stage 1 corresponds to the `$orig` tree, stage 2 to
 the `HEAD` tree, and stage 3 to the `$target` tree.
 
@@ -4056,7 +4056,7 @@
 above example shows is that file `hello.c` was changed from
 `$orig` to `HEAD` and `$orig` to `$target` in a different way.
 You could resolve this by running your favorite 3-way merge
-program, e.g.  `diff3`, `merge`, or git's own merge-file, on
+program, e.g.  `diff3`, `merge`, or Git's own merge-file, on
 the blob objects from these three stages yourself, like this:
 
 ------------------------------------------------
@@ -4068,7 +4068,7 @@
 
 This would leave the merge result in `hello.c~2` file, along
 with conflict markers if there are conflicts.  After verifying
-the merge result makes sense, you can tell git what the final
+the merge result makes sense, you can tell Git what the final
 merge result for this file is by:
 
 -------------------------------------------------
@@ -4077,11 +4077,11 @@
 -------------------------------------------------
 
 When a path is in the "unmerged" state, running `git update-index` for
-that path tells git to mark the path resolved.
+that path tells Git to mark the path resolved.
 
-The above is the description of a git merge at the lowest level,
+The above is the description of a Git merge at the lowest level,
 to help you understand what conceptually happens under the hood.
-In practice, nobody, not even git itself, runs `git cat-file` three times
+In practice, nobody, not even Git itself, runs `git cat-file` three times
 for this.  There is a `git merge-index` program that extracts the
 stages to temporary files and calls a "merge" script on it:
 
@@ -4092,11 +4092,11 @@
 and that is what higher level `git merge -s resolve` is implemented with.
 
 [[hacking-git]]
-Hacking git
+Hacking Git
 ===========
 
-This chapter covers internal details of the git implementation which
-probably only git developers need to understand.
+This chapter covers internal details of the Git implementation which
+probably only Git developers need to understand.
 
 [[object-details]]
 Object storage format
@@ -4114,7 +4114,7 @@
 that is used to name the object is the hash of the original data
 plus this header, so `sha1sum` 'file' does not match the object name
 for 'file'.
-(Historical note: in the dawn of the age of git the hash
+(Historical note: in the dawn of the age of Git the hash
 was the SHA-1 of the 'compressed' object.)
 
 As a result, the general consistency of an object can always be tested
@@ -4144,7 +4144,7 @@
 $ git checkout e83c5163
 ----------------------------------------------------
 
-The initial revision lays the foundation for almost everything git has
+The initial revision lays the foundation for almost everything Git has
 today, but is small enough to read in one sitting.
 
 Note that terminology has changed since that revision.  For example, the
@@ -4298,7 +4298,7 @@
 This is how you read a blob (actually, not only a blob, but any type of
 object).  To know how the function `read_object_with_reference()` actually
 works, find the source code for it (something like `git grep
-read_object_with | grep ":[a-z]"` in the git repository), and read
+read_object_with | grep ":[a-z]"` in the Git repository), and read
 the source.
 
 To find out how the result can be used, just read on in `cmd_cat_file()`:
@@ -4479,7 +4479,7 @@
 Making changes
 --------------
 
-Make sure git knows who to blame:
+Make sure Git knows who to blame:
 
 ------------------------------------------------
 $ cat >>~/.gitconfig <<\EOF
@@ -4529,7 +4529,7 @@
 $ git am mbox # import patches from the mailbox "mbox"
 -----------------------------------------------
 
-Fetch a branch in a different git repository, then merge into the
+Fetch a branch in a different Git repository, then merge into the
 current branch:
 
 -----------------------------------------------
@@ -4590,7 +4590,7 @@
 
 - It must be readable in order, from beginning to end, by someone
   intelligent with a basic grasp of the UNIX command line, but without
-  any special knowledge of git.  If necessary, any other prerequisites
+  any special knowledge of Git.  If necessary, any other prerequisites
   should be specifically mentioned as they arise.
 - Whenever possible, section headings should clearly describe the task
   they explain how to do, in language that requires no more knowledge