Browse Source

Documentation: spell 'git cmd' without dash throughout

The documentation was quite inconsistent when spelling 'git cmd' if it
only refers to the program, not to some specific invocation syntax:
both 'git-cmd' and 'git cmd' spellings exist.

The current trend goes towards dashless forms, and there is precedent
in 647ac70 (git-svn.txt: stop using dash-form of commands.,
2009-07-07) to actively eliminate the dashed variants.

Replace 'git-cmd' with 'git cmd' throughout, except where git-shell,
git-cvsserver, git-upload-pack, git-receive-pack, and
git-upload-archive are concerned, because those really live in the
$PATH.
maint
Thomas Rast 15 years ago
parent
commit
0b444cdb19
  1. 72
      Documentation/config.txt
  2. 10
      Documentation/fetch-options.txt
  3. 10
      Documentation/git-am.txt
  4. 10
      Documentation/git-apply.txt
  5. 12
      Documentation/git-archimport.txt
  6. 4
      Documentation/git-archive.txt
  7. 8
      Documentation/git-blame.txt
  8. 6
      Documentation/git-branch.txt
  9. 26
      Documentation/git-bundle.txt
  10. 2
      Documentation/git-check-ref-format.txt
  11. 8
      Documentation/git-checkout-index.txt
  12. 2
      Documentation/git-cherry-pick.txt
  13. 6
      Documentation/git-cherry.txt
  14. 4
      Documentation/git-citool.txt
  15. 4
      Documentation/git-clean.txt
  16. 2
      Documentation/git-commit-tree.txt
  17. 20
      Documentation/git-commit.txt
  18. 14
      Documentation/git-config.txt
  19. 2
      Documentation/git-cvsexportcommit.txt
  20. 18
      Documentation/git-cvsimport.txt
  21. 4
      Documentation/git-cvsserver.txt
  22. 42
      Documentation/git-daemon.txt
  23. 6
      Documentation/git-describe.txt
  24. 2
      Documentation/git-diff-files.txt
  25. 20
      Documentation/git-diff-index.txt
  26. 10
      Documentation/git-diff-tree.txt
  27. 16
      Documentation/git-difftool.txt
  28. 12
      Documentation/git-fast-export.txt
  29. 20
      Documentation/git-fast-import.txt
  30. 6
      Documentation/git-fetch-pack.txt
  31. 2
      Documentation/git-fetch.txt
  32. 18
      Documentation/git-filter-branch.txt
  33. 2
      Documentation/git-fmt-merge-msg.txt
  34. 2
      Documentation/git-for-each-ref.txt
  35. 4
      Documentation/git-format-patch.txt
  36. 4
      Documentation/git-fsck.txt
  37. 20
      Documentation/git-gc.txt
  38. 6
      Documentation/git-get-tar-commit-id.txt
  39. 2
      Documentation/git-grep.txt
  40. 20
      Documentation/git-gui.txt
  41. 2
      Documentation/git-hash-object.txt
  42. 8
      Documentation/git-help.txt
  43. 22
      Documentation/git-http-backend.txt
  44. 2
      Documentation/git-http-fetch.txt
  45. 2
      Documentation/git-imap-send.txt
  46. 8
      Documentation/git-index-pack.txt
  47. 6
      Documentation/git-init.txt
  48. 2
      Documentation/git-instaweb.txt
  49. 4
      Documentation/git-log.txt
  50. 6
      Documentation/git-ls-files.txt
  51. 4
      Documentation/git-mailinfo.txt
  52. 10
      Documentation/git-merge-file.txt
  53. 8
      Documentation/git-merge-index.txt
  54. 6
      Documentation/git-merge-one-file.txt
  55. 6
      Documentation/git-merge.txt
  56. 16
      Documentation/git-mergetool.txt
  57. 4
      Documentation/git-name-rev.txt
  58. 2
      Documentation/git-notes.txt
  59. 6
      Documentation/git-pack-objects.txt
  60. 2
      Documentation/git-pack-redundant.txt
  61. 2
      Documentation/git-patch-id.txt
  62. 2
      Documentation/git-peek-remote.txt
  63. 16
      Documentation/git-prune.txt
  64. 12
      Documentation/git-pull.txt
  65. 6
      Documentation/git-push.txt
  66. 42
      Documentation/git-read-tree.txt
  67. 38
      Documentation/git-rebase.txt
  68. 6
      Documentation/git-receive-pack.txt
  69. 2
      Documentation/git-reflog.txt
  70. 2
      Documentation/git-remote.txt
  71. 12
      Documentation/git-repack.txt
  72. 28
      Documentation/git-rerere.txt
  73. 2
      Documentation/git-reset.txt
  74. 6
      Documentation/git-rev-list.txt
  75. 34
      Documentation/git-rev-parse.txt
  76. 4
      Documentation/git-revert.txt
  77. 4
      Documentation/git-send-pack.txt
  78. 2
      Documentation/git-sh-setup.txt
  79. 4
      Documentation/git-shortlog.txt
  80. 4
      Documentation/git-show-index.txt
  81. 4
      Documentation/git-show-ref.txt
  82. 6
      Documentation/git-show.txt
  83. 6
      Documentation/git-stash.txt
  84. 2
      Documentation/git-status.txt
  85. 4
      Documentation/git-submodule.txt
  86. 2
      Documentation/git-symbolic-ref.txt
  87. 8
      Documentation/git-tag.txt
  88. 6
      Documentation/git-tar-tree.txt
  89. 22
      Documentation/git-update-index.txt
  90. 4
      Documentation/git-upload-archive.txt
  91. 8
      Documentation/git-upload-pack.txt
  92. 2
      Documentation/git-verify-pack.txt
  93. 2
      Documentation/git-verify-tag.txt
  94. 6
      Documentation/git-web--browse.txt
  95. 4
      Documentation/git-whatchanged.txt
  96. 8
      Documentation/git-write-tree.txt
  97. 8
      Documentation/git.txt
  98. 12
      Documentation/gitattributes.txt
  99. 160
      Documentation/gitcore-tutorial.txt
  100. 10
      Documentation/gitcvs-migration.txt
  101. Some files were not shown because too many files have changed in this diff Show More

72
Documentation/config.txt

@ -64,7 +64,7 @@ The values following the equals sign in variable assign are all either @@ -64,7 +64,7 @@ The values following the equals sign in variable assign are all either
a string, an integer, or a boolean. Boolean values may be given as yes/no,
0/1, true/false or on/off. Case is not significant in boolean values, when
converting value to the canonical form using '--bool' type specifier;
'git-config' will ensure that the output is "true" or "false".
'git config' will ensure that the output is "true" or "false".

String values may be entirely or partially enclosed in double quotes.
You need to enclose variable values in double quotes if you want to
@ -442,8 +442,8 @@ core.pager:: @@ -442,8 +442,8 @@ core.pager::

core.whitespace::
A comma separated list of common whitespace problems to
notice. 'git-diff' will use `color.diff.whitespace` to
highlight them, and 'git-apply --whitespace=error' will
notice. 'git diff' will use `color.diff.whitespace` to
highlight them, and 'git apply --whitespace=error' will
consider them as errors. You can prefix `-` to disable
any of them (e.g. `-trailing-space`):
+
@ -503,7 +503,7 @@ This setting defaults to "refs/notes/commits", and can be overridden by @@ -503,7 +503,7 @@ This setting defaults to "refs/notes/commits", and can be overridden by
the `GIT_NOTES_REF` environment variable.

add.ignore-errors::
Tells 'git-add' to continue adding files when some files cannot be
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].

@ -525,19 +525,19 @@ executed from the top-level directory of a repository, which may @@ -525,19 +525,19 @@ executed from the top-level directory of a repository, which may
not necessarily be the current directory.

apply.ignorewhitespace::
When set to 'change', tells 'git-apply' to ignore changes in
When set to 'change', tells 'git apply' to ignore changes in
whitespace, in the same way as the '--ignore-space-change'
option.
When set to one of: no, none, never, false tells 'git-apply' to
When set to one of: no, none, never, false tells 'git apply' to
respect all whitespace differences.
See linkgit:git-apply[1].

apply.whitespace::
Tells 'git-apply' how to handle whitespaces, in the same way
Tells 'git apply' how to handle whitespaces, in the same way
as the '--whitespace' option. See linkgit:git-apply[1].

branch.autosetupmerge::
Tells 'git-branch' and 'git-checkout' to setup new branches
Tells 'git branch' and 'git checkout' to setup new branches
so that linkgit:git-pull[1] will appropriately merge from the
starting point branch. Note that even if this option is not set,
this behavior can be chosen per-branch using the `--track`
@ -548,7 +548,7 @@ branch.autosetupmerge:: @@ -548,7 +548,7 @@ branch.autosetupmerge::
branch. This option defaults to true.

branch.autosetuprebase::
When a new branch is created with 'git-branch' or 'git-checkout'
When a new branch is created with 'git branch' or 'git checkout'
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.
@ -563,24 +563,24 @@ branch.autosetuprebase:: @@ -563,24 +563,24 @@ branch.autosetuprebase::
This option defaults to never.

branch.<name>.remote::
When in branch <name>, it tells 'git-fetch' and 'git-push' which
When in branch <name>, it tells 'git fetch' and 'git push' which
remote to fetch from/push to. It defaults to `origin` if no remote is
configured. `origin` is also used if you are not on any branch.

branch.<name>.merge::
Defines, together with branch.<name>.remote, the upstream branch
for the given branch. It tells 'git-fetch'/'git-pull' which
branch to merge and can also affect 'git-push' (see push.default).
When in branch <name>, it tells 'git-fetch' the default
for the given branch. It tells 'git fetch'/'git pull' which
branch to merge and can also affect 'git push' (see push.default).
When in branch <name>, it tells 'git fetch' the default
refspec to be marked for merging in FETCH_HEAD. The value is
handled like the remote part of a refspec, and must match a
ref which is fetched from the remote given by
"branch.<name>.remote".
The merge information is used by 'git-pull' (which at first calls
'git-fetch') to lookup the default branch for merging. Without
this option, 'git-pull' defaults to merge the first refspec fetched.
The merge information is used by 'git pull' (which at first calls
'git fetch') to lookup the default branch for merging. Without
this option, 'git pull' defaults to merge the first refspec fetched.
Specify multiple values to get an octopus merge.
If you wish to setup 'git-pull' so that it merges into <name> from
If you wish to setup 'git pull' so that it merges into <name> from
another branch in the local repository, you can point
branch.<name>.merge to the desired branch, and use the special setting
`.` (a period) for branch.<name>.remote.
@ -673,7 +673,7 @@ color.interactive:: @@ -673,7 +673,7 @@ color.interactive::
colors only when the output is to the terminal. Defaults to false.

color.interactive.<slot>::
Use customized color for 'git-add --interactive'
Use customized color for 'git add --interactive'
output. `<slot>` may be `prompt`, `header`, `help` or `error`, for
four distinct types of normal output from interactive
commands. The values of these variables may be specified as
@ -718,14 +718,14 @@ commit.template:: @@ -718,14 +718,14 @@ commit.template::
specified user's home directory.

diff.autorefreshindex::
When using 'git-diff' to compare with work tree
When using 'git diff' to compare with work tree
files, do not consider stat-only change as changed.
Instead, silently run `git update-index --refresh` to
update the cached stat information for paths whose
contents in the work tree match the contents in the
index. This option defaults to true. Note that this
affects only 'git-diff' Porcelain, and not lower level
'diff' commands, such as 'git-diff-files'.
affects only 'git diff' Porcelain, and not lower level
'diff' commands, such as 'git diff-files'.

diff.external::
If this config variable is set, diff generation is not
@ -737,7 +737,7 @@ diff.external:: @@ -737,7 +737,7 @@ diff.external::
your files, you might want to use linkgit:gitattributes[5] instead.

diff.mnemonicprefix::
If set, 'git-diff' uses a prefix pair that is different from the
If set, 'git diff' uses a prefix pair that is different from the
standard "a/" and "b/" depending on what is being compared. When
this configuration is in effect, reverse diff output also swaps
the order of the prefixes:
@ -754,7 +754,7 @@ diff.mnemonicprefix:: @@ -754,7 +754,7 @@ diff.mnemonicprefix::

diff.renameLimit::
The number of files to consider when performing the copy/rename
detection; equivalent to the 'git-diff' option '-l'.
detection; equivalent to the 'git diff' option '-l'.

diff.renames::
Tells git to detect renames. If set to any boolean value, it
@ -840,7 +840,7 @@ format.pretty:: @@ -840,7 +840,7 @@ format.pretty::
linkgit:git-whatchanged[1].

format.thread::
The default threading style for 'git-format-patch'. Can be
The default threading style for 'git format-patch'. Can be
either a boolean value, `shallow` or `deep`. `shallow`
threading makes every mail a reply to the head of the series,
where the head is chosen from the cover letter, the
@ -858,7 +858,7 @@ format.signoff:: @@ -858,7 +858,7 @@ format.signoff::

gc.aggressiveWindow::
The window size parameter used in the delta compression
algorithm used by 'git-gc --aggressive'. This defaults
algorithm used by 'git gc --aggressive'. This defaults
to 10.

gc.auto::
@ -875,39 +875,39 @@ gc.autopacklimit:: @@ -875,39 +875,39 @@ gc.autopacklimit::
default value is 50. Setting this to 0 disables it.

gc.packrefs::
'git-gc' does not run `git pack-refs` in a bare repository by
'git gc' does not run `git pack-refs` in a bare repository by
default so that older dumb-transport clients can still fetch
from the repository. Setting this to `true` lets 'git-gc'
from the repository. Setting this to `true` lets 'git gc'
to run `git pack-refs`. Setting this to `false` tells
'git-gc' never to run `git pack-refs`. The default setting is
'git gc' never to run `git pack-refs`. The default setting is
`notbare`. Enable it only when you know you do not have to
support such clients. The default setting will change to `true`
at some stage, and setting this to `false` will continue to
prevent `git pack-refs` from being run from 'git-gc'.
prevent `git pack-refs` from being run from 'git gc'.

gc.pruneexpire::
When 'git-gc' is run, it will call 'prune --expire 2.weeks.ago'.
When 'git gc' is run, it will call 'prune --expire 2.weeks.ago'.
Override the grace period with this config variable. The value
"now" may be used to disable this grace period and always prune
unreachable objects immediately.

gc.reflogexpire::
'git-reflog expire' removes reflog entries older than
'git reflog expire' removes reflog entries older than
this time; defaults to 90 days.

gc.reflogexpireunreachable::
'git-reflog expire' removes reflog entries older than
'git reflog expire' removes reflog entries older than
this time and are not reachable from the current tip;
defaults to 30 days.

gc.rerereresolved::
Records of conflicted merge you resolved earlier are
kept for this many days when 'git-rerere gc' is run.
kept for this many days when 'git rerere gc' is run.
The default is 60 days. See linkgit:git-rerere[1].

gc.rerereunresolved::
Records of conflicted merge you have not resolved are
kept for this many days when 'git-rerere gc' is run.
kept for this many days when 'git rerere gc' is run.
The default is 15 days. See linkgit:git-rerere[1].

gitcvs.commitmsgannotation::
@ -1168,7 +1168,7 @@ i18n.commitEncoding:: @@ -1168,7 +1168,7 @@ i18n.commitEncoding::

i18n.logOutputEncoding::
Character encoding the commit messages are converted to when
running 'git-log' and friends.
running 'git log' and friends.

imap::
The configuration variables in the 'imap' section are described
@ -1202,7 +1202,7 @@ interactive.singlekey:: @@ -1202,7 +1202,7 @@ interactive.singlekey::

log.date::
Set default date-time mode for the log command. Setting log.date
value is similar to using 'git-log'\'s --date option. The value is one of the
value is similar to using 'git log'\'s --date option. The value is one of the
following alternatives: {relative,local,default,iso,rfc,short}.
See linkgit:git-log[1].


10
Documentation/fetch-options.txt

@ -19,7 +19,7 @@ endif::git-pull[] @@ -19,7 +19,7 @@ endif::git-pull[]

-f::
--force::
When 'git-fetch' is used with `<rbranch>:<lbranch>`
When 'git fetch' is used with `<rbranch>:<lbranch>`
refspec, it refuses to update the local branch
`<lbranch>` unless the remote branch `<rbranch>` it
fetches is a descendant of `<lbranch>`. This option
@ -61,16 +61,16 @@ endif::git-pull[] @@ -61,16 +61,16 @@ endif::git-pull[]

-u::
--update-head-ok::
By default 'git-fetch' refuses to update the head which
By default 'git fetch' refuses to update the head which
corresponds to the current branch. This flag disables the
check. This is purely for the internal use for 'git-pull'
to communicate with 'git-fetch', and unless you are
check. This is purely for the internal use for 'git pull'
to communicate with 'git fetch', and unless you are
implementing your own Porcelain you are not supposed to
use it.

--upload-pack <upload-pack>::
When given, and the repository to fetch from is handled
by 'git-fetch-pack', '--exec=<upload-pack>' is passed to
by 'git fetch-pack', '--exec=<upload-pack>' is passed to
the command to specify non-default path for the command
run on the other end.


10
Documentation/git-am.txt

@ -37,7 +37,7 @@ OPTIONS @@ -37,7 +37,7 @@ OPTIONS

-k::
--keep::
Pass `-k` flag to 'git-mailinfo' (see linkgit:git-mailinfo[1]).
Pass `-k` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).

-c::
--scissors::
@ -53,7 +53,7 @@ OPTIONS @@ -53,7 +53,7 @@ OPTIONS

