mirror of
https://github.com/git/git.git
synced 2024-11-27 12:03:55 +08:00
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.
This commit is contained in:
parent
ca768288b6
commit
0b444cdb19
@ -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::
|
||||
|
||||
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
|
||||
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
|
||||
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::
|
||||
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::
|
||||
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::
|
||||
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::
|
||||
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::
|
||||
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::
|
||||
|
||||
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::
|
||||
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::
|
||||
|
||||
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::
|
||||
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::
|
||||
|
||||
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::
|
||||
|
||||
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].
|
||||
|
||||
|
@ -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[]
|
||||
|
||||
-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.
|
||||
|
||||
|
@ -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
|
||||
|
||||
-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
|
||||
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.
|
||||
-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.
|
||||
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.
|
||||
|
@ -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.
|
||||
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.
|
||||
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.
|
||||
|
||||
--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::
|
||||
|
||||
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
|
||||
|
@ -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
|
||||
|
||||
-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
|
||||
|
@ -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
|
||||
|
@ -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[]
|
||||
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.
|
||||
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.
|
||||
|
||||
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
|
||||
|
@ -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.
|
||||
|
||||
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
|
||||
-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.
|
||||
|
@ -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
|
||||
|
||||
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>::
|
||||
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>::
|
||||
|
||||
[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
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
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::
|
||||
$ 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:
|
||||
+
|
||||
----------------
|
||||
|
@ -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::
|
||||
|
@ -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:
|
||||
\__*__*__<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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
-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::
|
||||
|
@ -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,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:
|
||||
|
||||
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].)
|
||||
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
|
||||
--------
|
||||
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
|
||||
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
|
||||
|
@ -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>>.
|
||||
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
|
||||
-----
|
||||
|
||||
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::
|
||||
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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
-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
|
||||
-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.
|
||||
|
||||
---------
|
||||
+
|
||||
'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.
|
||||
|
@ -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.
|
||||
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
|
||||
|
@ -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
|
||||
+
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
------------------------------------------------
|
||||
|
||||
|
||||
'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
|
||||
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
|
||||
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::
|
||||
|
||||
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.
|
||||
|
@ -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.
|
||||
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.
|
||||
|
@ -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
|
||||
-------
|
||||
|
@ -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
|
||||
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
|
||||
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:
|
||||
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
|
||||
---------------
|
||||
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
|
||||
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
|
||||
|
@ -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
|
||||
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::
|
||||
|
@ -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
|
||||
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.
|
||||
|
||||
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::
|
||||
|
@ -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.
|
||||
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
|
||||
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.
|
||||
|
||||
|
@ -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
|
||||
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
|
||||
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
|
||||
|
||||
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.
|
||||
+
|
||||
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.
|
||||
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
|
||||
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`).
|
||||
|
||||
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
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
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.
|
||||
|
@ -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
|
||||
|
||||
-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.
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
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.
|
||||
|
||||
-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,
|
||||
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
|
||||
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 '
|
||||
|
||||
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 '
|
||||
*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:
|
||||
|
@ -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'.
|
||||
|
@ -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).
|
||||
|
@ -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
|
||||
--------
|
||||
|
||||
* 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
|
||||
|
@ -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
|
||||
|
||||
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
|
||||
|
@ -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
|
||||
-------
|
||||
|
||||
--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
|
||||
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
|
||||
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".
|
||||
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).
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
||||
|
@ -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::
|
||||
|
@ -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::
|
||||
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
|
||||
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
|
||||
|
||||
|
@ -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".
|
||||
|
||||
|
@ -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
|
||||
|
||||
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
|
||||
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
|
||||
|
@ -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
|
||||
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::
|
||||
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::
|
||||
|
||||
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:
|
||||
----------------------------------------------------------------
|
||||
+
|
||||
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/
|
||||
|
||||
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)
|
||||
|
@ -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>]
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
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
|
||||
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.
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
||||
|
||||
|
@ -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.
|
||||
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:
|
||||
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.
|
||||
|
@ -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
|
||||
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 '['
|
||||
|
@ -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.
|
||||
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].
|
||||
|
||||
|
@ -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
|
||||
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
|
||||
------
|
||||
|
@ -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
|
||||
------
|
||||
|
@ -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[]
|
||||
|
||||
|
||||
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:
|
||||
|
||||
* 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:
|
||||
|
||||
|
@ -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
|
||||
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.
|
||||
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::
|
||||
|
@ -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.
|
||||
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
|
||||
|
@ -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
|
||||
-----------
|
||||
|
@ -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::
|
||||
--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::
|
||||
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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
-------
|
||||
|
@ -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))
|
||||
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
|
||||
--------
|
||||
|
@ -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
|
||||
|
||||
|
||||
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
|
||||
|
@ -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
|
||||
+
|
||||
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.
|
||||
|
||||
|
@ -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
|
||||
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
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
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:
|
||||
|
||||
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.
|
||||
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
|
||||
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
|
||||
- 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
|
||||
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:
|
||||
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"`
|
||||
$ 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
|
||||
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
|
||||
|
@ -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
|
||||
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
|
||||
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.
|
||||
-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.
|
||||
|
||||
--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[]
|
||||
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
|
||||
...
|
||||
-------------------------------------------
|
||||
|
||||
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
|
||||
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
|
||||
-----------------
|
||||
|
||||
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:
|
||||
|
||||
- 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:
|
||||
|
||||
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
|
||||
'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
|
||||
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].)
|
||||
|
||||
|
@ -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].
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
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
|
||||
|
||||
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
|
||||
|
@ -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
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
|
||||
|
@ -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::
|
||||
|
@ -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:
|
||||
'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
|
||||
-------
|
||||
|
@ -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
|
||||
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
|
||||
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
|
||||
--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.
|
||||
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.
|
||||
+
|
||||
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
|
||||
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:
|
||||
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.
|
||||
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 $?`
|
||||
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
|
||||
|
@ -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
|
||||
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::
|
||||
|
@ -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
|
||||
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
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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>[
|
||||
|
||||
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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
||||
|
@ -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:
|
||||
|
||||
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
|
||||
|
@ -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.
|
||||
|
@ -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>]::
|
||||
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^
|
||||
# ... 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 ...
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
. 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.
|
||||
|
||||
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
|
||||
|
@ -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
|
||||
-------
|
||||
|
@ -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
|
||||
-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
|
||||
|
||||
--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.
|
||||
|
||||
-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.
|
||||
|
||||
--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
|
||||
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.
|
||||
|
||||
. 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`.
|
||||
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]).
|
||||
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
|
||||
|
@ -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,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
|
||||
|
@ -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
|
||||
|
@ -11,7 +11,7 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Validates the gpg signature created by 'git-tag'.
|
||||
Validates the gpg signature created by 'git tag'.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
@ -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
|
||||
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.
|
||||
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
|
||||
-------------
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
'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
|
||||
|
@ -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
|
||||
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.
|
||||
|
||||
|
||||
|
@ -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:
|
||||
- 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:
|
||||
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.
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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'
|
||||
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
|
||||
`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.
|
||||
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,
|
||||
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
|
||||
$ 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
|
||||
|
||||
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.
|
||||
|
||||
[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
|
||||
(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
|
||||
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
|
||||
|
||||
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.
|
||||
+-----------+
|
||||
============
|
||||
|
||||
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.
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
----------------
|
||||
|
||||
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
|
||||
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
|
||||
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.
|
||||
================================================
|
||||
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]
|
||||
|
||||
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.
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
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.
|
||||
[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:
|
||||
$ 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
|
||||
+* [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.
|
||||
|
||||
`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:
|
||||
$ 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
|
||||
|
||||
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
|
||||
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
|
||||
------------
|
||||
|
||||
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
|
||||
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
|
||||
------------
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
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.
|
||||
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:
|
||||
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.
|
||||
"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
|
||||
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
|
||||
------------
|
||||
|
||||
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'):
|
||||
|
||||
------------
|
||||
|
@ -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…
Reference in New Issue
Block a user