-u::
--utf8::
Pass `-u` flag to 'git-mailinfo' (see linkgit:git-mailinfo[1]).
Pass `-u` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
The proposed commit log message taken from the e-mail
is re-coded into UTF-8 encoding (configuration variable
`i18n.commitencoding` can be used to specify project's
@ -63,7 +63,7 @@ This was optional in prior versions of git, but now it is the @@ -63,7 +63,7 @@ This was optional in prior versions of git, but now it is the
default. You can use `--no-utf8` to override this.

--no-utf8::
Pass `-n` flag to 'git-mailinfo' (see
Pass `-n` flag to 'git mailinfo' (see
linkgit:git-mailinfo[1]).

-3::
@ -81,7 +81,7 @@ default. You can use `--no-utf8` to override this. @@ -81,7 +81,7 @@ default. You can use `--no-utf8` to override this.
-p<n>::
--directory=<dir>::
--reject::
These flags are passed to the 'git-apply' (see linkgit:git-apply[1])
These flags are passed to the 'git apply' (see linkgit:git-apply[1])
program that applies
the patch.

@ -121,7 +121,7 @@ default. You can use `--no-utf8` to override this. @@ -121,7 +121,7 @@ default. You can use `--no-utf8` to override this.
to the screen before exiting. This overrides the
standard message informing you to use `--resolved`
or `--skip` to handle the failure. This is solely
for internal use between 'git-rebase' and 'git-am'.
for internal use between 'git rebase' and 'git am'.

--abort::
Restore the original branch and abort the patching operation.

10
Documentation/git-apply.txt

@ -69,7 +69,7 @@ OPTIONS @@ -69,7 +69,7 @@ OPTIONS
without using the working tree. This implies `--index`.

--build-fake-ancestor=<file>::
Newer 'git-diff' output has embedded 'index information'
Newer 'git diff' output has embedded 'index information'
for each blob to help identify the original version that
the patch applies to. When this flag is given, and if
the original versions of the blobs are available locally,
@ -83,7 +83,7 @@ the information is read from the current index instead. @@ -83,7 +83,7 @@ the information is read from the current index instead.
Apply the patch in reverse.

--reject::
For atomicity, 'git-apply' by default fails the whole patch and
For atomicity, 'git apply' by default fails the whole patch and
does not touch the working tree when some of the hunks
do not apply. This option makes it apply
the parts of the patch that are applicable, and leave the
@ -109,7 +109,7 @@ any of those replacements occurred. @@ -109,7 +109,7 @@ any of those replacements occurred.
ever ignored.

--unidiff-zero::
By default, 'git-apply' expects that the patch being
By default, 'git apply' expects that the patch being
applied is a unified diff with at least one line of context.
This provides good safety measures, but breaks down when
applying a diff generated with `--unified=0`. To bypass these
@ -120,7 +120,7 @@ discouraged. @@ -120,7 +120,7 @@ discouraged.

--apply::
If you use any of the options marked "Turns off
'apply'" above, 'git-apply' reads and outputs the
'apply'" above, 'git apply' reads and outputs the
requested information without actually applying the
patch. Give this flag after those flags to also apply
the patch.
@ -229,7 +229,7 @@ apply.whitespace:: @@ -229,7 +229,7 @@ apply.whitespace::

Submodules
----------
If the patch contains any changes to submodules then 'git-apply'
If the patch contains any changes to submodules then 'git apply'
treats these changes as follows.

If `--index` is specified (explicitly or implicitly), then the submodule

12
Documentation/git-archimport.txt

@ -29,17 +29,17 @@ branches that have different roots, it will refuse to run. In that case, @@ -29,17 +29,17 @@ branches that have different roots, it will refuse to run. In that case,
edit your <archive/branch> parameters to define clearly the scope of the
import.

'git-archimport' uses `tla` extensively in the background to access the
'git archimport' uses `tla` extensively in the background to access the
Arch repository.
Make sure you have a recent version of `tla` available in the path. `tla` must
know about the repositories you pass to 'git-archimport'.
know about the repositories you pass to 'git archimport'.

For the initial import, 'git-archimport' expects to find itself in an empty
For the initial import, 'git archimport' expects to find itself in an empty
directory. To follow the development of a project that uses Arch, rerun
'git-archimport' with the same parameters as the initial import to perform
'git archimport' with the same parameters as the initial import to perform
incremental imports.

While 'git-archimport' will try to create sensible branch names for the
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>
parameter, separated by a colon. This way, you can shorten the Arch
@ -84,7 +84,7 @@ OPTIONS @@ -84,7 +84,7 @@ OPTIONS

-o::
Use this for compatibility with old-style branch names used by
earlier versions of 'git-archimport'. Old-style branch names
earlier versions of 'git archimport'. Old-style branch names
were category--branch, whereas new-style branch names are
archive,category--branch--version. In both cases, names given
on the command-line will override the automatically-generated

4
Documentation/git-archive.txt

@ -21,13 +21,13 @@ structure for the named tree, and writes it out to the standard @@ -21,13 +21,13 @@ structure for the named tree, and writes it out to the standard
output. If <prefix> is specified it is
prepended to the filenames in the archive.

'git-archive' behaves differently when given a tree ID versus when
'git archive' behaves differently when given a tree ID versus when
given a commit ID or tag ID. In the first case the current time is
used as the modification time of each file in the archive. In the latter
case the commit time as recorded in the referenced commit object is
used instead. Additionally the commit ID is stored in a global
extended pax header if the tar format is used; it can be extracted
using 'git-get-tar-commit-id'. In ZIP files it is stored as a file
using 'git get-tar-commit-id'. In ZIP files it is stored as a file
comment.

OPTIONS

8
Documentation/git-blame.txt

@ -21,7 +21,7 @@ last modified the line. Optionally, start annotating from the given revision. @@ -21,7 +21,7 @@ last modified the line. Optionally, start annotating from the given revision.
The command can also limit the range of lines annotated.

The report does not tell you anything about lines which have been deleted or
replaced; you need to use a tool such as 'git-diff' or the "pickaxe"
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
@ -49,7 +49,7 @@ include::blame-options.txt[] @@ -49,7 +49,7 @@ include::blame-options.txt[]
file (see `-M`). The first number listed is the score.
This is the number of alphanumeric characters detected
as having been moved between or within files. This must be above
a certain threshold for 'git-blame' to consider those lines
a certain threshold for 'git blame' to consider those lines
of code to have been moved.

-f::
@ -100,7 +100,7 @@ header elements later. @@ -100,7 +100,7 @@ header elements later.
SPECIFYING RANGES
-----------------

Unlike 'git-blame' and 'git-annotate' in older versions of git, the extent
Unlike 'git blame' and 'git annotate' in older versions of git, the extent
of the annotation can be limited to both line ranges and revision
ranges. When you are interested in finding the origin for
lines 40-60 for file `foo`, you can use the `-L` option like so
@ -118,7 +118,7 @@ which limits the annotation to the body of the `hello` subroutine. @@ -118,7 +118,7 @@ which limits the annotation to the body of the `hello` subroutine.

When you are not interested in changes older than version
v2.6.18, or changes older than 3 weeks, you can use revision
range specifiers similar to 'git-rev-list':
range specifiers similar to 'git rev-list':

git blame v2.6.18.. -- foo
git blame --since=3.weeks -- foo

6
Documentation/git-branch.txt

@ -38,7 +38,7 @@ working tree to it; use "git checkout <newbranch>" to switch to the @@ -38,7 +38,7 @@ working tree to it; use "git checkout <newbranch>" to switch to the
new branch.

When a local branch is started off a remote branch, git sets up the
branch so that 'git-pull' will appropriately merge from
branch so that 'git pull' will appropriately merge from
the remote branch. This behavior may be changed via the global
`branch.autosetupmerge` configuration flag. That setting can be
overridden by using the `--track` and `--no-track` options.
@ -55,7 +55,7 @@ has a reflog then the reflog will also be deleted. @@ -55,7 +55,7 @@ has a reflog then the reflog will also be deleted.

Use -r together with -d to delete remote-tracking branches. Note, that it
only makes sense to delete remote-tracking branches if they no longer exist
in the remote repository or if 'git-fetch' was configured not to fetch
in the remote repository or if 'git fetch' was configured not to fetch
them again. See also the 'prune' subcommand of linkgit:git-remote[1] for a
way to clean up all obsolete remote-tracking branches.

@ -76,7 +76,7 @@ OPTIONS @@ -76,7 +76,7 @@ OPTIONS
-f::
--force::
Reset <branchname> to <startpoint> if <branchname> exists
already. Without `-f` 'git-branch' refuses to change an existing branch.
already. Without `-f` 'git branch' refuses to change an existing branch.

-m::
Move/rename a branch and the corresponding reflog.

26
Documentation/git-bundle.txt

@ -21,9 +21,9 @@ Some workflows require that one or more branches of development on one @@ -21,9 +21,9 @@ 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,
ssh, rsync, http) cannot be used. This command provides support for
'git-fetch' and 'git-pull' to operate by packaging objects and references
'git fetch' and 'git pull' to operate by packaging objects and references
in an archive at the originating machine, then importing those into
another repository using 'git-fetch' and 'git-pull'
another repository using 'git fetch' and 'git pull'
after moving the archive by some means (e.g., by sneakernet). As no
direct connection between the repositories exists, the user must specify a
basis for the bundle that is held by the destination repository: the
@ -35,14 +35,14 @@ OPTIONS @@ -35,14 +35,14 @@ OPTIONS

create <file>::
Used to create a bundle named 'file'. This requires the
'git-rev-list' arguments to define the bundle contents.
'git rev-list' arguments to define the bundle contents.

verify <file>::
Used to check that a bundle file is valid and will apply
cleanly to the current repository. This includes checks on the
bundle format itself as well as checking that the prerequisite
commits exist and are fully linked in the current repository.
'git-bundle' prints a list of missing commits, if any, and exits
'git bundle' prints a list of missing commits, if any, and exits
with a non-zero status.

list-heads <file>::
@ -51,15 +51,15 @@ list-heads <file>:: @@ -51,15 +51,15 @@ list-heads <file>::
printed out.

unbundle <file>::
Passes the objects in the bundle to 'git-index-pack'
Passes the objects in the bundle to 'git index-pack'
for storage in the repository, then prints the names of all
defined references. If a list of references is given, only
references matching those in the list are printed. This command is
really plumbing, intended to be called only by 'git-fetch'.
really plumbing, intended to be called only by 'git fetch'.

[git-rev-list-args...]::
A list of arguments, acceptable to 'git-rev-parse' and
'git-rev-list', that specifies the specific objects and references
A list of arguments, acceptable to 'git rev-parse' and
'git rev-list', that specifies the specific objects and references
to transport. For example, `master\~10..master` causes the
current master reference to be packaged along with all objects
added since its 10th ancestor commit. There is no explicit
@ -69,16 +69,16 @@ unbundle <file>:: @@ -69,16 +69,16 @@ unbundle <file>::

[refname...]::
A list of references used to limit the references reported as
available. This is principally of use to 'git-fetch', which
available. This is principally of use to 'git fetch', which
expects to receive only those references asked for and not
necessarily everything in the pack (in this case, 'git-bundle' acts
like 'git-fetch-pack').
necessarily everything in the pack (in this case, 'git bundle' acts
like 'git fetch-pack').

SPECIFYING REFERENCES
---------------------

'git-bundle' will only package references that are shown by
'git-show-ref': this includes heads, tags, and remote heads. References
'git bundle' will only package references that are shown by
'git show-ref': this includes heads, tags, and remote heads. References
such as `master\~1` cannot be packaged, but are perfectly suitable for
defining the basis. More than one reference may be packaged, and more
than one basis can be specified. The objects packaged are those not

2
Documentation/git-check-ref-format.txt

@ -60,7 +60,7 @@ reference name expressions (see linkgit:git-rev-parse[1]): @@ -60,7 +60,7 @@ reference name expressions (see linkgit:git-rev-parse[1]):
. A colon `:` is used as in `srcref:dstref` to mean "use srcref\'s
value and store it in dstref" in fetch and push operations.
It may also be used to select a specific object such as with
'git-cat-file': "git cat-file blob v1.3.3:refs.c".
'git cat-file': "git cat-file blob v1.3.3:refs.c".

. at-open-brace `@{` is used as a notation to access a reflog entry.


8
Documentation/git-checkout-index.txt

@ -88,7 +88,7 @@ $ find . -name '*.h' -print0 | xargs -0 git checkout-index -f -- @@ -88,7 +88,7 @@ $ find . -name '*.h' -print0 | xargs -0 git checkout-index -f --
which will force all existing `*.h` files to be replaced with their
cached copies. If an empty command line implied "all", then this would
force-refresh everything in the index, which was not the point. But
since 'git-checkout-index' accepts --stdin it would be faster to use:
since 'git checkout-index' accepts --stdin it would be faster to use:

----------------
$ find . -name '*.h' -print0 | git checkout-index -f -z --stdin
@ -102,7 +102,7 @@ Using `--` is probably a good policy in scripts. @@ -102,7 +102,7 @@ Using `--` is probably a good policy in scripts.
Using --temp or --stage=all
---------------------------
When `--temp` is used (or implied by `--stage=all`)
'git-checkout-index' will create a temporary file for each index
'git checkout-index' will create a temporary file for each index
entry being checked out. The index will not be updated with stat
information. These options can be useful if the caller needs all
stages of all unmerged entries so that the unmerged files can be
@ -147,9 +147,9 @@ To update and refresh only the files already checked out:: @@ -147,9 +147,9 @@ To update and refresh only the files already checked out::
$ git checkout-index -n -f -a && git update-index --ignore-missing --refresh
----------------

Using 'git-checkout-index' to "export an entire tree"::
Using 'git checkout-index' to "export an entire tree"::
The prefix ability basically makes it trivial to use
'git-checkout-index' as an "export as tree" function.
'git checkout-index' as an "export as tree" function.
Just read the desired tree into the index, and do:
+
----------------

2
Documentation/git-cherry-pick.txt

@ -24,7 +24,7 @@ OPTIONS @@ -24,7 +24,7 @@ OPTIONS

-e::
--edit::
With this option, 'git-cherry-pick' will let you edit the commit
With this option, 'git cherry-pick' will let you edit the commit
message prior to committing.

-x::

6
Documentation/git-cherry.txt

@ -14,7 +14,7 @@ DESCRIPTION @@ -14,7 +14,7 @@ DESCRIPTION
The changeset (or "diff") of each commit between the fork-point and <head>
is compared against each commit between the fork-point and <upstream>.
The commits are compared with their 'patch id', obtained from
the 'git-patch-id' program.
the 'git patch-id' program.

Every commit that doesn't exist in the <upstream> branch
has its id (sha1) reported, prefixed by a symbol. The ones that have
@ -37,8 +37,8 @@ to and including <limit> are not reported: @@ -37,8 +37,8 @@ to and including <limit> are not reported:
\__*__*__<limit>__-__+__> <head>


Because 'git-cherry' compares the changeset rather than the commit id
(sha1), you can use 'git-cherry' to find out if a commit you made locally
Because 'git cherry' compares the changeset rather than the commit id
(sha1), you can use 'git cherry' to find out if a commit you made locally
has been applied <upstream> under a different commit id. For example,
this will happen if you're feeding patches <upstream> via email rather
than pushing or pulling commits directly.

4
Documentation/git-citool.txt

@ -14,9 +14,9 @@ DESCRIPTION @@ -14,9 +14,9 @@ DESCRIPTION
A Tcl/Tk based graphical interface to review modified files, stage
them into the index, enter a commit message and record the new
commit onto the current branch. This interface is an alternative
to the less interactive 'git-commit' program.
to the less interactive 'git commit' program.

'git-citool' is actually a standard alias for `git gui citool`.
'git citool' is actually a standard alias for `git gui citool`.
See linkgit:git-gui[1] for more details.

Author

4
Documentation/git-clean.txt

@ -34,7 +34,7 @@ OPTIONS @@ -34,7 +34,7 @@ OPTIONS
-f::
--force::
If the git configuration specifies clean.requireForce as true,
'git-clean' will refuse to run unless given -f or -n.
'git clean' will refuse to run unless given -f or -n.

-n::
--dry-run::
@ -48,7 +48,7 @@ OPTIONS @@ -48,7 +48,7 @@ OPTIONS
-x::
Don't use the ignore rules. This allows removing all untracked
files, including build products. This can be used (possibly in
conjunction with 'git-reset') to create a pristine
conjunction with 'git reset') to create a pristine
working directory to test a clean build.

-X::

2
Documentation/git-commit-tree.txt

@ -70,7 +70,7 @@ is taken from the configuration items user.name and user.email, or, if not @@ -70,7 +70,7 @@ is taken from the configuration items user.name and user.email, or, if not
present, system user name and fully qualified hostname.

A commit comment is read from stdin. If a changelog
entry is not provided via "<" redirection, 'git-commit-tree' will just wait
entry is not provided via "<" redirection, 'git commit-tree' will just wait
for one to be entered and terminated with ^D.

include::date-formats.txt[]

20
Documentation/git-commit.txt

@ -20,11 +20,11 @@ with a log message from the user describing the changes. @@ -20,11 +20,11 @@ with a log message from the user describing the changes.

The content to be added can be specified in several ways:

1. by using 'git-add' to incrementally "add" changes to the
1. by using 'git add' to incrementally "add" changes to the
index before using the 'commit' command (Note: even modified
files must be "added");

2. by using 'git-rm' to remove files from the working tree
2. by using 'git rm' to remove files from the working tree
and the index, again before using the 'commit' command;

3. by listing files as arguments to the 'commit' command, in which
@ -40,14 +40,14 @@ The content to be added can be specified in several ways: @@ -40,14 +40,14 @@ The content to be added can be specified in several ways:

5. by using the --interactive switch with the 'commit' command to decide one
by one which files should be part of the commit, before finalizing the
operation. Currently, this is done by invoking 'git-add --interactive'.
operation. Currently, this is done by invoking 'git add --interactive'.

The `--dry-run` option can be used to obtain a
summary of what is included by any of the above for the next
commit by giving the same set of parameters (options and paths).

If you make a commit and then find a mistake immediately after
that, you can recover from it with 'git-reset'.
that, you can recover from it with 'git reset'.


OPTIONS
@ -184,7 +184,7 @@ FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].) @@ -184,7 +184,7 @@ FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].)
Make a commit only from the paths specified on the
command line, disregarding any contents that have been
staged so far. This is the default mode of operation of
'git-commit' if any paths are given on the command line,
'git commit' if any paths are given on the command line,
in which case this option can be omitted.
If this option is specified together with '--amend', then
no paths need to be specified, which can be used to amend
@ -241,10 +241,10 @@ EXAMPLES @@ -241,10 +241,10 @@ EXAMPLES
--------
When recording your own work, the contents of modified files in
your working tree are temporarily stored to a staging area
called the "index" with 'git-add'. A file can be
called the "index" with 'git add'. A file can be
reverted back, only in the index but not in the working tree,
to that of the last commit with `git reset HEAD -- <file>`,
which effectively reverts 'git-add' and prevents the changes to
which effectively reverts 'git add' and prevents the changes to
this file from participating in the next commit. After building
the state to be committed incrementally with these commands,
`git commit` (without any pathname parameter) is used to record what
@ -300,13 +300,13 @@ $ git commit @@ -300,13 +300,13 @@ $ git commit
this second commit would record the changes to `hello.c` and
`hello.h` as expected.

After a merge (initiated by 'git-merge' or 'git-pull') stops
After a merge (initiated by 'git merge' or 'git pull') stops
because of conflicts, cleanly merged
paths are already staged to be committed for you, and paths that
conflicted are left in unmerged state. You would have to first
check which paths are conflicting with 'git-status'
check which paths are conflicting with 'git status'
and after fixing them manually in your working tree, you would
stage the result as usual with 'git-add':
stage the result as usual with 'git add':

------------
$ git status | grep unmerged

14
Documentation/git-config.txt

@ -38,7 +38,7 @@ you want to handle the lines that do *not* match the regex, just @@ -38,7 +38,7 @@ you want to handle the lines that do *not* match the regex, just
prepend a single exclamation mark in front (see also <<EXAMPLES>>).

The type specifier can be either '--int' or '--bool', which will make
'git-config' ensure that the variable(s) are of the given type and
'git config' ensure that the variable(s) are of the given type and
convert the value to the canonical form (simple decimal number for int,
a "true" or "false" string for bool). If no type specifier is passed,
no checks or transformations are performed on the value.
@ -124,16 +124,16 @@ See also <<FILES>>. @@ -124,16 +124,16 @@ See also <<FILES>>.
List all variables set in config file.

--bool::
'git-config' will ensure that the output is "true" or "false"
'git config' will ensure that the output is "true" or "false"

--int::
'git-config' will ensure that the output is a simple
'git config' will ensure that the output is a simple
decimal number. An optional value suffix of 'k', 'm', or 'g'
in the config file will cause the value to be multiplied
by 1024, 1048576, or 1073741824 prior to output.

--bool-or-int::
'git-config' will ensure that the output matches the format of
'git config' will ensure that the output matches the format of
either --bool or --int, as described above.

-z::
@ -173,7 +173,7 @@ FILES @@ -173,7 +173,7 @@ FILES
-----

If not set explicitly with '--file', there are three files where
'git-config' will search for configuration options:
'git config' will search for configuration options:

$GIT_DIR/config::
Repository specific configuration file. (The filename is
@ -190,12 +190,12 @@ $(prefix)/etc/gitconfig:: @@ -190,12 +190,12 @@ $(prefix)/etc/gitconfig::
If no further options are given, all reading options will read all of these
files that are available. If the global or the system-wide configuration
file are not available they will be ignored. If the repository configuration
file is not available or readable, 'git-config' will exit with a non-zero
file is not available or readable, 'git config' will exit with a non-zero
error code. However, in neither case will an error message be issued.

All writing options will per default write to the repository specific
configuration file. Note that this also affects options like '--replace-all'
and '--unset'. *'git-config' will only ever change one file at a time*.
and '--unset'. *'git config' will only ever change one file at a time*.

You can override these rules either by command line options or by environment
variables. The '--global' and the '--system' options will limit the file used

2
Documentation/git-cvsexportcommit.txt

@ -27,7 +27,7 @@ by default. @@ -27,7 +27,7 @@ by default.

Supports file additions, removals, and commits that affect binary files.

If the commit is a merge commit, you must tell 'git-cvsexportcommit' what
If the commit is a merge commit, you must tell 'git cvsexportcommit' what
parent the changeset should be done against.

OPTIONS

18
Documentation/git-cvsimport.txt

@ -28,9 +28,9 @@ At least version 2.1 is required. @@ -28,9 +28,9 @@ At least version 2.1 is required.
Please see the section <<issues,ISSUES>> for further reference.

You should *never* do any work of your own on the branches that are
created by 'git-cvsimport'. By default initial import will create and populate a
created by 'git cvsimport'. By default initial import will create and populate a
"master" branch from the CVS repository's main branch which you're free
to work with; after that, you need to 'git-merge' incremental imports, or
to work with; after that, you need to 'git merge' incremental imports, or
any CVS branches, yourself. It is advisable to specify a named remote via
-r to separate and protect the incoming branches.

@ -49,13 +49,13 @@ OPTIONS @@ -49,13 +49,13 @@ OPTIONS
-d <CVSROOT>::
The root of the CVS archive. May be local (a simple path) or remote;
currently, only the :local:, :ext: and :pserver: access methods
are supported. If not given, 'git-cvsimport' will try to read it
are supported. If not given, 'git cvsimport' will try to read it
from `CVS/Root`. If no such file exists, it checks for the
`CVSROOT` environment variable.

<CVS_module>::
The CVS module you want to import. Relative to <CVSROOT>.
If not given, 'git-cvsimport' tries to read it from
If not given, 'git cvsimport' tries to read it from
`CVS/Repository`.

-C <target-dir>::
@ -65,14 +65,14 @@ OPTIONS @@ -65,14 +65,14 @@ OPTIONS
-r <remote>::
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.
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.
When a remote is specified the 'HEAD' branch is named
remotes/<remote>/master mirroring 'git-clone' behaviour.
remotes/<remote>/master mirroring 'git clone' behaviour.
Use this option if you want to import into a different
branch.
+
@ -145,17 +145,17 @@ This option can be used several times to provide several detection regexes. @@ -145,17 +145,17 @@ This option can be used several times to provide several detection regexes.

---------
+
'git-cvsimport' will make it appear as those authors had
'git cvsimport' will make it appear as those authors had
their GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly
all along.
+
For convenience, this data is saved to `$GIT_DIR/cvs-authors`
each time the '-A' option is provided and read from that same
file each time 'git-cvsimport' is run.
file each time 'git cvsimport' is run.
+
It is not recommended to use this feature if you intend to
export changes back to CVS again later with
'git-cvsexportcommit'.
'git cvsexportcommit'.

-h::
Print a short usage message and exit.

4
Documentation/git-cvsserver.txt

@ -22,7 +22,7 @@ cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver @@ -22,7 +22,7 @@ cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver
Usage:

[verse]
'git cvsserver' [options] [pserver|server] [<directory> ...]
'git-cvsserver' [options] [pserver|server] [<directory> ...]

OPTIONS
-------
@ -206,7 +206,7 @@ them write access to the directory, too. @@ -206,7 +206,7 @@ them write access to the directory, too.
The database can not be reliably regenerated in a
consistent form after the branch it is tracking has changed.
Example: For merged branches, 'git-cvsserver' only tracks
one branch of development, and after a 'git-merge' an
one branch of development, and after a 'git merge' an
incrementally updated database may track a different branch
than a database regenerated from scratch, causing inconsistent
CVS revision numbers. `git-cvsserver` has no way of knowing which

42
Documentation/git-daemon.txt

@ -28,36 +28,36 @@ that service if it is enabled. @@ -28,36 +28,36 @@ 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
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
pass some directory paths as 'git daemon' arguments, you can further restrict
the offers to a whitelist comprising of those.

By default, only `upload-pack` service is enabled, which serves
'git-fetch-pack' and 'git-ls-remote' clients, which are invoked
from 'git-fetch', 'git-pull', and 'git-clone'.
'git fetch-pack' and 'git ls-remote' clients, which are invoked
from 'git fetch', 'git pull', and 'git clone'.

This is ideally suited for read-only updates, i.e., pulling from
git repositories.

An `upload-archive` also exists to serve 'git-archive'.
An `upload-archive` also exists to serve 'git archive'.

OPTIONS
-------
--strict-paths::
Match paths exactly (i.e. don't allow "/foo/repo" when the real path is
"/foo/repo.git" or "/foo/repo/.git") and don't do user-relative paths.
'git-daemon' will refuse to start when this option is enabled and no
'git daemon' will refuse to start when this option is enabled and no
whitelist is specified.

--base-path=path::
Remap all the path requests as relative to the given path.
This is sort of "GIT root" - if you run 'git-daemon' with
This is sort of "GIT root" - if you run 'git daemon' with
'--base-path=/srv/git' on example.com, then if you later try to pull
'git://example.com/hello.git', 'git-daemon' will interpret the path
'git://example.com/hello.git', 'git daemon' will interpret the path
as '/srv/git/hello.git'.

--base-path-relaxed::
If --base-path is enabled and repo lookup fails, with this option
'git-daemon' will attempt to lookup without prefixing the base path.
'git daemon' will attempt to lookup without prefixing the base path.
This is useful for switching to --base-path usage, while still
allowing the old paths.

@ -143,7 +143,7 @@ OPTIONS @@ -143,7 +143,7 @@ OPTIONS
+
Giving these options is an error when used with `--inetd`; use
the facility of inet daemon to achieve the same before spawning
'git-daemon' if needed.
'git daemon' if needed.

--enable=service::
--disable=service::
@ -169,24 +169,24 @@ SERVICES @@ -169,24 +169,24 @@ SERVICES

These services can be globally enabled/disabled using the
command line options of this command. If a finer-grained
control is desired (e.g. to allow 'git-archive' to be run
control is desired (e.g. to allow 'git archive' to be run
against only in a few selected repositories the daemon serves),
the per-repository configuration file can be used to enable or
disable them.

upload-pack::
This serves 'git-fetch-pack' and 'git-ls-remote'
This serves 'git fetch-pack' and 'git ls-remote'
clients. It is enabled by default, but a repository can
disable it by setting `daemon.uploadpack` configuration
item to `false`.

upload-archive::
This serves 'git-archive --remote'. It is disabled by
This serves 'git archive --remote'. It is disabled by
default, but a repository can enable it by setting
`daemon.uploadarch` configuration item to `true`.

receive-pack::
This serves 'git-send-pack' clients, allowing anonymous
This serves 'git send-pack' clients, allowing anonymous
push. It is disabled by default, as there is _no_
authentication in the protocol (in other words, anybody
can push anything into the repository, including removal
@ -204,8 +204,8 @@ $ grep 9418 /etc/services @@ -204,8 +204,8 @@ $ grep 9418 /etc/services
git 9418/tcp # Git Version Control System
------------

'git-daemon' as inetd server::
To set up 'git-daemon' as an inetd service that handles any
'git daemon' as inetd server::
To set up 'git daemon' as an inetd service that handles any
repository under the whitelisted set of directories, /pub/foo
and /pub/bar, place an entry like the following into
/etc/inetd all on one line:
@ -217,8 +217,8 @@ git 9418/tcp # Git Version Control System @@ -217,8 +217,8 @@ git 9418/tcp # Git Version Control System
------------------------------------------------


'git-daemon' as inetd server for virtual hosts::
To set up 'git-daemon' as an inetd service that handles
'git daemon' as inetd server for virtual hosts::
To set up 'git daemon' as an inetd service that handles
repositories for different virtual hosts, `www.example.com`
and `www.example.org`, place an entry like the following into
`/etc/inetd` all on one line:
@ -240,8 +240,8 @@ clients, a symlink from `/software` into the appropriate @@ -240,8 +240,8 @@ clients, a symlink from `/software` into the appropriate
default repository could be made as well.


'git-daemon' as regular daemon for virtual hosts::
To set up 'git-daemon' as a regular, non-inetd service that
'git daemon' as regular daemon for virtual hosts::
To set up 'git daemon' as a regular, non-inetd service that
handles repositories for multiple virtual hosts based on
their IP addresses, start the daemon like this:
+
@ -258,7 +258,7 @@ Repositories can still be accessed by hostname though, assuming @@ -258,7 +258,7 @@ Repositories can still be accessed by hostname though, assuming
they correspond to these IP addresses.

selectively enable/disable services per repository::
To enable 'git-archive --remote' and disable 'git-fetch' against
To enable 'git archive --remote' and disable 'git fetch' against
a repository, have the following in the configuration file in the
repository (that is the file 'config' next to 'HEAD', 'refs' and
'objects').
@ -272,7 +272,7 @@ selectively enable/disable services per repository:: @@ -272,7 +272,7 @@ selectively enable/disable services per repository::

ENVIRONMENT
-----------
'git-daemon' will set REMOTE_ADDR to the IP address of the client
'git daemon' will set REMOTE_ADDR to the IP address of the client
that connected to it, if the IP address is available. REMOTE_ADDR will
be available in the environment of hooks called when
services are performed.

6
Documentation/git-describe.txt

@ -106,7 +106,7 @@ of commits which would be displayed by "git log v1.0.4..parent". @@ -106,7 +106,7 @@ of commits which would be displayed by "git log v1.0.4..parent".
The hash suffix is "-g" + 7-char abbreviation for the tip commit
of parent (which was `2414721b194453f058079d897d13c4e377f92dc6`).

Doing a 'git-describe' on a tag-name will just show the tag name:
Doing a 'git describe' on a tag-name will just show the tag name:

[torvalds@g5 git]$ git describe v1.0.4
v1.0.4
@ -136,13 +136,13 @@ be sufficient to disambiguate these commits. @@ -136,13 +136,13 @@ be sufficient to disambiguate these commits.
SEARCH STRATEGY
---------------

For each committish supplied, 'git-describe' will first look for
For each committish supplied, 'git describe' will first look for
a tag which tags exactly that commit. Annotated tags will always
be preferred over lightweight tags, and tags with newer dates will
always be preferred over tags with older dates. If an exact match
is found, its name will be output and searching will stop.

If an exact match was not found, 'git-describe' will walk back
If an exact match was not found, 'git describe' will walk back
through the commit history to locate an ancestor commit which
has been tagged. The ancestor's tag will be output along with an
abbreviation of the input committish's SHA1.

2
Documentation/git-diff-files.txt

@ -15,7 +15,7 @@ DESCRIPTION @@ -15,7 +15,7 @@ DESCRIPTION
Compares the files in the working tree and the index. When paths
are specified, compares only those named paths. Otherwise all
entries in the index are compared. The output format is the
same as for 'git-diff-index' and 'git-diff-tree'.
same as for 'git diff-index' and 'git diff-tree'.

OPTIONS
-------

20
Documentation/git-diff-index.txt

@ -31,7 +31,7 @@ include::diff-options.txt[] @@ -31,7 +31,7 @@ include::diff-options.txt[]
-m::
By default, files recorded in the index but not checked
out are reported as deleted. This flag makes
'git-diff-index' say that all non-checked-out files are up
'git diff-index' say that all non-checked-out files are up
to date.

include::diff-format.txt[]
@ -48,7 +48,7 @@ Cached Mode @@ -48,7 +48,7 @@ Cached Mode
If '--cached' is specified, it allows you to ask:

show me the differences between HEAD and the current index
contents (the ones I'd write using 'git-write-tree')
contents (the ones I'd write using 'git write-tree')

For example, let's say that you have worked on your working directory, updated
some files in the index and are ready to commit. You want to see exactly
@ -60,7 +60,7 @@ object and compare it that way, and to do that, you just do @@ -60,7 +60,7 @@ object and compare it that way, and to do that, you just do
Example: let's say I had renamed `commit.c` to `git-commit.c`, and I had
done an `update-index` to make that effective in the index file.
`git diff-files` wouldn't show anything at all, since the index file
matches my working directory. But doing a 'git-diff-index' does:
matches my working directory. But doing a 'git diff-index' does:

torvalds@ppc970:~/git> git diff-index --cached HEAD
-100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 commit.c
@ -69,10 +69,10 @@ matches my working directory. But doing a 'git-diff-index' does: @@ -69,10 +69,10 @@ matches my working directory. But doing a 'git-diff-index' does:
You can see easily that the above is a rename.

In fact, `git diff-index --cached` *should* always be entirely equivalent to
actually doing a 'git-write-tree' and comparing that. Except this one is much
actually doing a 'git write-tree' and comparing that. Except this one is much
nicer for the case where you just want to check where you are.

So doing a 'git-diff-index --cached' is basically very useful when you are
So doing a `git diff-index --cached` is basically very useful when you are
asking yourself "what have I already marked for being committed, and
what's the difference to a previous tree".

@ -80,20 +80,20 @@ Non-cached Mode @@ -80,20 +80,20 @@ Non-cached Mode
---------------
The "non-cached" mode takes a different approach, and is potentially
the more useful of the two in that what it does can't be emulated with
a 'git-write-tree' + 'git-diff-tree'. Thus that's the default mode.
a 'git write-tree' + 'git diff-tree'. Thus that's the default mode.
The non-cached version asks the question:

show me the differences between HEAD and the currently checked out
tree - index contents _and_ files that aren't up-to-date

which is obviously a very useful question too, since that tells you what
you *could* commit. Again, the output matches the 'git-diff-tree -r'
you *could* commit. Again, the output matches the 'git diff-tree -r'
output to a tee, but with a twist.

The twist is that if some file doesn't match the index, we don't have
a backing store thing for it, and we use the magic "all-zero" sha1 to
show that. So let's say that you have edited `kernel/sched.c`, but
have not actually done a 'git-update-index' on it yet - there is no
have not actually done a 'git update-index' on it yet - there is no
"object" associated with the new state, and you get:

torvalds@ppc970:~/v2.6/linux> git diff-index HEAD
@ -104,11 +104,11 @@ not up-to-date and may contain new stuff. The all-zero sha1 means that to @@ -104,11 +104,11 @@ not up-to-date and may contain new stuff. The all-zero sha1 means that to
get the real diff, you need to look at the object in the working directory
directly rather than do an object-to-object diff.

NOTE: As with other commands of this type, 'git-diff-index' does not
NOTE: As with other commands of this type, 'git diff-index' does not
actually look at the contents of the file at all. So maybe
`kernel/sched.c` hasn't actually changed, and it's just that you
touched it. In either case, it's a note that you need to
'git-update-index' it to make the index be in sync.
'git update-index' it to make the index be in sync.

NOTE: You can have a mixture of files show up as "has been updated"
and "is still dirty in the working directory" together. You can always

10
Documentation/git-diff-tree.txt

@ -20,7 +20,7 @@ Compares the content and mode of the blobs found via two tree objects. @@ -20,7 +20,7 @@ Compares the content and mode of the blobs found via two tree objects.
If there is only one <tree-ish> given, the commit is compared with its parents
(see --stdin below).

Note that 'git-diff-tree' can use the tree encapsulated in a commit object.
Note that 'git diff-tree' can use the tree encapsulated in a commit object.

OPTIONS
-------
@ -67,25 +67,25 @@ The following flags further affect the behavior when comparing @@ -67,25 +67,25 @@ The following flags further affect the behavior when comparing
commits (but not trees).

-m::
By default, 'git-diff-tree --stdin' does not show
By default, 'git diff-tree --stdin' does not show
differences for merge commits. With this flag, it shows
differences to that commit from all of its parents. See
also '-c'.

-s::
By default, 'git-diff-tree --stdin' shows differences,
By default, 'git diff-tree --stdin' shows differences,
either in machine-readable form (without '-p') or in patch
form (with '-p'). This output can be suppressed. It is
only useful with '-v' flag.

-v::
This flag causes 'git-diff-tree --stdin' to also show
This flag causes 'git diff-tree --stdin' to also show
the commit message before the differences.

include::pretty-options.txt[]

--no-commit-id::
'git-diff-tree' outputs a line with the commit ID when
'git diff-tree' outputs a line with the commit ID when
applicable. This flag suppressed the commit ID output.

-c::

16
Documentation/git-difftool.txt

@ -11,9 +11,9 @@ SYNOPSIS @@ -11,9 +11,9 @@ SYNOPSIS

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.
to 'git diff' and accepts the same options and arguments.

OPTIONS
-------
@ -33,23 +33,23 @@ OPTIONS @@ -33,23 +33,23 @@ OPTIONS
kdiff3, kompare, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff,
ecmerge, diffuse, opendiff, p4merge and araxis.
+
If a diff tool is not specified, 'git-difftool'
If a diff tool is not specified, 'git difftool'
will use the configuration variable `diff.tool`. If the
configuration variable `diff.tool` is not set, 'git-difftool'
configuration variable `diff.tool` is not set, 'git difftool'
will pick a suitable default.
+
You can explicitly provide a full path to the tool by setting the
configuration variable `difftool.<tool>.path`. For example, you
can configure the absolute path to kdiff3 by setting
`difftool.kdiff3.path`. Otherwise, 'git-difftool' assumes the
`difftool.kdiff3.path`. Otherwise, 'git difftool' assumes the
tool is available in PATH.
+
Instead of running one of the known diff tools,
'git-difftool' can be customized to run an alternative program
'git difftool' can be customized to run an alternative program
by specifying the command line to invoke in a configuration
variable `difftool.<tool>.cmd`.
+
When 'git-difftool' is invoked with this tool (either through the
When 'git difftool' is invoked with this tool (either through the
`-t` or `--tool` option or the `diff.tool` configuration variable)
the configured command line will be invoked with the following
variables available: `$LOCAL` is set to the name of the temporary
@ -62,7 +62,7 @@ See linkgit:git-diff[1] for the full list of supported options. @@ -62,7 +62,7 @@ See linkgit:git-diff[1] for the full list of supported options.

CONFIG VARIABLES
----------------
'git-difftool' falls back to 'git-mergetool' config variables when the
'git difftool' falls back to 'git mergetool' config variables when the
difftool equivalents have not been defined.

diff.tool::

12
Documentation/git-fast-export.txt

@ -13,18 +13,18 @@ SYNOPSIS @@ -13,18 +13,18 @@ SYNOPSIS
DESCRIPTION
-----------
This program dumps the given revisions in a form suitable to be piped
into 'git-fast-import'.
into 'git fast-import'.

You can use it as a human-readable bundle replacement (see
linkgit:git-bundle[1]), or as a kind of an interactive
'git-filter-branch'.
'git filter-branch'.


OPTIONS
-------
--progress=<n>::
Insert 'progress' statements every <n> objects, to be shown by
'git-fast-import' during import.
'git fast-import' during import.

--signed-tags=(verbatim|warn|strip|abort)::
Specify how to handle signed tags. Since any transformation
@ -91,8 +91,8 @@ marks the same across runs. @@ -91,8 +91,8 @@ marks the same across runs.
already contains the necessary objects.

[git-rev-list-args...]::
A list of arguments, acceptable to 'git-rev-parse' and
'git-rev-list', that specifies the specific objects and references
A list of arguments, acceptable to 'git rev-parse' and
'git rev-list', that specifies the specific objects and references
to export. For example, `master\~10..master` causes the
current master reference to be exported along with all objects
added since its 10th ancestor commit.
@ -125,7 +125,7 @@ referenced by that revision range contains the string @@ -125,7 +125,7 @@ referenced by that revision range contains the string
Limitations
-----------

Since 'git-fast-import' cannot tag trees, you will not be
Since 'git fast-import' cannot tag trees, you will not be
able to export the linux-2.6.git repository completely, as it contains
a tag referencing a tree instead of a commit.


20
Documentation/git-fast-import.txt

@ -15,7 +15,7 @@ DESCRIPTION @@ -15,7 +15,7 @@ DESCRIPTION
This program is usually not what the end user wants to run directly.
Most end users want to use one of the existing frontend programs,
which parses a specific type of foreign source and feeds the contents
stored there to 'git-fast-import'.
stored there to 'git fast-import'.

fast-import reads a mixed command/data stream from standard input and
writes one or more packfiles directly into the current repository.
@ -24,7 +24,7 @@ updated branch and tag refs, fully updating the current repository @@ -24,7 +24,7 @@ updated branch and tag refs, fully updating the current repository
with the newly imported data.

The fast-import backend itself can import into an empty repository (one that
has already been initialized by 'git-init') or incrementally
has already been initialized by 'git init') or incrementally
update an existing populated repository. Whether or not incremental
imports are supported from a particular foreign source depends on
the frontend program in use.
@ -82,7 +82,7 @@ OPTIONS @@ -82,7 +82,7 @@ OPTIONS
This information may be useful after importing projects
whose total object set exceeds the 4 GiB packfile limit,
as these commits can be used as edge points during calls
to 'git-pack-objects'.
to 'git pack-objects'.

--quiet::
Disable all non-fatal output, making fast-import silent when it
@ -124,9 +124,9 @@ an ideal situation, given that most conversion tools are throw-away @@ -124,9 +124,9 @@ an ideal situation, given that most conversion tools are throw-away

Parallel Operation
------------------
Like 'git-push' or 'git-fetch', imports handled by fast-import are safe to
Like 'git push' or 'git fetch', imports handled by fast-import are safe to
run alongside parallel `git repack -a -d` or `git gc` invocations,
or any other Git operation (including 'git-prune', as loose objects
or any other Git operation (including 'git prune', as loose objects
are never used by fast-import).

fast-import does not lock the branch or tag refs it is actively importing.
@ -220,7 +220,7 @@ variation in formatting will cause fast-import to reject the value. @@ -220,7 +220,7 @@ variation in formatting will cause fast-import to reject the value.
+
An example value is ``Tue Feb 6 11:22:18 2007 -0500''. The Git
parser is accurate, but a little on the lenient side. It is the
same parser used by 'git-am' when applying patches
same parser used by 'git am' when applying patches
received from email.
+
Some malformed strings may be accepted as valid dates. In some of
@ -256,7 +256,7 @@ timezone. @@ -256,7 +256,7 @@ timezone.
This particular format is supplied as its short to implement and
may be useful to a process that wants to create a new commit
right now, without needing to use a working directory or
'git-update-index'.
'git update-index'.
+
If separate `author` and `committer` commands are used in a `commit`
the timestamps may not match, as the system clock will be polled
@ -690,7 +690,7 @@ recommended, as the frontend does not (easily) have access to the @@ -690,7 +690,7 @@ recommended, as the frontend does not (easily) have access to the
complete set of bytes which normally goes into such a signature.
If signing is required, create lightweight tags from within fast-import with
`reset`, then create the annotated versions of those tags offline
with the standard 'git-tag' process.
with the standard 'git tag' process.

`reset`
~~~~~~~
@ -991,7 +991,7 @@ is not `refs/heads/TAG_FIXUP`). @@ -991,7 +991,7 @@ is not `refs/heads/TAG_FIXUP`).

When committing fixups, consider using `merge` to connect the
commit(s) which are supplying file revisions to the fixup branch.
Doing so will allow tools such as 'git-blame' to track
Doing so will allow tools such as 'git blame' to track
through the real commit history and properly annotate the source
files.

@ -1020,7 +1020,7 @@ Repacking Historical Data @@ -1020,7 +1020,7 @@ Repacking Historical Data
~~~~~~~~~~~~~~~~~~~~~~~~~
If you are repacking very old imported data (e.g. older than the
last year), consider expending some extra CPU time and supplying
\--window=50 (or higher) when you run 'git-repack'.
\--window=50 (or higher) when you run 'git repack'.
This will take longer, but will also produce a smaller packfile.
You only need to expend the effort once, and everyone using your
project will benefit from the smaller repository.

6
Documentation/git-fetch-pack.txt

@ -12,7 +12,7 @@ SYNOPSIS @@ -12,7 +12,7 @@ SYNOPSIS

DESCRIPTION
-----------
Usually you would want to use 'git-fetch', which is a
Usually you would want to use 'git fetch', which is a
higher level wrapper of this command, instead.

Invokes 'git-upload-pack' on a possibly remote repository
@ -33,12 +33,12 @@ OPTIONS @@ -33,12 +33,12 @@ OPTIONS

-q::
--quiet::
Pass '-q' flag to 'git-unpack-objects'; this makes the
Pass '-q' flag to 'git unpack-objects'; this makes the
cloning process less verbose.

-k::
--keep::
Do not invoke 'git-unpack-objects' on received data, but
Do not invoke 'git unpack-objects' on received data, but
create a single packfile out of it instead, and store it
in the object database. If provided twice then the pack is
locked against repacking.

2
Documentation/git-fetch.txt

@ -24,7 +24,7 @@ along with the objects necessary to complete them. @@ -24,7 +24,7 @@ along with the objects necessary to complete them.

The ref names and their object names of fetched refs are stored
in `.git/FETCH_HEAD`. This information is left for a later merge
operation done by 'git-merge'.
operation done by 'git merge'.

When <refspec> stores the fetched result in tracking branches,
the tags that point at these branches are automatically

18
Documentation/git-filter-branch.txt

@ -116,7 +116,7 @@ OPTIONS @@ -116,7 +116,7 @@ OPTIONS
--commit-filter <command>::
This is the filter for performing the commit.
If this filter is specified, it will be called instead of the
'git-commit-tree' command, with arguments of the form
'git commit-tree' command, with arguments of the form
"<TREE_ID> [-p <PARENT_COMMIT_ID>]..." and the log message on
stdin. The commit id is expected on stdout.
+
@ -127,7 +127,7 @@ have all of them as parents. @@ -127,7 +127,7 @@ have all of them as parents.
You can use the 'map' convenience function in this filter, and other
convenience functions, too. For example, calling 'skip_commit "$@"'
will leave out the current commit (but not its changes! If you want
that, use 'git-rebase' instead).
that, use 'git rebase' instead).
+
You can also use the `git_commit_non_empty_tree "$@"` instead of
`git commit-tree "$@"` if you don't wish to keep commits with a single parent
@ -196,15 +196,15 @@ the nearest ancestor that was not excluded. @@ -196,15 +196,15 @@ the nearest ancestor that was not excluded.

-f::
--force::
'git-filter-branch' refuses to start with an existing temporary
'git filter-branch' refuses to start with an existing temporary
directory or when there are already refs starting with
'refs/original/', unless forced.

<rev-list options>...::
Arguments for 'git-rev-list'. All positive refs included by
Arguments for 'git rev-list'. All positive refs included by
these options are rewritten. You may also specify options
such as '--all', but you must use '--' to separate them from
the 'git-filter-branch' options.
the 'git filter-branch' options.


Examples
@ -221,7 +221,7 @@ However, if the file is absent from the tree of some commit, @@ -221,7 +221,7 @@ However, if the file is absent from the tree of some commit,
a simple `rm filename` will fail for that tree and commit.
Thus you may instead want to use `rm -f filename` as the script.

Using `\--index-filter` with 'git-rm' yields a significantly faster
Using `\--index-filter` with 'git rm' yields a significantly faster
version. Like with using `rm filename`, `git rm --cached filename`
will fail if the file is absent from the tree of a commit. If you
want to "completely forget" a file, it does not matter when it entered
@ -303,7 +303,7 @@ and all children of the merge will become merge commits with P1,P2 @@ -303,7 +303,7 @@ and all children of the merge will become merge commits with P1,P2
as their parents instead of the merge commit.

You can rewrite the commit log messages using `--msg-filter`. For
example, 'git-svn-id' strings in a repository created by 'git-svn' can
example, 'git svn-id' strings in a repository created by 'git svn' can
be removed this way:

-------------------------------------------------------
@ -314,7 +314,7 @@ git filter-branch --msg-filter ' @@ -314,7 +314,7 @@ git filter-branch --msg-filter '

To restrict rewriting to only part of the history, specify a revision
range in addition to the new branch name. The new branch name will
point to the top-most revision that a 'git-rev-list' of this range
point to the top-most revision that a 'git rev-list' of this range
will print.

If you need to add 'Acked-by' lines to, say, the last 10 commits (none
@ -330,7 +330,7 @@ git filter-branch --msg-filter ' @@ -330,7 +330,7 @@ git filter-branch --msg-filter '
*NOTE* the changes introduced by the commits, and which are not reverted
by subsequent commits, will still be in the rewritten branch. If you want
to throw out _changes_ together with the commits, you should use the
interactive mode of 'git-rebase'.
interactive mode of 'git rebase'.


Consider this history:

2
Documentation/git-fmt-merge-msg.txt

@ -16,7 +16,7 @@ DESCRIPTION @@ -16,7 +16,7 @@ DESCRIPTION
-----------
Takes the list of merged objects on stdin and produces a suitable
commit message to be used for the merge commit, usually to be
passed as the '<merge-message>' argument of 'git-merge'.
passed as the '<merge-message>' argument of 'git merge'.

This command is intended mostly for internal use by scripts
automatically invoking 'git merge'.

2
Documentation/git-for-each-ref.txt

@ -82,7 +82,7 @@ objecttype:: @@ -82,7 +82,7 @@ objecttype::
The type of the object (`blob`, `tree`, `commit`, `tag`).

objectsize::
The size of the object (the same as 'git-cat-file -s' reports).
The size of the object (the same as 'git cat-file -s' reports).

objectname::
The object name (aka SHA-1).

4
Documentation/git-format-patch.txt

@ -29,7 +29,7 @@ DESCRIPTION @@ -29,7 +29,7 @@ DESCRIPTION
Prepare each commit with its patch in
one file per commit, formatted to resemble UNIX mailbox format.
The output of this command is convenient for e-mail submission or
for use with 'git-am'.
for use with 'git am'.

There are two ways to specify which commits to operate on.

@ -221,7 +221,7 @@ EXAMPLES @@ -221,7 +221,7 @@ EXAMPLES
--------

* Extract commits between revisions R1 and R2, and apply them on top of
the current branch using 'git-am' to cherry-pick them:
the current branch using 'git am' to cherry-pick them:
+
------------
$ git format-patch -k --stdout R1..R2 | git am -3 -k

4
Documentation/git-fsck.txt

@ -21,7 +21,7 @@ OPTIONS @@ -21,7 +21,7 @@ OPTIONS
<object>::
An object to treat as the head of an unreachability trace.
+
If no objects are given, 'git-fsck' defaults to using the
If no objects are given, 'git fsck' defaults to using the
index file, all SHA1 references in .git/refs/*, and all reflogs (unless
--no-reflogs is given) as heads.

@ -85,7 +85,7 @@ So for example @@ -85,7 +85,7 @@ So for example

will do quite a _lot_ of verification on the tree. There are a few
extra validity tests to be added (make sure that tree objects are
sorted properly etc), but on the whole if 'git-fsck' is happy, you
sorted properly etc), but on the whole if 'git fsck' is happy, you
do have a valid tree.

Any corrupt objects you will have to find in backups or other archives

20
Documentation/git-gc.txt

@ -15,13 +15,13 @@ DESCRIPTION @@ -15,13 +15,13 @@ DESCRIPTION
Runs a number of housekeeping tasks within the current repository,
such as compressing file revisions (to reduce disk space and increase
performance) and removing unreachable objects which may have been
created from prior invocations of 'git-add'.
created from prior invocations of 'git add'.

Users are encouraged to run this task on a regular basis within
each repository to maintain good disk space utilization and good
operating performance.

Some git commands may automatically run 'git-gc'; see the `--auto` flag
Some git commands may automatically run 'git gc'; see the `--auto` flag
below for details. If you know what you're doing and all you want is to
disable this behavior permanently without further considerations, just do:

@ -33,15 +33,15 @@ OPTIONS @@ -33,15 +33,15 @@ OPTIONS
-------

--aggressive::
Usually 'git-gc' runs very quickly while providing good disk
Usually 'git gc' runs very quickly while providing good disk
space utilization and performance. This option will cause
'git-gc' to more aggressively optimize the repository at the expense
'git gc' to more aggressively optimize the repository at the expense
of taking much more time. The effects of this optimization are
persistent, so this option only needs to be used occasionally; every
few hundred changesets or so.

--auto::
With this option, 'git-gc' checks whether any housekeeping is
With this option, 'git gc' checks whether any housekeeping is
required; if not, it exits without performing any work.
Some git commands run `git gc --auto` after performing
operations that could create many loose objects.
@ -50,13 +50,13 @@ Housekeeping is required if there are too many loose objects or @@ -50,13 +50,13 @@ Housekeeping is required if there are too many loose objects or
too many packs in the repository. If the number of loose objects
exceeds the value of the `gc.auto` configuration variable, then
all loose objects are combined into a single pack using
`git-repack -d -l`. Setting the value of `gc.auto` to 0
`git repack -d -l`. Setting the value of `gc.auto` to 0
disables automatic packing of loose objects.
+
If the number of packs exceeds the value of `gc.autopacklimit`,
then existing packs (except those marked with a `.keep` file)
are consolidated into a single pack by using the `-A` option of
'git-repack'. Setting `gc.autopacklimit` to 0 disables
'git repack'. Setting `gc.autopacklimit` to 0 disables
automatic consolidation of packs.

--prune=<date>::
@ -97,7 +97,7 @@ how long records of conflicted merge you have not resolved are @@ -97,7 +97,7 @@ how long records of conflicted merge you have not resolved are
kept. This defaults to 15 days.

The optional configuration variable 'gc.packrefs' determines if
'git-gc' runs 'git-pack-refs'. This can be set to "nobare" to enable
'git gc' runs 'git pack-refs'. This can be set to "nobare" to enable
it within all non-bare repos or it can be set to a boolean value.
This defaults to true.

@ -116,10 +116,10 @@ default is "2 weeks ago". @@ -116,10 +116,10 @@ default is "2 weeks ago".
Notes
-----

'git-gc' tries very hard to be safe about the garbage it collects. In
'git gc' tries very hard to be safe about the garbage it collects. In
particular, it will keep not only objects referenced by your current set
of branches and tags, but also objects referenced by the index, remote
tracking branches, refs saved by 'git-filter-branch' in
tracking branches, refs saved by 'git filter-branch' in
refs/original/, or reflogs (which may reference commits in branches
that were later amended or rewound).


6
Documentation/git-get-tar-commit-id.txt

@ -14,12 +14,12 @@ SYNOPSIS @@ -14,12 +14,12 @@ SYNOPSIS
DESCRIPTION
-----------
Acts as a filter, extracting the commit ID stored in archives created by
'git-archive'. It reads only the first 1024 bytes of input, thus its
'git archive'. It reads only the first 1024 bytes of input, thus its
runtime is not influenced by the size of <tarfile> very much.

If no commit ID is found, 'git-get-tar-commit-id' quietly exists with a
If no commit ID is found, 'git get-tar-commit-id' quietly exists with a
return code of 1. This can happen if <tarfile> had not been created
using 'git-archive' or if the first parameter of 'git-archive' had been
using 'git archive' or if the first parameter of 'git archive' had been
a tree ID instead of a commit ID or tag.



2
Documentation/git-grep.txt

@ -98,7 +98,7 @@ OPTIONS @@ -98,7 +98,7 @@ OPTIONS
--files-without-match::
Instead of showing every matched line, show only the
names of files that contain (or do not contain) matches.
For better compatibility with 'git-diff', --name-only is a
For better compatibility with 'git diff', --name-only is a
synonym for --files-with-matches.

-z::

20
Documentation/git-gui.txt

@ -11,19 +11,19 @@ SYNOPSIS @@ -11,19 +11,19 @@ SYNOPSIS

DESCRIPTION
-----------
A Tcl/Tk based graphical user interface to Git. 'git-gui' focuses
A Tcl/Tk based graphical user interface to Git. 'git gui' focuses
on allowing users to make changes to their repository by making
new commits, amending existing ones, creating branches, performing
local merges, and fetching/pushing to remote repositories.

Unlike 'gitk', 'git-gui' focuses on commit generation
Unlike 'gitk', 'git gui' focuses on commit generation
and single file annotation and does not show project history.
It does however supply menu actions to start a 'gitk' session from
within 'git-gui'.
within 'git gui'.

'git-gui' is known to work on all popular UNIX systems, Mac OS X,
'git gui' is known to work on all popular UNIX systems, Mac OS X,
and Windows (under both Cygwin and MSYS). To the extent possible
OS specific user interface guidelines are followed, making 'git-gui'
OS specific user interface guidelines are followed, making 'git gui'
a fairly native interface for users.

COMMANDS
@ -38,13 +38,13 @@ browser:: @@ -38,13 +38,13 @@ browser::
browser are opened in the blame viewer.

citool::
Start 'git-gui' and arrange to make exactly one commit before
Start 'git gui' and arrange to make exactly one commit before
exiting and returning to the shell. The interface is limited
to only commit actions, slightly reducing the application's
startup time and simplifying the menubar.

version::
Display the currently running version of 'git-gui'.
Display the currently running version of 'git gui'.


Examples
@ -103,15 +103,15 @@ SEE ALSO @@ -103,15 +103,15 @@ SEE ALSO
linkgit:gitk[1]::
The git repository browser. Shows branches, commit history
and file differences. gitk is the utility started by
'git-gui''s Repository Visualize actions.
'git gui''s Repository Visualize actions.

Other
-----
'git-gui' is actually maintained as an independent project, but stable
'git gui' is actually maintained as an independent project, but stable
versions are distributed as part of the Git suite for the convenience
of end users.

A 'git-gui' development repository can be obtained from:
A 'git gui' development repository can be obtained from:

git clone git://repo.or.cz/git-gui.git


2
Documentation/git-hash-object.txt

@ -18,7 +18,7 @@ Computes the object ID value for an object with specified type @@ -18,7 +18,7 @@ Computes the object ID value for an object with specified type
with the contents of the named file (which can be outside of the
work tree), and optionally writes the resulting object into the
object database. Reports its object ID to its standard output.
This is used by 'git-cvsimport' to update the index
This is used by 'git cvsimport' to update the index
without modifying files in the work tree. When <type> is not
specified, it defaults to "blob".


8
Documentation/git-help.txt

@ -55,8 +55,8 @@ other display programs (see below). @@ -55,8 +55,8 @@ other display programs (see below).
+
The web browser can be specified using the configuration variable
'help.browser', or 'web.browser' if the former is not set. If none of
these config variables is set, the 'git-web--browse' helper script
(called by 'git-help') will pick a suitable default. See
these config variables is set, the 'git web--browse' helper script
(called by 'git help') will pick a suitable default. See
linkgit:git-web--browse[1] for more information about this.

CONFIGURATION VARIABLES
@ -67,7 +67,7 @@ help.format @@ -67,7 +67,7 @@ help.format

If no command line option is passed, the 'help.format' configuration
variable will be checked. The following values are supported for this
variable; they make 'git-help' behave as their corresponding command
variable; they make 'git help' behave as their corresponding command
line option:

* "man" corresponds to '-m|--man',
@ -122,7 +122,7 @@ man.<tool>.path @@ -122,7 +122,7 @@ man.<tool>.path
You can explicitly provide a full path to your preferred man viewer by
setting the configuration variable 'man.<tool>.path'. For example, you
can configure the absolute path to konqueror by setting
'man.konqueror.path'. Otherwise, 'git-help' assumes the tool is
'man.konqueror.path'. Otherwise, 'git help' assumes the tool is
available in PATH.

man.<tool>.cmd

22
Documentation/git-http-backend.txt

@ -8,7 +8,7 @@ git-http-backend - Server side implementation of Git over HTTP @@ -8,7 +8,7 @@ git-http-backend - Server side implementation of Git over HTTP
SYNOPSIS
--------
[verse]
'git-http-backend'
'git http-backend'

DESCRIPTION
-----------
@ -19,10 +19,10 @@ and the backwards-compatible dumb HTTP protocol, as well as clients @@ -19,10 +19,10 @@ and the backwards-compatible dumb HTTP protocol, as well as clients
pushing using the smart HTTP protocol.

By default, only the `upload-pack` service is enabled, which serves
'git-fetch-pack' and 'git-ls-remote' clients, which are invoked from
'git-fetch', 'git-pull', and 'git-clone'. If the client is authenticated,
the `receive-pack` service is enabled, which serves 'git-send-pack'
clients, which is invoked from 'git-push'.
'git fetch-pack' and 'git ls-remote' clients, which are invoked from
'git fetch', 'git pull', and 'git clone'. If the client is authenticated,
the `receive-pack` service is enabled, which serves 'git send-pack'
clients, which is invoked from 'git push'.

SERVICES
--------
@ -38,12 +38,12 @@ http.getanyfile:: @@ -38,12 +38,12 @@ http.getanyfile::
by setting this configuration item to `false`.

http.uploadpack::
This serves 'git-fetch-pack' and 'git-ls-remote' clients.
This serves 'git fetch-pack' and 'git ls-remote' clients.
It is enabled by default, but a repository can disable it
by setting this configuration item to `false`.

http.receivepack::
This serves 'git-send-pack' clients, allowing push. It is
This serves 'git send-pack' clients, allowing push. It is
disabled by default for anonymous users, and enabled by
default for users authenticated by the web server. It can be
disabled by setting this item to `false`, or enabled for all
@ -51,11 +51,11 @@ http.receivepack:: @@ -51,11 +51,11 @@ http.receivepack::

URL TRANSLATION
---------------
To determine the location of the repository on disk, 'git-http-backend'
To determine the location of the repository on disk, 'git http-backend'
concatenates the environment variables PATH_INFO, which is set
automatically by the web server, and GIT_PROJECT_ROOT, which must be set
manually in the web server configuration. If GIT_PROJECT_ROOT is not
set, 'git-http-backend' reads PATH_TRANSLATED, which is also set
set, 'git http-backend' reads PATH_TRANSLATED, which is also set
automatically by the web server.

EXAMPLES
@ -98,7 +98,7 @@ directive around the repository, or one of its parent directories: @@ -98,7 +98,7 @@ directive around the repository, or one of its parent directories:
----------------------------------------------------------------
+
To serve gitweb at the same url, use a ScriptAliasMatch to only
those URLs that 'git-http-backend' can handle, and forward the
those URLs that 'git http-backend' can handle, and forward the
rest to gitweb:
+
----------------------------------------------------------------
@ -147,7 +147,7 @@ ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/ @@ -147,7 +147,7 @@ ScriptAlias /git/ /var/www/cgi-bin/gitweb.cgi/

ENVIRONMENT
-----------
'git-http-backend' relies upon the CGI environment variables set
'git http-backend' relies upon the CGI environment variables set
by the invoking web server, including:

* PATH_INFO (if GIT_PROJECT_ROOT is set, otherwise PATH_TRANSLATED)

2
Documentation/git-http-fetch.txt

@ -35,7 +35,7 @@ commit-id:: @@ -35,7 +35,7 @@ commit-id::

--stdin::
Instead of a commit id on the command line (which is not expected in this
case), 'git-http-fetch' expects lines on stdin in the format
case), 'git http-fetch' expects lines on stdin in the format

<commit-id>['\t'<filename-as-in--w>]


2
Documentation/git-imap-send.txt

@ -13,7 +13,7 @@ SYNOPSIS @@ -13,7 +13,7 @@ SYNOPSIS

DESCRIPTION
-----------
This command uploads a mailbox generated with 'git-format-patch'
This command uploads a mailbox generated with 'git format-patch'
into an IMAP drafts folder. This allows patches to be sent as
other email is when using mail clients that cannot read mailbox
files directly.

8
Documentation/git-index-pack.txt

@ -43,10 +43,10 @@ OPTIONS @@ -43,10 +43,10 @@ OPTIONS
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
'git-repack'.
'git repack'.

--fix-thin::
It is possible for 'git-pack-objects' to build
It is possible for 'git pack-objects' to build
"thin" pack, which records objects in deltified form based on
objects not included in the pack to reduce network traffic.
Those objects are expected to be present on the receiving end
@ -59,7 +59,7 @@ OPTIONS @@ -59,7 +59,7 @@ OPTIONS
Before moving the index into its final destination
create an empty .keep file for the associated pack file.
This option is usually necessary with --stdin to prevent a
simultaneous 'git-repack' process from deleting
simultaneous 'git repack' process from deleting
the newly constructed pack and index before refs can be
updated to use objects contained in the pack.

@ -86,7 +86,7 @@ Once the index has been created, the list of object names is sorted @@ -86,7 +86,7 @@ Once the index has been created, the list of object names is sorted
and the SHA1 hash of that list is printed to stdout. If --stdin was
also used then this is prefixed by either "pack\t", or "keep\t" if a
new .keep file was successfully created. This is useful to remove a
.keep file used as a lock to prevent the race with 'git-repack'
.keep file used as a lock to prevent the race with 'git repack'
mentioned above.



6
Documentation/git-init.txt

@ -95,11 +95,11 @@ If the object storage directory is specified via the `$GIT_OBJECT_DIRECTORY` @@ -95,11 +95,11 @@ If the object storage directory is specified via the `$GIT_OBJECT_DIRECTORY`
environment variable then the sha1 directories are created underneath -
otherwise the default `$GIT_DIR/objects` directory is used.

Running 'git-init' in an existing repository is safe. It will not overwrite
things that are already there. The primary reason for rerunning 'git-init'
Running 'git init' in an existing repository is safe. It will not overwrite
things that are already there. The primary reason for rerunning 'git init'
is to pick up newly added templates.

Note that 'git-init' is the same as 'git-init-db'. The command
Note that 'git init' is the same as 'git init-db'. The command
was primarily meant to initialize the object database, but over
time it has become responsible for setting up the other aspects
of the repository, such as installing the default hooks and

2
Documentation/git-instaweb.txt

@ -44,7 +44,7 @@ OPTIONS @@ -44,7 +44,7 @@ OPTIONS
-b::
--browser::
The web browser that should be used to view the gitweb
page. This will be passed to the 'git-web--browse' helper
page. This will be passed to the 'git web--browse' helper
script along with the URL of the gitweb instance. See
linkgit:git-web--browse[1] for more information about this. If
the script fails, the URL will be printed to stdout.

4
Documentation/git-log.txt

@ -14,9 +14,9 @@ DESCRIPTION @@ -14,9 +14,9 @@ DESCRIPTION
-----------
Shows the commit logs.

The command takes options applicable to the 'git-rev-list'
The command takes options applicable to the 'git rev-list'
command to control what is shown and how, and options applicable to
the 'git-diff-*' commands to control how the changes
the 'git diff-*' commands to control how the changes
each commit introduces are shown.



6
Documentation/git-ls-files.txt

@ -145,7 +145,7 @@ which case it outputs: @@ -145,7 +145,7 @@ which case it outputs:

[<tag> ]<mode> <object> <stage> <file>

'git-ls-files --unmerged' and 'git-ls-files --stage' can be used to examine
'git ls-files --unmerged' and 'git ls-files --stage' can be used to examine
detailed information on unmerged paths.

For an unmerged path, instead of recording a single mode/SHA1 pair,
@ -162,7 +162,7 @@ respectively. @@ -162,7 +162,7 @@ respectively.
Exclude Patterns
----------------

'git-ls-files' can use a list of "exclude patterns" when
'git ls-files' can use a list of "exclude patterns" when
traversing the directory tree and finding files to show when the
flags --others or --ignored are specified. linkgit:gitignore[5]
specifies the format of exclude patterns.
@ -178,7 +178,7 @@ These exclude patterns come from these places, in order: @@ -178,7 +178,7 @@ These exclude patterns come from these places, in order:
in the same order they appear in the file.

3. command line flag --exclude-per-directory=<name> specifies
a name of the file in each directory 'git-ls-files'
a name of the file in each directory 'git ls-files'
examines, normally `.gitignore`. Files in deeper
directories take precedence. Patterns are ordered in the
same order they appear in the files.

4
Documentation/git-mailinfo.txt

@ -16,7 +16,7 @@ DESCRIPTION @@ -16,7 +16,7 @@ DESCRIPTION
Reads a single e-mail message from the standard input, and
writes the commit log message in <msg> file, and the patches in
<patch> file. The author name, e-mail and e-mail subject are
written out to the standard output to be used by 'git-am'
written out to the standard output to be used by 'git am'
to create a commit. It is usually not necessary to use this
command directly. See linkgit:git-am[1] instead.

@ -30,7 +30,7 @@ OPTIONS @@ -30,7 +30,7 @@ OPTIONS
whitespaces, (3) '[' up to ']', typically '[PATCH]', and
then prepends "[PATCH] ". This flag forbids this
munging, and is most useful when used to read back
'git-format-patch -k' output.
'git format-patch -k' output.

-b::
When -k is not in effect, all leading strings bracketed with '['

10
Documentation/git-merge-file.txt

@ -15,15 +15,15 @@ SYNOPSIS @@ -15,15 +15,15 @@ SYNOPSIS

DESCRIPTION
-----------
'git-merge-file' incorporates all changes that lead from the `<base-file>`
'git merge-file' incorporates all changes that lead from the `<base-file>`
to `<other-file>` into `<current-file>`. The result ordinarily goes into
`<current-file>`. 'git-merge-file' is useful for combining separate changes
`<current-file>`. 'git merge-file' is useful for combining separate changes
to an original. Suppose `<base-file>` is the original, and both
`<current-file>` and `<other-file>` are modifications of `<base-file>`,
then 'git-merge-file' combines both changes.
then 'git merge-file' combines both changes.

A conflict occurs if both `<current-file>` and `<other-file>` have changes
in a common segment of lines. If a conflict is found, 'git-merge-file'
in a common segment of lines. If a conflict is found, 'git merge-file'
normally outputs a warning and brackets the conflict with lines containing
<<<<<<< and >>>>>>> markers. A typical conflict will look like this:

@ -39,7 +39,7 @@ the alternatives. @@ -39,7 +39,7 @@ the alternatives.
The exit value of this program is negative on error, and the number of
conflicts otherwise. If the merge was clean, the exit value is 0.

'git-merge-file' is designed to be a minimal clone of RCS 'merge'; that is, it
'git merge-file' is designed to be a minimal clone of RCS 'merge'; that is, it
implements all of RCS 'merge''s functionality which is needed by
linkgit:git[1].


8
Documentation/git-merge-index.txt

@ -36,14 +36,14 @@ OPTIONS @@ -36,14 +36,14 @@ OPTIONS
failure usually indicates conflicts during the merge). This is for
porcelains which might want to emit custom messages.

If 'git-merge-index' is called with multiple <file>s (or -a) then it
If 'git merge-index' is called with multiple <file>s (or -a) then it
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
the 'merge' command from the RCS package.

A sample script called 'git-merge-one-file' is included in the
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
@ -68,10 +68,10 @@ or @@ -68,10 +68,10 @@ or
This is added AA in the branch B.
fatal: merge program failed

where the latter example shows how 'git-merge-index' will stop trying to
where the latter example shows how 'git merge-index' will stop trying to
merge once anything has returned an error (i.e., `cat` returned an error
for the AA file, because it didn't exist in the original, and thus
'git-merge-index' didn't even try to merge the MM thing).
'git merge-index' didn't even try to merge the MM thing).

Author
------

6
Documentation/git-merge-one-file.txt

@ -8,12 +8,12 @@ git-merge-one-file - The standard helper program to use with git-merge-index @@ -8,12 +8,12 @@ git-merge-one-file - The standard helper program to use with git-merge-index

SYNOPSIS
--------
'git-merge-one-file'
'git merge-one-file'

DESCRIPTION
-----------
This is the standard helper program to use with 'git-merge-index'
to resolve a merge after the trivial merge done with 'git-read-tree -m'.
This is the standard helper program to use with 'git merge-index'
to resolve a merge after the trivial merge done with 'git read-tree -m'.

Author
------

6
Documentation/git-merge.txt

@ -22,7 +22,7 @@ The second syntax (<msg> `HEAD` <commit>...) is supported for @@ -22,7 +22,7 @@ The second syntax (<msg> `HEAD` <commit>...) is supported for
historical reasons. Do not use it from the command line or in
new scripts. It is the same as `git merge -m <msg> <commit>...`.

*Warning*: Running 'git-merge' with uncommitted changes is
*Warning*: Running 'git merge' with uncommitted changes is
discouraged: while possible, it leaves you in a state that is hard to
back out of in the case of a conflict.

@ -46,7 +46,7 @@ include::merge-strategies.txt[] @@ -46,7 +46,7 @@ include::merge-strategies.txt[]


If you tried a merge which resulted in complex conflicts and
want to start over, you can recover with 'git-reset'.
want to start over, you can recover with 'git reset'.

CONFIGURATION
-------------
@ -198,7 +198,7 @@ After seeing a conflict, you can do two things: @@ -198,7 +198,7 @@ After seeing a conflict, you can do two things:

* Resolve the conflicts. Git will mark the conflicts in
the working tree. Edit the files into shape and
'git-add' them to the index. Use 'git-commit' to seal the deal.
'git add' them to the index. Use 'git commit' to seal the deal.

You can work through the conflict with a number of tools:


16
Documentation/git-mergetool.txt

@ -13,11 +13,11 @@ DESCRIPTION @@ -13,11 +13,11 @@ DESCRIPTION
-----------

Use `git mergetool` to run one of several merge utilities to resolve
merge conflicts. It is typically run after 'git-merge'.
merge conflicts. It is typically run after 'git merge'.

If one or more <file> parameters are given, the merge tool program will
be run to resolve differences on each file. If no <file> names are
specified, 'git-mergetool' will run the merge tool program on every file
specified, 'git mergetool' will run the merge tool program on every file
with merge conflicts.

OPTIONS
@ -29,23 +29,23 @@ OPTIONS @@ -29,23 +29,23 @@ OPTIONS
kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge,
diffuse, tortoisemerge, opendiff, p4merge and araxis.
+
If a merge resolution program is not specified, 'git-mergetool'
If a merge resolution program is not specified, 'git mergetool'
will use the configuration variable `merge.tool`. If the
configuration variable `merge.tool` is not set, 'git-mergetool'
configuration variable `merge.tool` is not set, 'git mergetool'
will pick a suitable default.
+
You can explicitly provide a full path to the tool by setting the
configuration variable `mergetool.<tool>.path`. For example, you
can configure the absolute path to kdiff3 by setting
`mergetool.kdiff3.path`. Otherwise, 'git-mergetool' assumes the
`mergetool.kdiff3.path`. Otherwise, 'git mergetool' assumes the
tool is available in PATH.
+
Instead of running one of the known merge tool programs,
'git-mergetool' can be customized to run an alternative program
'git mergetool' can be customized to run an alternative program
by specifying the command line to invoke in a configuration
variable `mergetool.<tool>.cmd`.
+
When 'git-mergetool' is invoked with this tool (either through the
When 'git mergetool' is invoked with this tool (either through the
`-t` or `--tool` option or the `merge.tool` configuration
variable) the configured command line will be invoked with `$BASE`
set to the name of a temporary file containing the common base for
@ -59,7 +59,7 @@ merge resolution. @@ -59,7 +59,7 @@ merge resolution.
If the custom merge tool correctly indicates the success of a
merge resolution with its exit code, then the configuration
variable `mergetool.<tool>.trustExitCode` can be set to `true`.
Otherwise, 'git-mergetool' will prompt the user to indicate the
Otherwise, 'git mergetool' will prompt the user to indicate the
success of the resolution after the custom tool has exited.

-y::

4
Documentation/git-name-rev.txt

@ -15,7 +15,7 @@ SYNOPSIS @@ -15,7 +15,7 @@ SYNOPSIS
DESCRIPTION
-----------
Finds symbolic names suitable for human digestion for revisions given in any
format parsable by 'git-rev-parse'.
format parsable by 'git rev-parse'.


OPTIONS
@ -55,7 +55,7 @@ wrote you about that fantastic commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a. @@ -55,7 +55,7 @@ wrote you about that fantastic commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a.
Of course, you look into the commit, but that only tells you what happened, but
not the context.

Enter 'git-name-rev':
Enter 'git name-rev':

------------
% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a

2
Documentation/git-notes.txt

@ -8,7 +8,7 @@ git-notes - Add/inspect commit notes @@ -8,7 +8,7 @@ git-notes - Add/inspect commit notes
SYNOPSIS
--------
[verse]
'git-notes' (edit [-F <file> | -m <msg>] | show) [commit]
'git notes' (edit [-F <file> | -m <msg>] | show) [commit]

DESCRIPTION
-----------

6
Documentation/git-pack-objects.txt

@ -32,7 +32,7 @@ Placing both in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or @@ -32,7 +32,7 @@ Placing both in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or
any of the directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES)
enables git to read from such an archive.

The 'git-unpack-objects' command can read the packed archive and
The 'git unpack-objects' command can read the packed archive and
expand the objects contained in the pack into "one-file
one-object" format; this is typically done by the smart-pull
commands when a pack is created on-the-fly for efficient network
@ -61,7 +61,7 @@ base-name:: @@ -61,7 +61,7 @@ base-name::
--revs::
Read the revision arguments from the standard input, instead of
individual object names. The revision arguments are processed
the same way as 'git-rev-list' with the `--objects` flag
the same way as 'git rev-list' with the `--objects` flag
uses its `commit` arguments to build the list of objects it
outputs. The objects on the resulting list are packed.

@ -182,7 +182,7 @@ base-name:: @@ -182,7 +182,7 @@ base-name::
A packed archive can express base object of a delta as
either 20-byte object name or as an offset in the
stream, but older version of git does not understand the
latter. By default, 'git-pack-objects' only uses 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
compactness. Depending on the average delta chain

2
Documentation/git-pack-redundant.txt

@ -16,7 +16,7 @@ This program computes which packs in your repository @@ -16,7 +16,7 @@ This program computes which packs in your repository
are redundant. The output is suitable for piping to
`xargs rm` if you are in the root of the repository.

'git-pack-redundant' accepts a list of objects on standard input. Any objects
'git pack-redundant' accepts a list of objects on standard input. Any objects
given will be ignored when checking which packs are required. This makes the
following command useful when wanting to remove packs which contain unreachable
objects.

2
Documentation/git-patch-id.txt

@ -18,7 +18,7 @@ ID" are almost guaranteed to be the same thing. @@ -18,7 +18,7 @@ ID" are almost guaranteed to be the same thing.

IOW, you can use this thing to look for likely duplicate commits.

When dealing with 'git-diff-tree' output, it takes advantage of
When dealing with 'git diff-tree' output, it takes advantage of
the fact that the patch is prefixed with the object name of the
commit, and outputs two 40-byte hexadecimal strings. The first
string is the patch ID, and the second string is the commit ID.

2
Documentation/git-peek-remote.txt

@ -12,7 +12,7 @@ SYNOPSIS @@ -12,7 +12,7 @@ SYNOPSIS

DESCRIPTION
-----------
This command is deprecated; use 'git-ls-remote' instead.
This command is deprecated; use 'git ls-remote' instead.

OPTIONS
-------

16
Documentation/git-prune.txt

@ -8,21 +8,21 @@ git-prune - Prune all unreachable objects from the object database @@ -8,21 +8,21 @@ git-prune - Prune all unreachable objects from the object database

SYNOPSIS
--------
'git-prune' [-n] [-v] [--expire <expire>] [--] [<head>...]
'git prune' [-n] [-v] [--expire <expire>] [--] [<head>...]

DESCRIPTION
-----------

NOTE: In most cases, users should run 'git-gc', which calls
'git-prune'. See the section "NOTES", below.
NOTE: In most cases, users should run 'git gc', which calls
'git prune'. See the section "NOTES", below.

This runs 'git-fsck --unreachable' using all the refs
This runs 'git fsck --unreachable' using all the refs
available in `$GIT_DIR/refs`, optionally with additional set of
objects specified on the command line, and prunes all unpacked
objects unreachable from any of these head objects from the object database.
In addition, it
prunes the unpacked objects that are also found in packs by
running 'git-prune-packed'.
running 'git prune-packed'.

Note that unreachable, packed objects will remain. If this is
not desired, see linkgit:git-repack[1].
@ -62,12 +62,12 @@ $ git prune $(cd ../another && $(git rev-parse --all)) @@ -62,12 +62,12 @@ $ git prune $(cd ../another && $(git rev-parse --all))
Notes
-----

In most cases, users will not need to call 'git-prune' directly, but
should instead call 'git-gc', which handles pruning along with
In most cases, users will not need to call 'git prune' directly, but
should instead call 'git gc', which handles pruning along with
many other housekeeping tasks.

For a description of which objects are considered for pruning, see
'git-fsck''s --unreachable option.
'git fsck''s --unreachable option.

SEE ALSO
--------

12
Documentation/git-pull.txt

@ -13,18 +13,18 @@ SYNOPSIS @@ -13,18 +13,18 @@ SYNOPSIS

DESCRIPTION
-----------
Runs 'git-fetch' with the given parameters, and calls 'git-merge'
Runs 'git fetch' with the given parameters, and calls 'git merge'
to merge the retrieved head(s) into the current branch.
With `--rebase`, calls 'git-rebase' instead of 'git-merge'.
With `--rebase`, calls 'git rebase' instead of 'git merge'.

Note that you can use `.` (current directory) as the
<repository> to pull from the local repository -- this is useful
when merging local branches into the current branch.

Also note that options meant for 'git-pull' itself and underlying
'git-merge' must be given before the options meant for 'git-fetch'.
Also note that options meant for 'git pull' itself and underlying
'git merge' must be given before the options meant for 'git fetch'.

*Warning*: Running 'git-pull' (actually, the underlying 'git-merge')
*Warning*: Running 'git pull' (actually, the underlying 'git merge')
with uncommitted changes is discouraged: while possible, it leaves you
in a state that is hard to back out of in the case of a conflict.

@ -152,7 +152,7 @@ $ git merge origin/next @@ -152,7 +152,7 @@ $ git merge origin/next


If you tried a pull which resulted in a complex conflicts and
would want to start over, you can recover with 'git-reset'.
would want to start over, you can recover with 'git reset'.


SEE ALSO

6
Documentation/git-push.txt

@ -112,7 +112,7 @@ nor in any Push line of the corresponding remotes file---see below). @@ -112,7 +112,7 @@ nor in any Push line of the corresponding remotes file---see below).

--repo=<repository>::
This option is only relevant if no <repository> argument is
passed in the invocation. In this case, 'git-push' derives the
passed in the invocation. In this case, 'git push' derives the
remote name from the current branch: If it tracks a remote
branch, then that remote repository is pushed to. Otherwise,
the name "origin" is used. For this latter case, this option
@ -126,11 +126,11 @@ git push --repo=public #2 @@ -126,11 +126,11 @@ git push --repo=public #2
+
is that #1 always pushes to "public" whereas #2 pushes to "public"
only if the current branch does not track a remote branch. This is
useful if you write an alias or script around 'git-push'.
useful if you write an alias or script around 'git push'.

--thin::
--no-thin::
These options are passed to 'git-send-pack'. Thin
These options are passed to 'git send-pack'. Thin
transfer spends extra cycles to minimize the number of
objects to be sent and meant to be used on slower connection.


42
Documentation/git-read-tree.txt

@ -25,8 +25,8 @@ fast-forward (i.e. 2-way) merge, or a 3-way merge, with the `-m` @@ -25,8 +25,8 @@ fast-forward (i.e. 2-way) merge, or a 3-way merge, with the `-m`
flag. When used with `-m`, the `-u` flag causes it to also update
the files in the work tree with the result of the merge.

Trivial merges are done by 'git-read-tree' itself. Only conflicting paths
will be in unmerged state when 'git-read-tree' returns.
Trivial merges are done by 'git read-tree' itself. Only conflicting paths
will be in unmerged state when 'git read-tree' returns.

OPTIONS
-------
@ -57,13 +57,13 @@ OPTIONS @@ -57,13 +57,13 @@ OPTIONS
Show the progress of checking files out.

--trivial::
Restrict three-way merge by 'git-read-tree' to happen
Restrict three-way merge by 'git read-tree' to happen
only if there is no file-level merging required, instead
of resolving merge for trivial cases and leaving
conflicting files unresolved in the index.

--aggressive::
Usually a three-way merge by 'git-read-tree' resolves
Usually a three-way merge by 'git read-tree' resolves
the merge for really trivial cases and leaves other
cases unresolved in the index, so that Porcelains can
implement different merge policies. This flag makes the
@ -116,7 +116,7 @@ OPTIONS @@ -116,7 +116,7 @@ OPTIONS

Merging
-------
If `-m` is specified, 'git-read-tree' can perform 3 kinds of
If `-m` is specified, 'git read-tree' can perform 3 kinds of
merge, a single tree merge if only 1 tree is given, a
fast-forward merge with 2 trees, or a 3-way merge if 3 trees are
provided.
@ -124,18 +124,18 @@ provided. @@ -124,18 +124,18 @@ provided.

Single Tree Merge
~~~~~~~~~~~~~~~~~
If only 1 tree is specified, 'git-read-tree' operates as if the user did not
If only 1 tree is specified, 'git read-tree' operates as if the user did not
specify `-m`, except that if the original index has an entry for a
given pathname, and the contents of the path matches with the tree
being read, the stat info from the index is used. (In other words, the
index's stat()s take precedence over the merged tree's).

That means that if you do a `git read-tree -m <newtree>` followed by a
`git checkout-index -f -u -a`, the 'git-checkout-index' only checks out
`git checkout-index -f -u -a`, the 'git checkout-index' only checks out
the stuff that really changed.

This is used to avoid unnecessary false hits when 'git-diff-files' is
run after 'git-read-tree'.
This is used to avoid unnecessary false hits when 'git diff-files' is
run after 'git read-tree'.


Two Tree Merge
@ -146,7 +146,7 @@ is the head commit of the current repository, and $M is the head @@ -146,7 +146,7 @@ is the head commit of the current repository, and $M is the head
of a foreign tree, which is simply ahead of $H (i.e. we are in a
fast-forward situation).

When two trees are specified, the user is telling 'git-read-tree'
When two trees are specified, the user is telling 'git read-tree'
the following:

1. The current index and work tree is derived from $H, but
@ -199,10 +199,10 @@ Here are the "carry forward" rules: @@ -199,10 +199,10 @@ Here are the "carry forward" rules:

In all "keep index" cases, the index entry stays as in the
original index file. If the entry were not up to date,
'git-read-tree' keeps the copy in the work tree intact when
'git read-tree' keeps the copy in the work tree intact when
operating under the -u flag.

When this form of 'git-read-tree' returns successfully, you can
When this form of 'git read-tree' returns successfully, you can
see what "local changes" you made are carried forward by running
`git diff-index --cached $M`. Note that this does not
necessarily match `git diff-index --cached $H` would have
@ -225,7 +225,7 @@ of the path is kept as long as $H and $M are the same. @@ -225,7 +225,7 @@ of the path is kept as long as $H and $M are the same.
Each "index" entry has two bits worth of "stage" state. stage 0 is the
normal one, and is the only one you'd see in any kind of normal use.

However, when you do 'git-read-tree' with three trees, the "stage"
However, when you do 'git read-tree' with three trees, the "stage"
starts out at 1.

This means that you can do
@ -241,7 +241,7 @@ branch into the current branch, we use the common ancestor tree @@ -241,7 +241,7 @@ branch into the current branch, we use the common ancestor tree
as <tree1>, the current branch head as <tree2>, and the other
branch head as <tree3>.

Furthermore, 'git-read-tree' has special-case logic that says: if you see
Furthermore, 'git read-tree' has special-case logic that says: if you see
a file that matches in all respects in the following states, it
"collapses" back to "stage0":

@ -257,7 +257,7 @@ a file that matches in all respects in the following states, it @@ -257,7 +257,7 @@ a file that matches in all respects in the following states, it
- stage 1 and stage 3 are the same and stage 2 is different take
stage 2 (we did something while they did nothing)

The 'git-write-tree' command refuses to write a nonsensical tree, and it
The 'git write-tree' command refuses to write a nonsensical tree, and it
will complain about unmerged entries if it sees a single entry that is not
stage 0.

@ -273,7 +273,7 @@ start a 3-way merge with an index file that is already @@ -273,7 +273,7 @@ start a 3-way merge with an index file that is already
populated. Here is an outline of how the algorithm works:

- if a file exists in identical format in all three trees, it will
automatically collapse to "merged" state by 'git-read-tree'.
automatically collapse to "merged" state by 'git read-tree'.

- a file that has _any_ difference what-so-ever in the three trees
will stay as separate entries in the index. It's up to "porcelain
@ -297,8 +297,8 @@ populated. Here is an outline of how the algorithm works: @@ -297,8 +297,8 @@ populated. Here is an outline of how the algorithm works:
matching "stage1" entry if it exists too. .. all the normal
trivial rules ..

You would normally use 'git-merge-index' with supplied
'git-merge-one-file' to do this last step. The script updates
You would normally use 'git merge-index' with supplied
'git merge-one-file' to do this last step. The script updates
the files in the working tree as it merges each path and at the
end of a successful merge.

@ -320,7 +320,7 @@ $ JC=`git rev-parse --verify "HEAD^0"` @@ -320,7 +320,7 @@ $ JC=`git rev-parse --verify "HEAD^0"`
$ git checkout-index -f -u -a $JC
----------------

You do random edits, without running 'git-update-index'. And then
You do random edits, without running 'git update-index'. And then
you notice that the tip of your "upstream" tree has advanced
since you pulled from him:

@ -346,14 +346,14 @@ your work-in-progress changes, and your work tree would be @@ -346,14 +346,14 @@ your work-in-progress changes, and your work tree would be
updated to the result of the merge.

However, if you have local changes in the working tree that
would be overwritten by this merge, 'git-read-tree' will refuse
would be overwritten by this merge, 'git read-tree' will refuse
to run to prevent your changes from being lost.

In other words, there is no need to worry about what exists only
in the working tree. When you have local changes in a part of
the project that is not involved in the merge, your changes do
not interfere with the merge, and are kept intact. When they
*do* interfere, the merge does not even start ('git-read-tree'
*do* interfere, the merge does not even start ('git read-tree'
complains loudly and fails without modifying anything). In such
a case, you can simply continue doing what you were in the
middle of doing, and when your working tree is ready (i.e. you

38
Documentation/git-rebase.txt

@ -17,7 +17,7 @@ SYNOPSIS @@ -17,7 +17,7 @@ SYNOPSIS

DESCRIPTION
-----------
If <branch> is specified, 'git-rebase' will perform an automatic
If <branch> is specified, 'git rebase' will perform an automatic
`git checkout <branch>` before doing anything else. Otherwise
it remains on the current branch.

@ -170,8 +170,8 @@ This is useful if F and G were flawed in some way, or should not be @@ -170,8 +170,8 @@ This is useful if F and G were flawed in some way, or should not be
part of topicA. Note that the argument to --onto and the <upstream>
parameter can be any valid commit-ish.

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
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,
typically this would be done with
@ -187,7 +187,7 @@ desired resolution, you can continue the rebasing process with @@ -187,7 +187,7 @@ desired resolution, you can continue the rebasing process with
git rebase --continue


Alternatively, you can undo the 'git-rebase' with
Alternatively, you can undo the 'git rebase' with


git rebase --abort
@ -238,10 +238,10 @@ other words, the sides are swapped. @@ -238,10 +238,10 @@ other words, the sides are swapped.
-s <strategy>::
--strategy=<strategy>::
Use the given merge strategy.
If there is no `-s` option 'git-merge-recursive' is used
If there is no `-s` option 'git merge-recursive' is used
instead. This implies --merge.
+
Because 'git-rebase' replays each commit from the working branch
Because 'git rebase' replays each commit from the working branch
on top of the <upstream> branch using the given strategy, using
the 'ours' strategy simply discards all patches from the <branch>,
which makes little sense.
@ -280,13 +280,13 @@ which makes little sense. @@ -280,13 +280,13 @@ which makes little sense.

--ignore-whitespace::
--whitespace=<option>::
These flag are passed to the 'git-apply' program
These flag are passed to the 'git apply' program
(see linkgit:git-apply[1]) that applies the patch.
Incompatible with the --interactive option.

--committer-date-is-author-date::
--ignore-date::
These flags are passed to 'git-am' to easily change the dates
These flags are passed to 'git am' to easily change the dates
of the rebased commits (see linkgit:git-am[1]).

-i::
@ -313,7 +313,7 @@ include::merge-strategies.txt[] @@ -313,7 +313,7 @@ include::merge-strategies.txt[]
NOTES
-----

You should understand the implications of using 'git-rebase' on a
You should understand the implications of using 'git rebase' on a
repository that you share. See also RECOVERING FROM UPSTREAM REBASE
below.

@ -369,12 +369,12 @@ pick fa1afe1 The oneline of the next commit @@ -369,12 +369,12 @@ pick fa1afe1 The oneline of the next commit
...
-------------------------------------------

The oneline descriptions are purely for your pleasure; 'git-rebase' will
The oneline descriptions are purely for your pleasure; 'git rebase' will
not look at them but at the commit names ("deadbee" and "fa1afe1" in this
example), so do not delete or edit the names.

By replacing the command "pick" with the command "edit", you can tell
'git-rebase' to stop after applying that commit, so that you can edit
'git rebase' to stop after applying that commit, so that you can edit
the files and/or the commit message, amend the commit, and continue
rebasing.

@ -386,13 +386,13 @@ If you want to fold two or more commits into one, replace the command @@ -386,13 +386,13 @@ If you want to fold two or more commits into one, replace the command
commits had different authors, it will attribute the squashed commit to
the author of the first commit.

'git-rebase' will stop when "pick" has been replaced with "edit" or
'git rebase' will stop when "pick" has been replaced with "edit" or
when a command fails due to merge errors. When you are done editing
and/or resolving conflicts you can continue with `git rebase --continue`.

For example, if you want to reorder the last 5 commits, such that what
was HEAD~4 becomes the new HEAD. To achieve that, you would call
'git-rebase' like this:
'git rebase' like this:

----------------------
$ git rebase -i HEAD~5
@ -422,7 +422,7 @@ SPLITTING COMMITS @@ -422,7 +422,7 @@ SPLITTING COMMITS
-----------------

In interactive mode, you can mark commits with the action "edit". However,
this does not necessarily mean that 'git-rebase' expects the result of this
this does not necessarily mean that 'git rebase' expects the result of this
edit to be exactly one commit. Indeed, you can undo the commit, or you can
add other commits. This can be used to split a commit into two:

@ -438,7 +438,7 @@ add other commits. This can be used to split a commit into two: @@ -438,7 +438,7 @@ add other commits. This can be used to split a commit into two:

- Now add the changes to the index that you want to have in the first
commit. You can use `git add` (possibly interactively) or
'git-gui' (or both) to do that.
'git gui' (or both) to do that.

- Commit the now-current index with whatever commit message is appropriate
now.
@ -449,7 +449,7 @@ add other commits. This can be used to split a commit into two: @@ -449,7 +449,7 @@ add other commits. This can be used to split a commit into two:

If you are not absolutely sure that the intermediate revisions are
consistent (they compile, pass the testsuite, etc.) you should use
'git-stash' to stash away the not-yet-committed changes
'git stash' to stash away the not-yet-committed changes
after each commit, test, and amend the commit if fixes are necessary.


@ -524,7 +524,7 @@ Only works if the changes (patch IDs based on the diff contents) on @@ -524,7 +524,7 @@ Only works if the changes (patch IDs based on the diff contents) on
'subsystem' are literally the same before and after the rebase
'subsystem' did.

In that case, the fix is easy because 'git-rebase' knows to skip
In that case, the fix is easy because 'git rebase' knows to skip
changes that are already present in the new upstream. So if you say
(assuming you're on 'topic')
------------
@ -551,12 +551,12 @@ NOTE: While an "easy case recovery" sometimes appears to be successful @@ -551,12 +551,12 @@ NOTE: While an "easy case recovery" sometimes appears to be successful
example, a commit that was removed via `git rebase
\--interactive` will be **resurrected**!

The idea is to manually tell 'git-rebase' "where the old 'subsystem'
The idea is to manually tell 'git rebase' "where the old 'subsystem'
ended and your 'topic' began", that is, what the old merge-base
between them was. You will have to find a way to name the last commit
of the old 'subsystem', for example:

* With the 'subsystem' reflog: after 'git-fetch', the old tip of
* With the 'subsystem' reflog: after 'git fetch', the old tip of
'subsystem' is at `subsystem@\{1}`. Subsequent fetches will
increase the number. (See linkgit:git-reflog[1].)


6
Documentation/git-receive-pack.txt

@ -8,15 +8,15 @@ git-receive-pack - Receive what is pushed into the repository @@ -8,15 +8,15 @@ git-receive-pack - Receive what is pushed into the repository

SYNOPSIS
--------
'git receive-pack' <directory>
'git-receive-pack' <directory>

DESCRIPTION
-----------
Invoked by 'git-send-pack' and updates the repository with the
Invoked by 'git send-pack' and updates the repository with the
information fed from the remote end.

This command is usually not invoked directly by the end user.
The UI for the protocol is on the 'git-send-pack' side, and the
The UI for the protocol is on the 'git send-pack' side, and the
program pair is meant to be used to push updates to remote
repository. For pull operations, see linkgit:git-fetch-pack[1].


2
Documentation/git-reflog.txt

@ -60,7 +60,7 @@ OPTIONS @@ -60,7 +60,7 @@ OPTIONS
refs.
+
This computation involves traversing all the reachable objects, i.e. it
has the same cost as 'git-prune'. Fortunately, once this is run, we
has the same cost as 'git prune'. Fortunately, once this is run, we
should not have to ever worry about missing objects, because the current
prune and pack-objects know about reflogs and protect objects referred by
them.

2
Documentation/git-remote.txt

@ -161,7 +161,7 @@ $ git checkout -b nfs linux-nfs/master @@ -161,7 +161,7 @@ $ git checkout -b nfs linux-nfs/master
...
------------

* Imitate 'git-clone' but track only selected branches
* Imitate 'git clone' but track only selected branches
+
------------
$ mkdir project.git

12
Documentation/git-repack.txt

@ -49,16 +49,16 @@ other objects in that pack they already have locally. @@ -49,16 +49,16 @@ other objects in that pack they already have locally.
deleted by way of being left in the old pack and then
removed. Instead, the loose unreachable objects
will be pruned according to normal expiry rules
with the next 'git-gc' invocation. See linkgit:git-gc[1].
with the next 'git gc' invocation. See linkgit:git-gc[1].

-d::
After packing, if the newly created packs make some
existing packs redundant, remove the redundant packs.
Also run 'git-prune-packed' to remove redundant
Also run 'git prune-packed' to remove redundant
loose object files.

-l::
Pass the `--local` option to 'git-pack-objects'. See
Pass the `--local` option to 'git pack-objects'. See
linkgit:git-pack-objects[1].

-f::
@ -66,12 +66,12 @@ other objects in that pack they already have locally. @@ -66,12 +66,12 @@ other objects in that pack they already have locally.
linkgit:git-pack-objects[1].

-q::
Pass the `-q` option to 'git-pack-objects'. See
Pass the `-q` option to 'git pack-objects'. See
linkgit:git-pack-objects[1].

-n::
Do not update the server information with
'git-update-server-info'. This option skips
'git update-server-info'. This option skips
updating local catalog files needed to publish
this repository (or a direct copy of it)
over HTTP or FTP. See linkgit:git-update-server-info[1].
@ -109,7 +109,7 @@ Configuration @@ -109,7 +109,7 @@ Configuration

When configuration variable `repack.UseDeltaBaseOffset` is set
for the repository, the command passes `--delta-base-offset`
option to 'git-pack-objects'; this typically results in slightly
option to 'git pack-objects'; this typically results in slightly
smaller packs, but the generated packs are incompatible with
versions of git older than (and including) v1.4.3; do not set
the variable in a repository that older version of git needs to

28
Documentation/git-rerere.txt

@ -30,14 +30,14 @@ enable this command. @@ -30,14 +30,14 @@ enable this command.
COMMANDS
--------

Normally, 'git-rerere' is run without arguments or user-intervention.
Normally, 'git rerere' is run without arguments or user-intervention.
However, it has several commands that allow it to interact with
its working state.

'clear'::

This resets the metadata used by rerere if a merge resolution is to be
aborted. Calling 'git-am [--skip|--abort]' or 'git-rebase [--skip|--abort]'
aborted. Calling 'git am [--skip|--abort]' or 'git rebase [--skip|--abort]'
will automatically invoke this command.

'diff'::
@ -142,32 +142,32 @@ finally ready and merged into the master branch. This merge @@ -142,32 +142,32 @@ finally ready and merged into the master branch. This merge
would require you to resolve the conflict, introduced by the
commits marked with `*`. However, this conflict is often the
same conflict you resolved when you created the test merge you
blew away. 'git-rerere' helps you resolve this final
blew away. 'git rerere' helps you resolve this final
conflicted merge using the information from your earlier hand
resolve.

Running the 'git-rerere' command immediately after a conflicted
Running the 'git rerere' command immediately after a conflicted
automerge records the conflicted working tree files, with the
usual conflict markers `<<<<<<<`, `=======`, and `>>>>>>>` in
them. Later, after you are done resolving the conflicts,
running 'git-rerere' again will record the resolved state of these
running 'git rerere' again will record the resolved state of these
files. Suppose you did this when you created the test merge of
master into the topic branch.

Next time, after seeing the same conflicted automerge,
running 'git-rerere' will perform a three-way merge between the
running 'git rerere' will perform a three-way merge between the
earlier conflicted automerge, the earlier manual resolution, and
the current conflicted automerge.
If this three-way merge resolves cleanly, the result is written
out to your working tree file, so you do not have to manually
resolve it. Note that 'git-rerere' leaves the index file alone,
resolve it. Note that 'git rerere' leaves the index file alone,
so you still need to do the final sanity checks with `git diff`
(or `git diff -c`) and 'git-add' when you are satisfied.
(or `git diff -c`) and 'git add' when you are satisfied.

As a convenience measure, 'git-merge' automatically invokes
'git-rerere' upon exiting with a failed automerge and 'git-rerere'
As a convenience measure, 'git merge' automatically invokes
'git rerere' upon exiting with a failed automerge and 'git rerere'
records the hand resolve when it is a new conflict, or reuses the earlier hand
resolve when it is not. 'git-commit' also invokes 'git-rerere'
resolve when it is not. 'git commit' also invokes 'git rerere'
when committing a merge result. What this means is that you do
not have to do anything special yourself (besides enabling
the rerere.enabled config variable).
@ -177,8 +177,8 @@ resolution is recorded, and it will be reused when you do the @@ -177,8 +177,8 @@ resolution is recorded, and it will be reused when you do the
actual merge later with the updated master and topic branch, as long
as the recorded resolution is still applicable.

The information 'git-rerere' records is also used when running
'git-rebase'. After blowing away the test merge and continuing
The information 'git rerere' records is also used when running
'git rebase'. After blowing away the test merge and continuing
development on the topic branch:

------------
@ -197,7 +197,7 @@ you could run `git rebase master topic`, to bring yourself @@ -197,7 +197,7 @@ you could run `git rebase master topic`, to bring yourself
up-to-date before your topic is ready to be sent upstream.
This would result in falling back to a three-way merge, and it
would conflict the same way as the test merge you resolved earlier.
'git-rerere' will be run by 'git-rebase' to help you resolve this
'git rerere' will be run by 'git rebase' to help you resolve this
conflict.



2
Documentation/git-reset.txt

@ -39,7 +39,7 @@ OPTIONS @@ -39,7 +39,7 @@ OPTIONS
--soft::
Does not touch the index file nor the working tree at all, but
requires them to be in a good order. This leaves all your changed
files "Changes to be committed", as 'git-status' would
files "Changes to be committed", as 'git status' would
put it.

--hard::

6
Documentation/git-rev-list.txt

@ -9,7 +9,7 @@ git-rev-list - Lists commit objects in reverse chronological order @@ -9,7 +9,7 @@ git-rev-list - Lists commit objects in reverse chronological order
SYNOPSIS
--------
[verse]
'git-rev-list' [ \--max-count=number ]
'git rev-list' [ \--max-count=number ]
[ \--skip=number ]
[ \--max-age=timestamp ]
[ \--min-age=timestamp ]
@ -93,8 +93,8 @@ between the two operands. The following two commands are equivalent: @@ -93,8 +93,8 @@ between the two operands. The following two commands are equivalent:
'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
'git-repack'.
used by commands as different as 'git bisect' and
'git repack'.

OPTIONS
-------

34
Documentation/git-rev-parse.txt

@ -15,16 +15,16 @@ DESCRIPTION @@ -15,16 +15,16 @@ DESCRIPTION

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
meant for the underlying 'git rev-list' command they use internally
and flags and parameters for the other commands they use
downstream of 'git-rev-list'. This command is used to
downstream of 'git rev-list'. This command is used to
distinguish between them.


OPTIONS
-------
--parseopt::
Use 'git-rev-parse' in option parsing mode (see PARSEOPT section below).
Use 'git rev-parse' in option parsing mode (see PARSEOPT section below).

--keep-dashdash::
Only meaningful in `--parseopt` mode. Tells the option parser to echo
@ -36,17 +36,17 @@ OPTIONS @@ -36,17 +36,17 @@ OPTIONS
that take options themself.

--sq-quote::
Use 'git-rev-parse' in shell quoting mode (see SQ-QUOTE
Use 'git rev-parse' in shell quoting mode (see SQ-QUOTE
section below). In contrast to the `--sq` option below, this
mode does only quoting. Nothing else is done to command input.

--revs-only::
Do not output flags and parameters not meant for
'git-rev-list' command.
'git rev-list' command.

--no-revs::
Do not output flags and parameters meant for
'git-rev-list' command.
'git rev-list' command.

--flags::
Do not output non-flag parameters.
@ -74,7 +74,7 @@ OPTIONS @@ -74,7 +74,7 @@ OPTIONS
properly quoted for consumption by shell. Useful when
you expect your parameter to contain whitespaces and
newlines (e.g. when using pickaxe `-S` with
'git-diff-\*'). In contrast to the `--sq-quote` option,
'git diff-\*'). In contrast to the `--sq-quote` option,
the command input is still interpreted as usual.

--not::
@ -145,12 +145,12 @@ OPTIONS @@ -145,12 +145,12 @@ OPTIONS
--since=datestring::
--after=datestring::
Parse the date string, and output the corresponding
--max-age= parameter for 'git-rev-list'.
--max-age= parameter for 'git rev-list'.

--until=datestring::
--before=datestring::
Parse the date string, and output the corresponding
--min-age= parameter for 'git-rev-list'.
--min-age= parameter for 'git rev-list'.

<args>...::
Flags and parameters to be parsed.
@ -171,7 +171,7 @@ blobs contained in a commit. @@ -171,7 +171,7 @@ blobs contained in a commit.
name the same commit object if there are no other object in
your repository whose object name starts with dae86e.

* An output from 'git-describe'; i.e. a closest tag, optionally
* An output from 'git describe'; i.e. a closest tag, optionally
followed by a dash and a number of commits, followed by a dash, a
`g`, and an abbreviated object name.

@ -197,13 +197,13 @@ blobs contained in a commit. @@ -197,13 +197,13 @@ blobs contained in a commit.
+
HEAD names the commit your changes in the working tree is based on.
FETCH_HEAD records the branch you fetched from a remote repository
with your last 'git-fetch' invocation.
with your last 'git fetch' invocation.
ORIG_HEAD is created by commands that moves your HEAD in a drastic
way, to record the position of the HEAD before their operation, so that
you can change the tip of the branch back to the state before you ran
them easily.
MERGE_HEAD records the commit(s) you are merging into your branch
when you run 'git-merge'.
when you run 'git merge'.

* A ref followed by the suffix '@' with a date specification
enclosed in a brace
@ -308,7 +308,7 @@ G H I J @@ -308,7 +308,7 @@ G H I J
SPECIFYING RANGES
-----------------

History traversing commands such as 'git-log' operate on a set
History traversing commands such as 'git log' operate on a set
of commits, not just a single commit. To these commands,
specifying a single revision with the notation described in the
previous section means the set of commits reachable from that
@ -349,7 +349,7 @@ Here are a handful of examples: @@ -349,7 +349,7 @@ Here are a handful of examples:
PARSEOPT
--------

In `--parseopt` mode, 'git-rev-parse' helps massaging options to bring to shell
In `--parseopt` mode, 'git rev-parse' helps massaging options to bring to shell
scripts the same facilities C builtins have. It works as an option normalizer
(e.g. splits single switches aggregate values), a bit like `getopt(1)` does.

@ -361,7 +361,7 @@ usage on the standard error stream, and exits with code 129. @@ -361,7 +361,7 @@ usage on the standard error stream, and exits with code 129.
Input Format
~~~~~~~~~~~~

'git-rev-parse --parseopt' input format is fully text based. It has two parts,
'git rev-parse --parseopt' input format is fully text based. It has two parts,
separated by a line that contains only `--`. The lines before the separator
(should be more than one) are used for the usage.
The lines after the separator describe the options.
@ -420,13 +420,13 @@ eval `echo "$OPTS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?` @@ -420,13 +420,13 @@ eval `echo "$OPTS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?`
SQ-QUOTE
--------

In `--sq-quote` mode, 'git-rev-parse' echoes on the standard output a
In `--sq-quote` mode, 'git rev-parse' echoes on the standard output a
single line suitable for `sh(1)` `eval`. This line is made by
normalizing the arguments following `--sq-quote`. Nothing other than
quoting the arguments is done.

If you want command input to still be interpreted as usual by
'git-rev-parse' before the output is shell quoted, see the `--sq`
'git rev-parse' before the output is shell quoted, see the `--sq`
option.

Example

4
Documentation/git-revert.txt

@ -33,7 +33,7 @@ OPTIONS @@ -33,7 +33,7 @@ OPTIONS

-e::
--edit::
With this option, 'git-revert' will let you edit the commit
With this option, 'git revert' will let you edit the commit
message prior to committing the revert. This is the default if
you run the command from a terminal.

@ -54,7 +54,7 @@ See the link:howto/revert-a-faulty-merge.txt[revert-a-faulty-merge How-To] for @@ -54,7 +54,7 @@ See the link:howto/revert-a-faulty-merge.txt[revert-a-faulty-merge How-To] for
more details.

--no-edit::
With this option, 'git-revert' will not start the commit
With this option, 'git revert' will not start the commit
message editor.

-n::

4
Documentation/git-send-pack.txt

@ -12,7 +12,7 @@ SYNOPSIS @@ -12,7 +12,7 @@ SYNOPSIS

DESCRIPTION
-----------
Usually you would want to use 'git-push', which is a
Usually you would want to use 'git push', which is a
higher-level wrapper of this command, instead. See linkgit:git-push[1].

Invokes 'git-receive-pack' on a possibly remote repository, and
@ -86,7 +86,7 @@ and the destination side (after the colon). The ref to be @@ -86,7 +86,7 @@ and the destination side (after the colon). The ref to be
pushed is determined by finding a match that matches the source
side, and where it is pushed is determined by using the
destination side. The rules used to match a ref are the same
rules used by 'git-rev-parse' to resolve a symbolic ref
rules used by 'git rev-parse' to resolve a symbolic ref
name. See linkgit:git-rev-parse[1].

- It is an error if <src> does not match exactly one of the

2
Documentation/git-sh-setup.txt

@ -16,7 +16,7 @@ This is not a command the end user would want to run. Ever. @@ -16,7 +16,7 @@ This is not a command the end user would want to run. Ever.
This documentation is meant for people who are studying the
Porcelain-ish scripts and/or are writing new ones.

The 'git-sh-setup' scriptlet is designed to be sourced (using
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.


4
Documentation/git-shortlog.txt

@ -3,7 +3,7 @@ git-shortlog(1) @@ -3,7 +3,7 @@ git-shortlog(1)

NAME
----
git-shortlog - Summarize 'git-log' output
git-shortlog - Summarize 'git log' output

SYNOPSIS
--------
@ -13,7 +13,7 @@ git shortlog [-n|--numbered] [-s|--summary] [-e|--email] [-w[<width>[,<indent1>[ @@ -13,7 +13,7 @@ git shortlog [-n|--numbered] [-s|--summary] [-e|--email] [-w[<width>[,<indent1>[

DESCRIPTION
-----------
Summarizes 'git-log' output in a format suitable for inclusion
Summarizes 'git log' output in a format suitable for inclusion
in release announcements. Each commit will be grouped by author and
the first line of the commit message will be shown.


4
Documentation/git-show-index.txt

@ -14,10 +14,10 @@ SYNOPSIS @@ -14,10 +14,10 @@ SYNOPSIS
DESCRIPTION
-----------
Reads given idx file for packed git archive created with
'git-pack-objects' command, and dumps its contents.
'git pack-objects' command, and dumps its contents.

The information it outputs is subset of what you can get from
'git-verify-pack -v'; this command only shows the packfile
'git verify-pack -v'; this command only shows the packfile
offset and SHA1 of each object.



4
Documentation/git-show-ref.txt

@ -72,7 +72,7 @@ OPTIONS @@ -72,7 +72,7 @@ OPTIONS

--exclude-existing[=<pattern>]::

Make 'git-show-ref' act as a filter that reads refs from stdin of the
Make 'git show-ref' act as a filter that reads refs from stdin of the
form "^(?:<anything>\s)?<refname>(?:\^\{\})?$" and performs the
following actions on each:
(1) strip "^{}" at the end of line if any;
@ -135,7 +135,7 @@ When using the '--verify' flag, the command requires an exact path: @@ -135,7 +135,7 @@ When using the '--verify' flag, the command requires an exact path:

will only match the exact branch called "master".

If nothing matches, 'git-show-ref' will return an error code of 1,
If nothing matches, 'git show-ref' will return an error code of 1,
and in the case of verification, it will show an error message.

For scripting, you can ask it to be quiet with the "--quiet" flag, which

6
Documentation/git-show.txt

@ -16,16 +16,16 @@ Shows one or more objects (blobs, trees, tags and commits). @@ -16,16 +16,16 @@ Shows one or more objects (blobs, trees, tags and commits).

For commits it shows the log message and textual diff. It also
presents the merge commit in a special format as produced by
'git-diff-tree --cc'.
'git diff-tree --cc'.

For tags, it shows the tag message and the referenced objects.

For trees, it shows the names (equivalent to 'git-ls-tree'
For trees, it shows the names (equivalent to 'git ls-tree'
with \--name-only).

For plain blobs, it shows the plain contents.

The command takes options applicable to the 'git-diff-tree' command to
The command takes options applicable to the 'git diff-tree' command to
control how the changes the commit introduces are shown.

This manual page describes only the most frequently used options.

6
Documentation/git-stash.txt

@ -77,7 +77,7 @@ stash@{0}: WIP on submit: 6ebd0e2... Update git-stash documentation @@ -77,7 +77,7 @@ stash@{0}: WIP on submit: 6ebd0e2... Update git-stash documentation
stash@{1}: On master: 9cc0589... Add git-stash
----------------------------------------------------------------
+
The command takes options applicable to the 'git-log'
The command takes options applicable to the 'git log'
command to control what is shown and how. See linkgit:git-log[1].

show [<stash>]::
@ -85,7 +85,7 @@ show [<stash>]:: @@ -85,7 +85,7 @@ show [<stash>]::
Show the changes recorded in the stash as a diff between the
stashed state and its original parent. When no `<stash>` is given,
shows the latest one. By default, the command shows the diffstat, but
it will accept any format known to 'git-diff' (e.g., `git stash show
it will accept any format known to 'git diff' (e.g., `git stash show
-p stash@\{1}` to view the second most recent stash in patch form).

pop [--index] [-q|--quiet] [<stash>]::
@ -201,7 +201,7 @@ $ git reset --soft HEAD^ @@ -201,7 +201,7 @@ $ git reset --soft HEAD^
# ... continue hacking ...
----------------------------------------------------------------
+
You can use 'git-stash' to simplify the above, like this:
You can use 'git stash' to simplify the above, like this:
+
----------------------------------------------------------------
# ... hack hack hack ...

2
Documentation/git-status.txt

@ -17,7 +17,7 @@ current HEAD commit, paths that have differences between the working @@ -17,7 +17,7 @@ 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
are what you _would_ commit by running `git commit`; the second and
third are what you _could_ commit by running 'git-add' before running
third are what you _could_ commit by running 'git add' before running
`git commit`.

OPTIONS

4
Documentation/git-submodule.txt

@ -99,11 +99,11 @@ locate the submodule using the relative URL in .gitmodules. @@ -99,11 +99,11 @@ locate the submodule using the relative URL in .gitmodules.
status::
Show the status of the submodules. This will print the SHA-1 of the
currently checked out commit for each submodule, along with the
submodule path and the output of 'git-describe' for the
submodule path and the output of 'git describe' for the
SHA-1. Each SHA-1 will be prefixed with `-` if the submodule is not
initialized and `+` if the currently checked out submodule commit
does not match the SHA-1 found in the index of the containing
repository. This command is the default command for 'git-submodule'.
repository. This command is the default command for 'git submodule'.
+
If '--recursive' is specified, this command will recurse into nested
submodules, and show their status as well.

2
Documentation/git-symbolic-ref.txt

@ -49,7 +49,7 @@ cumbersome. On some platforms, `ln -sf` does not even work as @@ -49,7 +49,7 @@ cumbersome. On some platforms, `ln -sf` does not even work as
advertised (horrors). Therefore symbolic links are now deprecated
and symbolic refs are used by default.

'git-symbolic-ref' will exit with status 0 if the contents of the
'git symbolic-ref' will exit with status 0 if the contents of the
symbolic ref were printed correctly, with status 1 if the requested
name is not a symbolic ref, or 128 if another error occurs.


8
Documentation/git-tag.txt

@ -95,7 +95,7 @@ OPTIONS @@ -95,7 +95,7 @@ OPTIONS

CONFIGURATION
-------------
By default, 'git-tag' in sign-with-default mode (-s) will use your
By default, 'git tag' in sign-with-default mode (-s) will use your
committer identity (of the form "Your Name <your@email.address>") to
find a key. If you want to use a different default key, you can specify
it in the repository configuration as follows:
@ -131,12 +131,12 @@ and be done with it. @@ -131,12 +131,12 @@ and be done with it.

. The insane thing.
You really want to call the new version "X" too, 'even though'
others have already seen the old one. So just use 'git-tag -f'
others have already seen the old one. So just use 'git tag -f'
again, as if you hadn't already published the old one.

However, Git does *not* (and it should not) change tags behind
users back. So if somebody already got the old tag, doing a
'git-pull' on your tree shouldn't just make them overwrite the old
'git pull' on your tree shouldn't just make them overwrite the old
one.

If somebody got a release tag from you, you cannot just change
@ -190,7 +190,7 @@ private anchor point tags from the other person. @@ -190,7 +190,7 @@ private anchor point tags from the other person.

You would notice "please pull" messages on the mailing list says
repo URL and branch name alone. This is designed to be easily
cut&pasted to a 'git-fetch' command line:
cut&pasted to a 'git fetch' command line:

------------
Linus, please pull from

6
Documentation/git-tar-tree.txt

@ -12,19 +12,19 @@ SYNOPSIS @@ -12,19 +12,19 @@ SYNOPSIS

DESCRIPTION
-----------
THIS COMMAND IS DEPRECATED. Use 'git-archive' with `--format=tar`
THIS COMMAND IS DEPRECATED. Use 'git archive' with `--format=tar`
option instead (and move the <base> argument to `--prefix=base/`).

Creates a tar archive containing the tree structure for the named tree.
When <base> is specified it is added as a leading path to the files in the
generated tar archive.

'git-tar-tree' behaves differently when given a tree ID versus when given
'git tar-tree' behaves differently when given a tree ID versus when given
a commit ID or tag ID. In the first case the current time is used as
modification time of each file in the archive. In the latter case the
commit time as recorded in the referenced commit object is used instead.
Additionally the commit ID is stored in a global extended pax header.
It can be extracted using 'git-get-tar-commit-id'.
It can be extracted using 'git get-tar-commit-id'.

OPTIONS
-------

22
Documentation/git-update-index.txt

@ -31,7 +31,7 @@ cleared. @@ -31,7 +31,7 @@ cleared.
See also linkgit:git-add[1] for a more user-friendly way to do some of
the most common operations on the index.

The way 'git-update-index' handles files it is told about can be modified
The way 'git update-index' handles files it is told about can be modified
using the various options:

OPTIONS
@ -53,7 +53,7 @@ OPTIONS @@ -53,7 +53,7 @@ OPTIONS
-q::
Quiet. If --refresh finds that the index needs an update, the
default behavior is to error out. This option makes
'git-update-index' continue anyway.
'git update-index' continue anyway.

--ignore-submodules::
Do not try to update submodules. This option is only respected
@ -61,7 +61,7 @@ OPTIONS @@ -61,7 +61,7 @@ OPTIONS

--unmerged::
If --refresh finds unmerged changes in the index, the default
behavior is to error out. This option makes 'git-update-index'
behavior is to error out. This option makes 'git update-index'
continue anyway.

--ignore-missing::
@ -105,7 +105,7 @@ you will need to handle the situation manually. @@ -105,7 +105,7 @@ you will need to handle the situation manually.

-g::
--again::
Runs 'git-update-index' itself on the paths whose index
Runs 'git update-index' itself on the paths whose index
entries are different from those from the `HEAD` commit.

--unresolve::
@ -123,7 +123,7 @@ you will need to handle the situation manually. @@ -123,7 +123,7 @@ you will need to handle the situation manually.

--replace::
By default, when a file `path` exists in the index,
'git-update-index' refuses an attempt to add `path/file`.
'git update-index' refuses an attempt to add `path/file`.
Similarly if a file `path/file` exists, a file `path`
cannot be added. With --replace flag, existing entries
that conflict with the entry being added are
@ -159,7 +159,7 @@ up-to-date for mode/content changes. But what it *does* do is to @@ -159,7 +159,7 @@ up-to-date for mode/content changes. But what it *does* do is to
can refresh the index for a file that hasn't been changed but where
the stat entry is out of date.

For example, you'd want to do this after doing a 'git-read-tree', to link
For example, you'd want to do this after doing a 'git read-tree', to link
up the stat index details with the proper files.

Using --cacheinfo or --info-only
@ -200,13 +200,13 @@ back on 3-way merge. @@ -200,13 +200,13 @@ back on 3-way merge.

. mode SP type SP sha1 TAB path
+
The second format is to stuff 'git-ls-tree' output
The second format is to stuff 'git ls-tree' output
into the index file.

. mode SP sha1 SP stage TAB path
+
This format is to put higher order stages into the
index file and matches 'git-ls-files --stage' output.
index file and matches 'git ls-files --stage' output.

To place a higher stage entry to the index, the path should
first be removed by feeding a mode=0 entry for the path, and
@ -263,8 +263,8 @@ option. To unset, use `--no-assume-unchanged`. @@ -263,8 +263,8 @@ option. To unset, use `--no-assume-unchanged`.
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
working tree (e.g. 'git-apply --index', 'git-checkout-index -u',
and 'git-read-tree -u') are automatically marked as "assume
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
`git update-index --refresh` finds the working tree file matches
the index (use `git update-index --really-refresh` if you want
@ -317,7 +317,7 @@ unreliable, this should be set to 'false' (see linkgit:git-config[1]). @@ -317,7 +317,7 @@ unreliable, this should be set to 'false' (see linkgit:git-config[1]).
This causes the command to ignore differences in file modes recorded
in the index and the file mode on the filesystem if they differ only on
executable bit. On such an unfortunate filesystem, you may
need to use 'git-update-index --chmod='.
need to use 'git update-index --chmod='.

Quite similarly, if `core.symlinks` configuration variable is set
to 'false' (see linkgit:git-config[1]), symbolic links are checked out

4
Documentation/git-upload-archive.txt

@ -12,11 +12,11 @@ SYNOPSIS @@ -12,11 +12,11 @@ SYNOPSIS

DESCRIPTION
-----------
Invoked by 'git-archive --remote' and sends a generated archive to the
Invoked by 'git archive --remote' and sends a generated archive to the
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
for the protocol is on the 'git archive' side, and the program pair
is meant to be used to get an archive from a remote repository.

OPTIONS

8
Documentation/git-upload-pack.txt

@ -8,17 +8,17 @@ git-upload-pack - Send objects packed back to git-fetch-pack @@ -8,17 +8,17 @@ git-upload-pack - Send objects packed back to git-fetch-pack

SYNOPSIS
--------
'git upload-pack' [--strict] [--timeout=<n>] <directory>
'git-upload-pack' [--strict] [--timeout=<n>] <directory>

DESCRIPTION
-----------
Invoked by 'git-fetch-pack', learns what
Invoked by 'git fetch-pack', learns what
objects the other side is missing, and sends them after packing.

This command is usually not invoked directly by the end user.
The UI for the protocol is on the 'git-fetch-pack' side, and the
The UI for the protocol is on the 'git fetch-pack' side, and the
program pair is meant to be used to pull updates from a remote
repository. For push operations, see 'git-send-pack'.
repository. For push operations, see 'git send-pack'.


OPTIONS

2
Documentation/git-verify-pack.txt

@ -14,7 +14,7 @@ SYNOPSIS @@ -14,7 +14,7 @@ SYNOPSIS
DESCRIPTION
-----------
Reads given idx file for packed git archive created with the
'git-pack-objects' command and verifies idx file and the
'git pack-objects' command and verifies idx file and the
corresponding pack file.

OPTIONS

2
Documentation/git-verify-tag.txt

@ -11,7 +11,7 @@ SYNOPSIS @@ -11,7 +11,7 @@ SYNOPSIS

DESCRIPTION
-----------
Validates the gpg signature created by 'git-tag'.
Validates the gpg signature created by 'git tag'.

OPTIONS
-------

6
Documentation/git-web--browse.txt

@ -62,7 +62,7 @@ browser.<tool>.path @@ -62,7 +62,7 @@ browser.<tool>.path
You can explicitly provide a full path to your preferred browser by
setting the configuration variable 'browser.<tool>.path'. For example,
you can configure the absolute path to firefox by setting
'browser.firefox.path'. Otherwise, 'git-web--browse' assumes the tool
'browser.firefox.path'. Otherwise, 'git web--browse' assumes the tool
is available in PATH.

browser.<tool>.cmd
@ -71,7 +71,7 @@ browser.<tool>.cmd @@ -71,7 +71,7 @@ browser.<tool>.cmd
When the browser, specified by options or configuration variables, is
not among the supported ones, then the corresponding
'browser.<tool>.cmd' configuration variable will be looked up. If this
variable exists then 'git-web--browse' will treat the specified tool
variable exists then 'git web--browse' will treat the specified tool
as a custom command and will use a shell eval to run the command with
the URLs passed as arguments.

@ -113,7 +113,7 @@ See linkgit:git-config[1] for more information about this. @@ -113,7 +113,7 @@ See linkgit:git-config[1] for more information about this.
Author
------
Written by Christian Couder <chriscool@tuxfamily.org> and the git-list
<git@vger.kernel.org>, based on 'git-mergetool' by Theodore Y. Ts'o.
<git@vger.kernel.org>, based on 'git mergetool' by Theodore Y. Ts'o.

Documentation
-------------

4
Documentation/git-whatchanged.txt

@ -13,8 +13,8 @@ SYNOPSIS @@ -13,8 +13,8 @@ SYNOPSIS
DESCRIPTION
-----------
Shows commit logs and diff output each commit introduces. The
command internally invokes 'git-rev-list' piped to
'git-diff-tree', and takes command line options for both of
command internally invokes 'git rev-list' piped to
'git diff-tree', and takes command line options for both of
these commands.

This manual page describes only the most frequently used options.

8
Documentation/git-write-tree.txt

@ -17,17 +17,17 @@ tree object is printed to standard output. @@ -17,17 +17,17 @@ tree object is printed to standard output.

The index must be in a fully merged state.

Conceptually, 'git-write-tree' sync()s the current index contents
Conceptually, 'git write-tree' sync()s the current index contents
into a set of tree files.
In order to have that match what is actually in your directory right
now, you need to have done a 'git-update-index' phase before you did the
'git-write-tree'.
now, you need to have done a 'git update-index' phase before you did the
'git write-tree'.


OPTIONS
-------
--missing-ok::
Normally 'git-write-tree' ensures that the objects referenced by the
Normally 'git write-tree' ensures that the objects referenced by the
directory exist in the object database. This option disables this
check.


8
Documentation/git.txt

@ -573,8 +573,8 @@ other @@ -573,8 +573,8 @@ other
linkgit:git-config[1].

'GIT_SSH'::
If this environment variable is set then 'git-fetch'
and 'git-push' will use this command instead
If this environment variable is set then 'git fetch'
and 'git push' will use this command instead
of 'ssh' when they need to connect to a remote system.
The '$GIT_SSH' command will be given exactly two arguments:
the 'username@host' (or just 'host') from the URL and the
@ -590,8 +590,8 @@ for further details. @@ -590,8 +590,8 @@ for further details.

'GIT_FLUSH'::
If this environment variable is set to "1", then commands such
as 'git-blame' (in incremental mode), 'git-rev-list', 'git-log',
and 'git-whatchanged' will force a flush of the output stream
as 'git blame' (in incremental mode), 'git rev-list', 'git log',
and 'git whatchanged' will force a flush of the output stream
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

12
Documentation/gitattributes.txt

@ -88,9 +88,9 @@ Checking-out and checking-in @@ -88,9 +88,9 @@ Checking-out and checking-in

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
such as 'git checkout' and 'git merge' run. They also affect how
git stores the contents you prepare in the working tree in the
repository upon 'git-add' and 'git-commit'.
repository upon 'git add' and 'git commit'.

`crlf`
^^^^^^
@ -148,16 +148,16 @@ an irreversible conversion. The safety triggers to prevent such @@ -148,16 +148,16 @@ 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...

- 'git-add' itself does not touch the files in the work tree, the
- 'git add' itself does not touch the files in the work tree, the
next checkout would, so the safety triggers;

- 'git-apply' to update a text file with a patch does touch the files
- 'git apply' to update a text file with a patch does touch the files
in the work tree, but the operation is about text files and CRLF
conversion is about fixing the line ending inconsistencies, so the
safety does not trigger;

- 'git-diff' itself does not touch the files in the work tree, it is
often run to inspect the changes you intend to next 'git-add'. To
- 'git diff' itself does not touch the files in the work tree, it is
often run to inspect the changes you intend to next 'git add'. To
catch potential problems early, safety triggers.



160
Documentation/gitcore-tutorial.txt

@ -44,7 +44,7 @@ to import into git. @@ -44,7 +44,7 @@ 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
@ -139,7 +139,7 @@ but to actually check in your hard work, you will have to go through two steps: @@ -139,7 +139,7 @@ but to actually check in your hard work, you will have to go through two steps:
- commit that index file as an object.

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
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
(or remove existing ones) unless you explicitly tell it that you're
@ -173,14 +173,14 @@ and see two files: @@ -173,14 +173,14 @@ and see two files:
which correspond with the objects with names of `557db...` and
`f24c7...` respectively.

If you want to, you can use 'git-cat-file' to look at those objects, but
If you want to, you can use 'git cat-file' to look at those objects, but
you'll have to use the object name, not the filename of the object:

----------------
$ git cat-file -t 557db03de997c86a4a028e1ebd3a1ceb225be238
----------------

where the `-t` tells 'git-cat-file' to tell you what the "type" of the
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
regular file), and you can see the contents with

@ -205,7 +205,7 @@ hexadecimal digits in most places. @@ -205,7 +205,7 @@ hexadecimal digits in most places.
Anyway, as we mentioned previously, you normally never actually take a
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
was just to show that 'git update-index' did something magical, and
actually saved away the contents of your files into the git object
database.

@ -228,7 +228,7 @@ $ echo "It's a new day for git" >>hello @@ -228,7 +228,7 @@ $ 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
'git-diff-files' command:
'git diff-files' command:

------------
$ git diff-files
@ -239,7 +239,7 @@ version of a 'diff', but that internal version really just tells you @@ -239,7 +239,7 @@ version of a 'diff', but that internal version really just tells you
that it has noticed that "hello" has been modified, and that the old object
contents it had have been replaced with something else.

To make it readable, we can tell 'git-diff-files' to output the
To make it readable, we can tell 'git diff-files' to output the
differences as a patch, using the `-p` flag:

------------
@ -255,7 +255,7 @@ index 557db03..263414f 100644 @@ -255,7 +255,7 @@ index 557db03..263414f 100644

i.e. the diff of the change we caused by adding another line to `hello`.

In other words, 'git-diff-files' always shows us the difference between
In other words, 'git diff-files' always shows us the difference between
what is recorded in the index, and what is currently in the working
tree. That's very useful.

@ -283,7 +283,7 @@ that in two phases: creating a 'tree' object, and committing that 'tree' @@ -283,7 +283,7 @@ 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.

Creating a tree object is trivial, and is done with 'git-write-tree'.
Creating a tree object is trivial, and is done with 'git write-tree'.
There are no options or other input: `git write-tree` will take the
current index state, and write an object that describes that whole
index. In other words, we're now tying together all the different
@ -307,23 +307,23 @@ is not a "blob" object, but a "tree" object (you can also use @@ -307,23 +307,23 @@ is not a "blob" object, but a "tree" object (you can also use
`git cat-file` to actually output the raw object contents, but you'll see
mainly a binary mess, so that's less interesting).

However -- normally you'd never use 'git-write-tree' on its own, because
However -- normally you'd never use 'git write-tree' on its own, because
normally you always commit a tree into a commit object using the
'git-commit-tree' command. In fact, it's easier to not actually use
'git-write-tree' on its own at all, but to just pass its result in as an
argument to 'git-commit-tree'.
'git commit-tree' command. In fact, it's easier to not actually use
'git write-tree' on its own at all, but to just pass its result in as an
argument to 'git commit-tree'.

'git-commit-tree' normally takes several arguments -- it wants to know
'git commit-tree' normally takes several arguments -- it wants to know
what the 'parent' of a commit was, but since this is the first commit
ever in this new repository, and it has no parents, we only need to pass in
the object name of the tree. However, 'git-commit-tree' also wants to get a
the object name of the tree. However, 'git commit-tree' also wants to get a
commit message on its standard input, and it will write out the resulting
object name for the commit to its standard output.

And this is where we create the `.git/refs/heads/master` file
which is pointed at by `HEAD`. This file is supposed to contain
the reference to the top-of-tree of the master branch, and since
that's exactly what 'git-commit-tree' spits out, we can do this
that's exactly what 'git commit-tree' spits out, we can do this
all with a sequence of simple shell commands:

------------------------------------------------
@ -345,11 +345,11 @@ instead, and it would have done the above magic scripting for you. @@ -345,11 +345,11 @@ instead, and it would have done the above magic scripting for you.
Making a change
---------------

Remember how we did the 'git-update-index' on file `hello` and then we
Remember how we did the 'git update-index' on file `hello` and then we
changed `hello` afterward, and could compare the new state of `hello` with the
state we saved in the index file?

Further, remember how I said that 'git-write-tree' writes the contents
Further, remember how I said that 'git write-tree' writes the contents
of the *index* file to the tree, and thus what we just committed was in
fact the *original* contents of the file `hello`, not the new ones. We did
that on purpose, to show the difference between the index state, and the
@ -360,12 +360,12 @@ As before, if we do `git diff-files -p` in our git-tutorial project, @@ -360,12 +360,12 @@ As before, if we do `git diff-files -p` in our git-tutorial project,
we'll still see the same difference we saw last time: the index file
hasn't changed by the act of committing anything. However, now that we
have committed something, we can also learn to use a new command:
'git-diff-index'.
'git diff-index'.

Unlike 'git-diff-files', which showed the difference between the index
file and the working tree, 'git-diff-index' shows the differences
Unlike 'git diff-files', which showed the difference between the index
file and the working tree, 'git diff-index' shows the differences
between a committed *tree* and either the index file or the working
tree. In other words, 'git-diff-index' wants a tree to be diffed
tree. In other words, 'git diff-index' wants a tree to be diffed
against, and before we did the commit, we couldn't do that, because we
didn't have anything to diff against.

@ -375,7 +375,7 @@ But now we can do @@ -375,7 +375,7 @@ But now we can do
$ git diff-index -p HEAD
----------------

(where `-p` has the same meaning as it did in 'git-diff-files'), and it
(where `-p` has the same meaning as it did in 'git diff-files'), and it
will show us the same difference, but for a totally different reason.
Now we're comparing the working tree not against the index file,
but against the tree we just wrote. It just so happens that those two
@ -390,7 +390,7 @@ $ git diff HEAD @@ -390,7 +390,7 @@ $ git diff HEAD

which ends up doing the above for you.

In other words, 'git-diff-index' normally compares a tree against the
In other words, 'git diff-index' normally compares a tree against the
working tree, but when given the `\--cached` flag, it is told to
instead compare against just the index cache contents, and ignore the
current working tree state entirely. Since we just wrote the index
@ -399,7 +399,7 @@ an empty set of differences, and that's exactly what it does. @@ -399,7 +399,7 @@ an empty set of differences, and that's exactly what it does.

[NOTE]
================
'git-diff-index' really always uses the index for its
'git diff-index' really always uses the index for its
comparisons, and saying that it compares a tree against the working
tree is thus not strictly accurate. In particular, the list of
files to compare (the "meta-data") *always* comes from the index file,
@ -428,11 +428,11 @@ $ git update-index hello @@ -428,11 +428,11 @@ $ git update-index hello
(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-\*' versions here. After
Note what happens to the different 'git diff-\*' versions here. After
we've updated `hello` in the index, `git diff-files -p` now shows no
differences, but `git diff-index -p HEAD` still *does* show that the
current state is different from the state we committed. In fact, now
'git-diff-index' shows the same difference whether we use the `--cached`
'git diff-index' shows the same difference whether we use the `--cached`
flag or not, since now the index is coherent with the working tree.

Now, since we've updated `hello` in the index, we can commit the new
@ -460,7 +460,7 @@ You've now made your first real git commit. And if you're interested in @@ -460,7 +460,7 @@ 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
commit itself ('git-commit').
commit itself ('git commit').


Inspecting Changes
@ -468,9 +468,9 @@ Inspecting Changes @@ -468,9 +468,9 @@ Inspecting Changes

While creating changes is useful, it's even more useful if you can tell
later what changed. The most useful command for this is another of the
'diff' family, namely 'git-diff-tree'.
'diff' family, namely 'git diff-tree'.

'git-diff-tree' can be given two arbitrary trees, and it will tell you the
'git diff-tree' can be given two arbitrary trees, and it will tell you the
differences between them. Perhaps even more commonly, though, you can
give it just a single commit object, and it will figure out the parent
of that commit itself, and show the difference directly. Thus, to get
@ -518,15 +518,15 @@ various diff-\* commands compare things. @@ -518,15 +518,15 @@ various diff-\* commands compare things.
+-----------+
============

More interestingly, you can also give 'git-diff-tree' the `--pretty` flag,
More interestingly, you can also give 'git diff-tree' the `--pretty` flag,
which tells it to also show the commit message and author and date of the
commit, and you can tell it to show a whole series of diffs.
Alternatively, you can tell it to be "silent", and not show the diffs at
all, but just show the actual commit message.

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
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
activities.

@ -553,14 +553,14 @@ When using the above two commands, the initial commit will be shown. @@ -553,14 +553,14 @@ When using the above two commands, the initial commit will be shown.
If this is a problem because it is huge, you can hide it by setting
the log.showroot configuration variable to false. Having this, you
can still show it for each command just adding the `\--root` option,
which is a flag for 'git-diff-tree' accepted by both commands.
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
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'.


@ -595,7 +595,7 @@ pointer to the state you want to tag, but also a small tag name and @@ -595,7 +595,7 @@ 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
that tag. You create these annotated tags with either the `-a` or
`-s` flag to 'git-tag':
`-s` flag to 'git tag':

----------------
$ git tag -s <tagname>
@ -642,7 +642,7 @@ and it will be gone. There's no external repository, and there's no @@ -642,7 +642,7 @@ 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
is 'git-clone' command, but if all you want to do is just to
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`.
@ -666,7 +666,7 @@ When copying a remote repository, you'll want to at a minimum update the @@ -666,7 +666,7 @@ When copying a remote repository, you'll want to at a minimum update the
index cache when you do this, and especially with other peoples'
repositories you often want to make sure that the index cache is in some
known state (you don't know *what* they've done and not yet checked in),
so usually you'll precede the 'git-update-index' with a
so usually you'll precede the 'git update-index' with a

----------------
$ git read-tree --reset HEAD
@ -674,7 +674,7 @@ $ git update-index --refresh @@ -674,7 +674,7 @@ $ git update-index --refresh
----------------

which will force a total index re-build from the tree pointed to by `HEAD`.
It resets the index contents to `HEAD`, and then the 'git-update-index'
It resets the index contents to `HEAD`, and then the 'git update-index'
makes sure to match up all index entries with the checked-out files.
If the original repository had uncommitted changes in its
working tree, `git update-index --refresh` notices them and
@ -689,8 +689,8 @@ $ git reset @@ -689,8 +689,8 @@ $ git reset
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 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.

Many (most?) public remote repositories will not contain any of
@ -729,7 +729,7 @@ where the `-u` flag means that you want the checkout to keep the index @@ -729,7 +729,7 @@ where the `-u` flag means that you want the checkout to keep the index
up-to-date (so that you don't have to refresh it afterward), and the
`-a` flag means "check out all files" (if you have a stale copy or an
older version of a checked out tree you may also need to add the `-f`
flag first, to tell 'git-checkout-index' to *force* overwriting of any old
flag first, to tell 'git checkout-index' to *force* overwriting of any old
files).

Again, this can all be simplified with
@ -776,7 +776,7 @@ to it. @@ -776,7 +776,7 @@ to it.
================================================
If you make the decision to start your new branch at some
other point in the history than the current `HEAD`, you can do so by
just telling 'git-checkout' what the base of the checkout would be.
just telling 'git checkout' what the base of the checkout would be.
In other words, if you have an earlier tag or branch, you'd just do

------------
@ -819,7 +819,7 @@ $ git branch <branchname> [startingpoint] @@ -819,7 +819,7 @@ $ git branch <branchname> [startingpoint]

which will simply _create_ the branch, but will not do anything further.
You can then later -- once you decide that you want to actually develop
on that branch -- switch to that branch with a regular 'git-checkout'
on that branch -- switch to that branch with a regular 'git checkout'
with the branchname as the argument.


@ -881,7 +881,7 @@ source. @@ -881,7 +881,7 @@ source.
Anyway, let's exit 'gitk' (`^Q` or the File menu), and decide that we want
to merge the work we did on the `mybranch` branch into the `master`
branch (which is currently our `HEAD` too). To do that, there's a nice
script called 'git-merge', which wants to know which branches you want
script called 'git merge', which wants to know which branches you want
to resolve and what the merge is all about:

------------
@ -925,7 +925,7 @@ $ git commit -i hello @@ -925,7 +925,7 @@ $ git commit -i hello

which will very loudly warn you that you're now committing a merge
(which is correct, so never mind), and you can write a small merge
message about your adventures in 'git-merge'-land.
message about your adventures in 'git merge'-land.

After you're done, start up `gitk \--all` to see graphically what the
history looks like. Notice that `mybranch` still exists, and you can
@ -967,21 +967,21 @@ branch head. Please see linkgit:git-rev-parse[1] if you want to @@ -967,21 +967,21 @@ branch head. Please see linkgit:git-rev-parse[1] if you want to
see more complex cases.

[NOTE]
Without the '--more=1' option, 'git-show-branch' would not output the
Without the '--more=1' option, 'git show-branch' would not output the
'[master^]' commit, as '[mybranch]' commit is a common ancestor of
both 'master' and 'mybranch' tips. Please see linkgit:git-show-branch[1]
for details.

[NOTE]
If there were more commits on the 'master' branch after the merge, the
merge commit itself would not be shown by 'git-show-branch' by
merge commit itself would not be shown by 'git show-branch' by
default. You would need to provide '--sparse' option to make the
merge commit visible in this case.

Now, let's pretend you are the one who did all the work in
`mybranch`, and the fruit of your hard work has finally been merged
to the `master` branch. Let's go back to `mybranch`, and run
'git-merge' to get the "upstream changes" back to your branch.
'git merge' to get the "upstream changes" back to your branch.

------------
$ git checkout mybranch
@ -1023,12 +1023,12 @@ Merging external work @@ -1023,12 +1023,12 @@ Merging external work
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
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
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"
followed by a 'git-merge'.
followed by a 'git merge'.

Fetching from a remote repository is done by, unsurprisingly,
'git-fetch':
'git fetch':

----------------
$ git fetch <remote-repository>
@ -1095,7 +1095,7 @@ The 'commit walkers' are sometimes also called 'dumb @@ -1095,7 +1095,7 @@ 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
that does not even support directory index would suffice. But
you must prepare your repository with 'git-update-server-info'
you must prepare your repository with 'git update-server-info'
to help dumb transport downloaders.

Once you fetch from the remote repository, you `merge` that
@ -1115,7 +1115,7 @@ argument. @@ -1115,7 +1115,7 @@ argument.
[NOTE]
You could do without using any branches at all, by
keeping as many local repositories as you would like to have
branches, and merging between them with 'git-pull', just like
branches, and merging between them with 'git pull', just like
you merge between branches. The advantage of this approach is
that it lets you keep a set of files for each `branch` checked
out and you may find it easier to switch back and forth if you
@ -1132,7 +1132,7 @@ like this: @@ -1132,7 +1132,7 @@ like this:
$ git config remote.linus.url http://www.kernel.org/pub/scm/git/git.git/
------------------------------------------------

and use the "linus" keyword with 'git-pull' instead of the full URL.
and use the "linus" keyword with 'git pull' instead of the full URL.

Examples.

@ -1168,7 +1168,7 @@ $ git show-branch --more=2 master mybranch @@ -1168,7 +1168,7 @@ $ git show-branch --more=2 master mybranch
+* [master^] Some fun.
------------

Remember, before running 'git-merge', our `master` head was at
Remember, before running 'git merge', our `master` head was at
"Some fun." commit, while our `mybranch` head was at "Some
work." commit.

@ -1195,7 +1195,7 @@ Now we are ready to experiment with the merge by hand. @@ -1195,7 +1195,7 @@ Now we are ready to experiment with the merge by hand.

`git merge` command, when merging two branches, uses 3-way merge
algorithm. First, it finds the common ancestor between them.
The command it uses is 'git-merge-base':
The command it uses is 'git merge-base':

------------
$ mb=$(git merge-base HEAD mybranch)
@ -1219,7 +1219,7 @@ this: @@ -1219,7 +1219,7 @@ this:
$ git read-tree -m -u $mb HEAD mybranch
------------

This is the same 'git-read-tree' command we have already seen,
This is the same 'git read-tree' command we have already seen,
but it takes three trees, unlike previous examples. This reads
the contents of each tree into different 'stage' in the index
file (the first tree goes to stage 1, the second to stage 2,
@ -1260,8 +1260,8 @@ $ git ls-files --unmerged @@ -1260,8 +1260,8 @@ $ git ls-files --unmerged

The next step of merging is to merge these three versions of the
file, using 3-way merge. This is done by giving
'git-merge-one-file' command as one of the arguments to
'git-merge-index' command:
'git merge-one-file' command as one of the arguments to
'git merge-index' command:

------------
$ git merge-index git-merge-one-file hello
@ -1270,7 +1270,7 @@ ERROR: Merge conflict in hello @@ -1270,7 +1270,7 @@ ERROR: Merge conflict in hello
fatal: merge program failed
------------

'git-merge-one-file' script is called with parameters to
'git merge-one-file' script is called with parameters to
describe those three versions, and is responsible to leave the
merge results in the working tree.
It is a fairly straightforward shell script, and
@ -1289,9 +1289,9 @@ $ git ls-files --stage @@ -1289,9 +1289,9 @@ $ git ls-files --stage
------------

This is the state of the index file and the working file after
'git-merge' returns control back to you, leaving the conflicting
'git merge' returns control back to you, leaving the conflicting
merge for you to resolve. Notice that the path `hello` is still
unmerged, and what you see with 'git-diff' at this point is
unmerged, and what you see with 'git diff' at this point is
differences since stage 2 (i.e. your version).


@ -1328,8 +1328,8 @@ into it later. Obviously, this repository creation needs to be @@ -1328,8 +1328,8 @@ into it later. Obviously, this repository creation needs to be
done only once.

[NOTE]
'git-push' uses a pair of commands,
'git-send-pack' on your local machine, and 'git-receive-pack'
'git push' uses a pair of commands,
'git send-pack' on your local machine, and 'git-receive-pack'
on the remote machine. The communication between the two over
the network internally uses an SSH connection.

@ -1344,7 +1344,7 @@ $ mkdir my-git.git @@ -1344,7 +1344,7 @@ $ mkdir my-git.git
------------

Then, make that directory into a git repository by running
'git-init', but this time, since its name is not the usual
'git init', but this time, since its name is not the usual
`.git`, we do things slightly differently:

------------
@ -1407,7 +1407,7 @@ $ git repack @@ -1407,7 +1407,7 @@ $ git repack

will do it for you. If you followed the tutorial examples, you
would have accumulated about 17 objects in `.git/objects/??/`
directories by now. 'git-repack' tells you how many objects it
directories by now. 'git repack' tells you how many objects it
packed, and stores the packed file in `.git/objects/pack`
directory.

@ -1420,7 +1420,7 @@ them together. The former holds all the data from the objects @@ -1420,7 +1420,7 @@ them together. The former holds all the data from the objects
in the pack, and the latter holds the index for random
access.

If you are paranoid, running 'git-verify-pack' command would
If you are paranoid, running 'git verify-pack' command would
detect if you have a corrupt pack, but do not worry too much.
Our programs are always perfect ;-).

@ -1487,17 +1487,17 @@ If other people are pulling from your repository over dumb @@ -1487,17 +1487,17 @@ If other people are pulling from your repository over dumb
transport protocols (HTTP), you need to keep this repository
'dumb transport friendly'. After `git init`,
`$GIT_DIR/hooks/post-update.sample` copied from the standard templates
would contain a call to 'git-update-server-info'
would contain a call to 'git update-server-info'
but you need to manually enable the hook with
`mv post-update.sample post-update`. This makes sure
'git-update-server-info' keeps the necessary files up-to-date.
'git update-server-info' keeps the necessary files up-to-date.

3. Push into the public repository from your primary
repository.

4. 'git-repack' the public repository. This establishes a big
4. 'git repack' the public repository. This establishes a big
pack that contains the initial set of objects as the
baseline, and possibly 'git-prune' if the transport
baseline, and possibly 'git prune' if the transport
used for pulling from your repository supports packed
repositories.

@ -1511,14 +1511,14 @@ You can repack this private repository whenever you feel like. @@ -1511,14 +1511,14 @@ You can repack this private repository whenever you feel like.
6. Push your changes to the public repository, and announce it
to the public.

7. Every once in a while, 'git-repack' the public repository.
7. Every once in a while, 'git repack' the public repository.
Go back to step 5. and continue working.


A recommended work cycle for a "subsystem maintainer" who works
on that project and has an own "public repository" goes like this:

1. Prepare your work repository, by 'git-clone' the public
1. Prepare your work repository, by 'git clone' the public
repository of the "project lead". The URL used for the
initial cloning is stored in the remote.origin.url
configuration variable.
@ -1533,7 +1533,7 @@ on that project and has an own "public repository" goes like this: @@ -1533,7 +1533,7 @@ on that project and has an own "public repository" goes like this:
point at the repository you are borrowing from.

4. Push into the public repository from your primary
repository. Run 'git-repack', and possibly 'git-prune' if the
repository. Run 'git repack', and possibly 'git prune' if the
transport used for pulling from your repository supports
packed repositories.

@ -1550,7 +1550,7 @@ like. @@ -1550,7 +1550,7 @@ like.
"project lead" and possibly your "sub-subsystem
maintainers" to pull from it.

7. Every once in a while, 'git-repack' the public repository.
7. Every once in a while, 'git repack' the public repository.
Go back to step 5. and continue working.


@ -1558,7 +1558,7 @@ A recommended work cycle for an "individual developer" who does @@ -1558,7 +1558,7 @@ A recommended work cycle for an "individual developer" who does
not have a "public" repository is somewhat different. It goes
like this:

1. Prepare your work repository, by 'git-clone' the public
1. Prepare your work repository, by 'git clone' the public
repository of the "project lead" (or a "subsystem
maintainer", if you work on a subsystem). The URL used for
the initial cloning is stored in the remote.origin.url
@ -1656,8 +1656,8 @@ $ git reset --hard master~2 @@ -1656,8 +1656,8 @@ $ git reset --hard master~2
------------

You can make sure `git show-branch` matches the state before
those two 'git-merge' you just did. Then, instead of running
two 'git-merge' commands in a row, you would merge these two
those two 'git merge' you just did. Then, instead of running
two 'git merge' commands in a row, you would merge these two
branch heads (this is known as 'making an Octopus'):

------------

10
Documentation/gitcvs-migration.txt

@ -47,25 +47,25 @@ them first before running git pull. @@ -47,25 +47,25 @@ them first before running git pull.
[NOTE]
================================
The 'pull' command knows where to get updates from because of certain
configuration variables that were set by the first 'git-clone'
configuration variables that were set by the first 'git clone'
command; see `git config -l` and the linkgit:git-config[1] man
page for details.
================================

You can update the shared repository with your changes by first committing
your changes, and then using the 'git-push' command:
your changes, and then using the 'git push' command:

------------------------------------------------
$ git push origin master
------------------------------------------------

to "push" those commits to the shared repository. If someone else has
updated the repository more recently, 'git-push', like 'cvs commit', will
updated the repository more recently, 'git push', like 'cvs commit', will
complain, in which case you must pull any changes before attempting the
push again.

In the 'git-push' command above we specify the name of the remote branch
to update (`master`). If we leave that out, 'git-push' tries to update
In the 'git push' command above we specify the name of the remote branch
to update (`master`). If we leave that out, 'git push' tries to update
any branches in the remote repository that have the same name as a branch
in the local repository. So the last 'push' can be done with either of:


Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save