Merge commit 'junio/master' into devel

Conflicts:
	Makefile
	cache.h
	compat/mingw.c
	git-compat-util.h
	run-command.c
	setup.c
	t/t4109-apply-multifrag.sh
This commit is contained in:
Steffen Prohaska
2008-07-14 07:12:23 +02:00
350 changed files with 7669 additions and 4043 deletions

3
.gitignore vendored
View File

@@ -75,7 +75,6 @@ git-merge-one-file
git-merge-ours
git-merge-recursive
git-merge-resolve
git-merge-stupid
git-merge-subtree
git-mergetool
git-mktag
@@ -142,7 +141,6 @@ git-write-tree
git-core-*/?*
gitk-wish
gitweb/gitweb.cgi
test-absolute-path
test-chmtime
test-date
test-delta
@@ -150,6 +148,7 @@ test-dump-cache-tree
test-genrandom
test-match-trees
test-parse-options
test-path-utils
test-sha1
common-cmds.h
*.tar.gz

View File

@@ -0,0 +1,43 @@
GIT v1.5.4.6 Release Notes
==========================
I personally do not think there is any reason anybody should want to
run v1.5.4.X series these days, because 'master' version is always
more stable than any tagged released version of git.
This is primarily to futureproof "git-shell" to accept requests
without a dash between "git" and subcommand name (e.g. "git
upload-pack") which the newer client will start to make sometime in
the future.
Fixes since v1.5.4.5
--------------------
* Command line option "-n" to "git-repack" was not correctly parsed.
* Error messages from "git-apply" when the patchfile cannot be opened
have been improved.
* Error messages from "git-bisect" when given nonsense revisions have
been improved.
* reflog syntax that uses time e.g. "HEAD@{10 seconds ago}:path" did not
stop parsing at the closing "}".
* "git rev-parse --symbolic-full-name ^master^2" printed solitary "^",
but it should print nothing.
* "git apply" did not enforce "match at the beginning" correctly.
* a path specification "a/b" in .gitattributes file should not match
"sub/a/b", but it did.
* "git log --date-order --topo-order" did not override the earlier
date-order with topo-order as expected.
* "git fast-export" did not export octopus merges correctly.
* "git archive --prefix=$path/" mishandled gitattributes.
As usual, it also comes with many documentation fixes and clarifications.

View File

@@ -0,0 +1,11 @@
GIT v1.5.5.5 Release Notes
==========================
I personally do not think there is any reason anybody should want to
run v1.5.5.X series these days, because 'master' version is always
more stable than any tagged released version of git.
This is primarily to futureproof "git-shell" to accept requests
without a dash between "git" and subcommand name (e.g. "git
upload-pack") which the newer client will start to make sometime in
the future.

View File

@@ -0,0 +1,40 @@
GIT v1.5.6.2 Release Notes
==========================
Futureproof
-----------
* "git-shell" accepts requests without a dash between "git" and
subcommand name (e.g. "git upload-pack") which the newer client will
start to make sometime in the future.
Fixes since v1.5.6.1
--------------------
* "git clone" from a remote that is named with url.insteadOf setting in
$HOME/.gitconfig did not work well.
* "git describe --long --tags" segfaulted when the described revision was
tagged with a lightweight tag.
* "git diff --check" did not report the result via its exit status
reliably.
* When remote side used to have branch 'foo' and git-fetch finds that now
it has branch 'foo/bar', it refuses to lose the existing remote tracking
branch and its reflog. The error message has been improved to suggest
pruning the remote if the user wants to proceed and get the latest set
of branches from the remote, including such 'foo/bar'.
* "git reset file" should mean the same thing as "git reset HEAD file",
but we required disambiguating -- even when "file" is not ambiguous.
* "git show" segfaulted when an annotated tag that points at another
annotated tag was given to it.
* Optimization for a large import via "git-svn" introduced in v1.5.6 had a
serious memory and temporary file leak, which made it unusable for
moderately large import.
* "git-svn" mangled remote nickname used in the configuration file
unnecessarily.

View File

@@ -0,0 +1,52 @@
GIT v1.5.6.3 Release Notes
==========================
Fixes since v1.5.6.2
--------------------
* Setting core.sharerepository to traditional "true" value was supposed to make
the repository group writable but should not affect permission for others.
However, since 1.5.6, it was broken to drop permission for others when umask is
022, making the repository unreadable by others.
* Setting GIT_TRACE will report spawning of external process via run_command().
* Using an object with very deep delta chain pinned memory needed for extracting
intermediate base objects unnecessarily long, leading to excess memory usage.
* Bash completion script did not notice '--' marker on the command
line and tried the relatively slow "ref completion" even when
completing arguments after one.
* Registering a non-empty blob racily and then truncating the working
tree file for it confused "racy-git avoidance" logic into thinking
that the path is now unchanged.
* The section that describes attributes related to git-archive were placed
in a wrong place in the gitattributes(5) manual page.
* "git am" was not helpful to the users when it detected that the committer
information is not set up properly yet.
* "git clone" had a leftover debugging fprintf().
* "git clone -q" was not quiet enough as it used to and gave object count
and progress reports.
* "git clone" marked downloaded packfile with .keep; this could be a
good thing if the remote side is well packed but otherwise not,
especially for a project that is not really big.
* "git daemon" used to call syslog() from a signal handler, which
could raise signals of its own but generally is not reentrant. This
was fixed by restructuring the code to report syslog() after the handler
returns.
* When "git push" tries to remove a remote ref, and corresponding
tracking ref is missing, we used to report error (i.e. failure to
remove something that does not exist).
* "git mailinfo" (hence "git am") did not handle commit log messages in a
MIME multipart mail correctly.
Contains other various documentation fixes.

View File

@@ -0,0 +1,153 @@
GIT v1.6.0 Release Notes
========================
User visible changes
--------------------
With the default Makefile settings, most of the programs are now
installed outside your $PATH, except for "git", "gitk", "git-gui" and
some server side programs that need to be accessible for technical
reasons. Invoking a git subcommand as "git-xyzzy" from the command
line has been deprecated since early 2006 (and officially announced in
1.5.4 release notes); use of them from your scripts after adding
output from "git --exec-path" to the $PATH is still supported in this
release, but users are again strongly encouraged to adjust their
scripts to use "git xyzzy" form, as we will stop installing
"git-xyzzy" hardlinks for built-in commands in later releases.
Source changes needed for porting to MinGW environment are now all in the
main git.git codebase.
By default, packfiles created with this version uses delta-base-offset
encoding introduced in v1.4.4. Pack idx files are using version 2 that
allows larger packs and added robustness thanks to its CRC checking,
introduced in v1.5.2.
GIT_CONFIG, which was only documented as affecting "git config", but
actually affected all git commands, now only affects "git config".
GIT_LOCAL_CONFIG, also only documented as affecting "git config" and
not different from GIT_CONFIG in a useful way, is removed.
An ancient merge strategy "stupid" has been removed.
Updates since v1.5.6
--------------------
(subsystems)
* git-p4 in contrib learned "allowSubmit" configuration to control on
which branch to allow "submit" subcommand.
* git-gui learned to stage changes per-line.
(portability)
* Changes for MinGW port have been merged, thanks to Johannes Sixt and
gangs.
* Sample hook scripts shipped in templates/ are now suffixed with
*.sample. We used to prevent them from triggering by default by
relying on the fact that we install them as unexecutable, but on
some filesystems this approach does not work. Instead of running
"chmod +x" on them, the users who want to activate these samples
as-is can now rename them dropping *.sample suffix.
* perl's in-place edit (-i) does not work well without backup files on Windows;
some tests are rewritten to cope with this.
(documentation)
* Updated howto/update-hook-example
* Got rid of usage of "git-foo" from the tutorial and made typography
more consistent.
* Disambiguating "--" between revs and paths is finally documented.
(performance, robustness, sanity etc.)
* even more documentation pages are now accessible via "man" and "git help".
* reduced excessive inlining to shrink size of the "git" binary.
* verify-pack checks the object CRC when using version 2 idx files.
* When an object is corrupt in a pack, the object became unusable even
when the same object is available in a loose form, We now try harder to
fall back to these redundant objects when able. In particular, "git
repack -a -f" can be used to fix such a corruption as long as necessary
objects are available.
* git-clone does not create refs in loose form anymore (it behaves as
if you immediately ran git-pack-refs after cloning). This will help
repositories with insanely large number of refs.
* core.fsyncobjectfiles configuration can be used to ensure that the loose
objects created will be fsync'ed (this is only useful on filesystems
that does not order data writes properly).
* "git commit-tree" plumbing can make Octopus with more than 16 parents.
"git commit" has been capable of this for quite some time.
(usability, bells and whistles)
* A new environment variable GIT_CEILING_DIRECTORIES can be used to stop
the discovery process of the toplevel of working tree; this may be useful
when you are working in a slow network disk and are outside any working tree,
as bash-completion and "git help" may still need to run in these places.
* git-apply can handle a patch that touches the same path more than once
much better than before.
* git-apply can be told not to trust the line counts recorded in the input
patch but recount, with the new --recount option.
* git-archive can be told to omit certain paths from its output using
export-ignore attributes.
* git-clone can clone from a remote whose URL would be rewritten by
configuration stored in $HOME/.gitconfig now.
* git-diff --check now checks leftover merge conflict markers.
* When remote side used to have branch 'foo' and git-fetch finds that now
it has branch 'foo/bar', it refuses to lose the existing remote tracking
branch and its reflog. The error message has been improved to suggest
pruning the remote if the user wants to proceed and get the latest set
of branches from the remote, including such 'foo/bar'.
* fast-export learned to export and import marks file; this can be used to
interface with fast-import incrementally.
* "git rerere" can be told to update the index with auto-reused resolution
with rerere.autoupdate configuration variable.
* git-send-mail can talk not just over SSL but over TLS now.
* You can tell "git status -u" to even more aggressively omit checking
untracked files with --untracked-files=no.
* Original SHA-1 value for "update-ref -d" is optional now.
* Error codes from gitweb are made more descriptive where possible, rather
than "403 forbidden" as we used to issue everywhere.
(internal)
Fixes since v1.5.6
------------------
All of the fixes in v1.5.6 maintenance series are included in
this release, unless otherwise noted.
* "git fetch" into an empty repository used to remind the fetch will
be huge by saying "no common commits", but it is already known by
the user anyway (need to backport 8cb560f to 'maint').
---
exec >/var/tmp/1
O=v1.5.6.2-246-g86d7244
echo O=$(git describe refs/heads/master)
git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint

View File

@@ -419,6 +419,11 @@ settings but I haven't tried, yet.
mail.identity.default.compose_html => false
mail.identity.id?.compose_html => false
(Lukas Sandström)
There is a script in contrib/thunderbird-patch-inline which can help
you include patches with Thunderbird in an easy way. To use it, do the
steps above and then use the script as the external editor.
Gnus
----

View File

@@ -8,6 +8,7 @@
# the command.
[attributes]
asterisk=*
plus=+
caret=^
startsb=[

View File

@@ -63,7 +63,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 or true/false. 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 value in double quotes if you want to
@@ -118,8 +118,8 @@ core.fileMode::
See linkgit:git-update-index[1]. True by default.
core.quotepath::
The commands that output paths (e.g. `ls-files`,
`diff`), when not given the `-z` option, will quote
The commands that output paths (e.g. 'ls-files',
'diff'), when not given the `-z` option, will quote
"unusual" characters in the pathname by enclosing the
pathname in a double-quote pair and with backslashes the
same way strings in C source code are quoted. If this
@@ -356,8 +356,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:
+
* `trailing-space` treats trailing whitespaces at the end of the line
@@ -372,6 +372,14 @@ core.whitespace::
does not trigger if the character before such a carriage-return
is not a whitespace (not enabled by default).
core.fsyncobjectfiles::
This boolean will enable 'fsync()' when writing object files.
+
This is a total waste of time and effort on a filesystem that orders
data writes properly, but can be useful for filesystems that do not use
journalling (traditional UNIX filesystems) or that only journal metadata
and not file contents (OS X's HFS+, or Linux ext3 with "data=writeback").
alias.*::
Command aliases for the linkgit:git[1] command wrapper - e.g.
after defining "alias.last = cat-file commit HEAD", the invocation
@@ -388,11 +396,11 @@ it will be treated as a shell command. For example, defining
"gitk --all --not ORIG_HEAD".
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`
@@ -403,7 +411,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.
@@ -418,20 +426,20 @@ branch.autosetuprebase::
This option defaults to never.
branch.<name>.remote::
When in branch <name>, it tells `git fetch` which remote to fetch.
If this option is not given, `git fetch` defaults to remote "origin".
When in branch <name>, it tells 'git-fetch' which remote to fetch.
If this option is not given, 'git-fetch' defaults to remote "origin".
branch.<name>.merge::
When in branch <name>, it tells `git fetch` the 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.
@@ -500,12 +508,12 @@ color.diff.<slot>::
color.interactive::
When set to `always`, always use colors for interactive prompts
and displays (such as those used by "git add --interactive").
and displays (such as those used by "git-add --interactive").
When false (or `never`), never. When set to `true` or `auto`, use
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`, or `help`, for
three distinct types of normal output from interactive
programs. The values of these variables may be specified as
@@ -542,14 +550,14 @@ color.ui::
take precedence over this setting. Defaults to false.
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
@@ -560,7 +568,7 @@ diff.external::
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
@@ -600,7 +608,7 @@ format.pretty::
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::
@@ -617,39 +625,44 @@ 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` to run `git pack-refs`. Setting this to `false` tells
`git gc` never to run `git pack-refs`. The default setting is
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
`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.
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].
rerere.autoupdate::
When set to true, `git-rerere` updates the index with the
resulting contents after it cleanly resolves conflicts using
previously recorded resolution. Defaults to false.
rerere.enabled::
Activate recording of resolved conflicts, so that identical
conflict hunks can be resolved automatically, should they
@@ -672,7 +685,7 @@ gitcvs.usecrlfattr
treat it as text. If `crlf` is explicitly unset, the file
will be set with '-kb' mode, which supresses any newline munging
the client might otherwise do. If `crlf` is not specified,
then 'gitcvs.allbinary' is used. See linkgit:gitattribute[5].
then 'gitcvs.allbinary' is used. See linkgit:gitattributes[5].
gitcvs.allbinary::
This is used if 'gitcvs.usecrlfattr' does not resolve
@@ -813,7 +826,7 @@ i18n.commitEncoding::
i18n.logOutputEncoding::
Character encoding the commit messages are converted to when
running `git-log` and friends.
running 'git-log' and friends.
instaweb.browser::
Specify the program that will be used to browse your working
@@ -836,7 +849,7 @@ instaweb.port::
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
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].
@@ -937,9 +950,17 @@ pack.indexVersion::
legacy pack index used by Git versions prior to 1.5.2, and 2 for
the new pack index with capabilities for packs larger than 4 GB
as well as proper protection against the repacking of corrupted
packs. Version 2 is selected and this config option ignored
whenever the corresponding pack is larger than 2 GB. Otherwise
the default is 1.
packs. Version 2 is the default. Note that version 2 is enforced
and this config option ignored whenever the corresponding pack is
larger than 2 GB.
+
If you have an old git that does not understand the version 2 `{asterisk}.idx` file,
cloning or fetching over a non native protocol (e.g. "http" and "rsync")
that will copy both `{asterisk}.pack` file and corresponding `{asterisk}.idx` file from the
other side may give you a repository that cannot be accessed with your
older version of git. If the `{asterisk}.pack` file is smaller than 2 GB, however,
you can use linkgit:git-index-pack[1] on the *.pack file to regenerate
the `{asterisk}.idx` file.
pack.packSizeLimit::
The default maximum size of a pack. This setting only affects
@@ -996,12 +1017,12 @@ remotes.<group>::
<group>". See linkgit:git-remote[1].
repack.usedeltabaseoffset::
Allow linkgit:git-repack[1] to create packs that uses
delta-base offset. Defaults to false.
show.difftree::
The default linkgit:git-diff-tree[1] arguments to be used
for linkgit:git-show[1].
By default, linkgit:git-repack[1] creates packs that use
delta-base offset. If you need to share your repository with
git older than version 1.4.4, either directly or via a dumb
protocol such as http, then you need to set this option to
"false" and repack. Access from old git versions over the
native protocol are unaffected by this option.
showbranch.default::
The default set of branches for linkgit:git-show-branch[1].
@@ -1013,6 +1034,25 @@ status.relativePaths::
relative to the repository root (this was the default for git
prior to v1.5.4).
status.showUntrackedFiles::
By default, linkgit:git-status[1] and linkgit:git-commit[1] show
files which are not currently tracked by Git. Directories which
contain only untracked files, are shown with the directory name
only. Showing untracked files means that Git needs to lstat() all
all the files in the whole repository, which might be slow on some
systems. So, this variable controls how the commands displays
the untracked files. Possible values are:
+
--
- 'no' - Show no untracked files
- 'normal' - Shows untracked files and directories
- 'all' - Shows also individual files in untracked directories.
--
+
If this variable is not specified, it defaults to 'normal'.
This variable can be overridden with the -u|--untracked-files option
of linkgit:git-status[1] and linkgit:git-commit[1].
tar.umask::
This variable can be used to restrict the permission bits of
tar archive entries. The default is 0002, which turns off the
@@ -1048,10 +1088,6 @@ user.signingkey::
unchanged to gpg's --local-user parameter, so you may specify a key
using any method that gpg supports.
whatchanged.difftree::
The default linkgit:git-diff-tree[1] arguments to be used
for linkgit:git-whatchanged[1].
imap::
The configuration variables in the 'imap' section are described
in linkgit:git-imap-send[1].

View File

@@ -241,4 +241,4 @@ endif::git-format-patch[]
Do not show any source or destination prefix.
For more detailed explanation on these common options, see also
linkgit:gitdiffcore[7][diffcore documentation].
linkgit:gitdiffcore[7].

View File

@@ -21,7 +21,7 @@
-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
@@ -53,10 +53,10 @@ 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.

View File

@@ -8,7 +8,7 @@ git-add - Add file contents to the index
SYNOPSIS
--------
[verse]
'git-add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]
'git add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]
[--update | -u] [--refresh] [--ignore-errors] [--]
<filepattern>...
@@ -107,7 +107,7 @@ Configuration
The optional configuration variable 'core.excludesfile' indicates a path to a
file containing patterns of file names to exclude from git-add, similar to
$GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to
those in info/exclude. See linkgit:gitrepository-layout[5][repository layout].
those in info/exclude. See linkgit:gitrepository-layout[5].
EXAMPLES
@@ -236,6 +236,7 @@ patch::
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help
+
After deciding the fate for all hunks, if there is any hunk

View File

@@ -9,11 +9,11 @@ git-am - Apply a series of patches from a mailbox
SYNOPSIS
--------
[verse]
'git-am' [--signoff] [--keep] [--utf8 | --no-utf8]
'git am' [--signoff] [--keep] [--utf8 | --no-utf8]
[--3way] [--interactive] [--binary]
[--whitespace=<option>] [-C<n>] [-p<n>]
<mbox>|<Maildir>...
'git-am' [--skip | --resolved]
[<mbox> | <Maildir>...]
'git am' (--skip | --resolved)
DESCRIPTION
-----------
@@ -35,11 +35,11 @@ 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]).
-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
@@ -49,7 +49,7 @@ This was optional in prior versions of git, but now it is the
default. You could 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::
@@ -61,17 +61,17 @@ default. You could use `--no-utf8` to override this.
-b::
--binary::
Pass `--allow-binary-replacement` flag to `git-apply`
Pass `--allow-binary-replacement` flag to 'git-apply'
(see linkgit:git-apply[1]).
--whitespace=<option>::
This flag is passed to the `git-apply` (see linkgit:git-apply[1])
This flag is passed to the 'git-apply' (see linkgit:git-apply[1])
program that applies
the patch.
-C<n>::
-p<n>::
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.
@@ -97,7 +97,7 @@ default. You could 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'.
DISCUSSION
----------

View File

@@ -7,7 +7,7 @@ git-annotate - Annotate file lines with commit info
SYNOPSIS
--------
git-annotate [options] file [revision]
'git annotate' [options] file [revision]
DESCRIPTION
-----------

View File

@@ -9,16 +9,16 @@ git-apply - Apply a patch on a git index file and a working tree
SYNOPSIS
--------
[verse]
'git-apply' [--stat] [--numstat] [--summary] [--check] [--index]
'git apply' [--stat] [--numstat] [--summary] [--check] [--index]
[--apply] [--no-add] [--build-fake-ancestor <file>] [-R | --reverse]
[--allow-binary-replacement | --binary] [--reject] [-z]
[-pNUM] [-CNUM] [--inaccurate-eof] [--cached]
[-pNUM] [-CNUM] [--inaccurate-eof] [--recount] [--cached]
[--whitespace=<nowarn|warn|fix|error|error-all>]
[--exclude=PATH] [--verbose] [<patch>...]
[--exclude=PATH] [--directory=<root>] [--verbose] [<patch>...]
DESCRIPTION
-----------
Reads supplied diff output and applies it on a git index file
Reads supplied 'diff' output and applies it on a git index file
and a work tree.
OPTIONS
@@ -64,7 +64,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 is available locally,
@@ -78,7 +78,7 @@ the information is read from the current index instead.
Apply the patch in reverse.
--reject::
For atomicity, linkgit:git-apply[1] 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
@@ -102,7 +102,7 @@ the information is read from the current index instead.
ever ignored.
--unidiff-zero::
By default, linkgit:git-apply[1] 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
@@ -113,7 +113,7 @@ discouraged.
--apply::
If you use any of the options marked "Turns off
'apply'" above, linkgit:git-apply[1] reads and outputs the
'apply'" above, 'git-apply' reads and outputs the
information you asked without actually applying the
patch. Give this flag after those flags to also apply
the patch.
@@ -121,7 +121,7 @@ discouraged.
--no-add::
When applying a patch, ignore additions made by the
patch. This can be used to extract the common part between
two files by first running `diff` on them and applying
two files by first running 'diff' on them and applying
the result with this option, which would apply the
deletion part but not addition part.
@@ -147,7 +147,7 @@ discouraged.
considered whitespace errors.
+
By default, the command outputs warning messages but applies the patch.
When linkgit:git-apply[1] is used for statistics and not applying a
When `git-apply is used for statistics and not applying a
patch, it defaults to `nowarn`.
+
You can use different `<action>` to control this
@@ -165,9 +165,9 @@ behavior:
* `error-all` is similar to `error` but shows all errors.
--inaccurate-eof::
Under certain circumstances, some versions of diff do not correctly
Under certain circumstances, some versions of 'diff' do not correctly
detect a missing new-line at the end of the file. As a result, patches
created by such diff programs do not record incomplete lines
created by such 'diff' programs do not record incomplete lines
correctly. This option adds support for applying such patches by
working around this bug.
@@ -177,6 +177,19 @@ behavior:
current patch being applied will be printed. This option will cause
additional information to be reported.
--recount::
Do not trust the line counts in the hunk headers, but infer them
by inspecting the patch (e.g. after editing the patch without
adjusting the hunk headers appropriately).
--directory=<root>::
Prepend <root> to all filenames. If a "-p" argument was passed, too,
it is applied before prepending the new root.
+
For example, a patch that talks about updating `a/git-gui.sh` to `b/git-gui.sh`
can be applied to the file in the working tree `modules/git-gui/git-gui.sh` by
running `git apply --directory=modules/git-gui`.
Configuration
-------------
@@ -186,7 +199,7 @@ apply.whitespace::
Submodules
----------
If the patch contains any changes to submodules then linkgit:git-apply[1]
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

View File

@@ -9,7 +9,7 @@ git-archimport - Import an Arch repository into git
SYNOPSIS
--------
[verse]
'git-archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
<archive/branch>[:<git-branch>] ...
DESCRIPTION
@@ -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

View File

@@ -9,7 +9,7 @@ git-archive - Create an archive of files from a named tree
SYNOPSIS
--------
[verse]
'git-archive' --format=<fmt> [--list] [--prefix=<prefix>/] [<extra>]
'git archive' --format=<fmt> [--list] [--prefix=<prefix>/] [<extra>]
[--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>
[path...]
@@ -57,7 +57,7 @@ OPTIONS
--exec=<git-upload-archive>::
Used with --remote to specify the path to the
git-upload-archive executable on the remote side.
'git-upload-archive' on the remote side.
<tree-ish>::
The tree or commit to produce an archive for.

View File

@@ -26,7 +26,7 @@ on the subcommand:
git bisect log
git bisect run <cmd>...
This command uses 'git-rev-list --bisect' option to help drive the
This command uses 'git-rev-list --bisect' to help drive the
binary search process to find which change introduced a bug, given an
old "good" commit object name and a later "bad" commit object name.
@@ -98,10 +98,10 @@ During the bisection process, you can say
$ git bisect visualize
------------
to see the currently remaining suspects in `gitk`. `visualize` is a bit
to see the currently remaining suspects in 'gitk'. `visualize` is a bit
too long to type and `view` is provided as a synonym.
If `DISPLAY` environment variable is not set, `git log` is used
If 'DISPLAY' environment variable is not set, 'git-log' is used
instead. You can even give command line options such as `-p` and
`--stat`.
@@ -215,13 +215,13 @@ tweaks (e.g., s/#define DEBUG 0/#define DEBUG 1/ in a header file, or
work around other problem this bisection is not interested in")
applied to the revision being tested.
To cope with such a situation, after the inner git-bisect finds the
To cope with such a situation, after the inner 'git-bisect' finds the
next revision to test, with the "run" script, you can apply that tweak
before compiling, run the real test, and after the test decides if the
revision (possibly with the needed tweaks) passed the test, rewind the
tree to the pristine state. Finally the "run" script can exit with
the status of the real test to let "git bisect run" command loop to
know the outcome.
the status of the real test to let the "git bisect run" command loop to
determine the outcome.
EXAMPLES
--------

View File

@@ -8,7 +8,7 @@ git-blame - Show what revision and author last modified each line of a file
SYNOPSIS
--------
[verse]
'git-blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-p] [-w] [--incremental] [-L n,m]
'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-p] [-w] [--incremental] [-L n,m]
[-S <revs-file>] [-M] [-C] [-C] [--since=<date>]
[<rev> | --contents <file>] [--] <file>
@@ -21,7 +21,7 @@ last modified the line. Optionally, start annotating from the given revision.
Also it can limit the range of lines annotated.
This report doesn't tell you anything about lines which have been deleted or
replaced; you need to use a tool such as linkgit:git-diff[1] 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
to be 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 git, the extent
Unlike 'git-blame' and 'git-annotate' in older git, the extent
of annotation can be limited to both line ranges and revision
ranges. When you are interested in finding the origin for
ll. 40-60 for file `foo`, you can use `-L` option like these
@@ -118,7 +118,7 @@ would limit the annotation to the body of `hello` subroutine.
When you are not interested in changes older than the 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

View File

@@ -8,12 +8,12 @@ git-branch - List, create, or delete branches
SYNOPSIS
--------
[verse]
'git-branch' [--color | --no-color] [-r | -a] [--merged | --no-merged]
'git branch' [--color | --no-color] [-r | -a] [--merged | --no-merged]
[-v [--abbrev=<length> | --no-abbrev]]
[--contains <commit>]
'git-branch' [--track | --no-track] [-l] [-f] <branchname> [<start-point>]
'git-branch' (-m | -M) [<oldbranch>] <newbranch>
'git-branch' (-d | -D) [-r] <branchname>...
'git branch' [--track | --no-track] [-l] [-f] <branchname> [<start-point>]
'git branch' (-m | -M) [<oldbranch>] <newbranch>
'git branch' (-d | -D) [-r] <branchname>...
DESCRIPTION
-----------
@@ -37,7 +37,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 linkgit:git-pull[1] 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.
@@ -54,7 +54,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 remote repository or if linkgit:git-fetch[1] was configured not to fetch
in remote repository or if 'git-fetch' was configured not to fetch
them again. See also 'prune' subcommand of linkgit:git-remote[1] for way to
clean up all obsolete remote-tracking branches.
@@ -107,14 +107,14 @@ OPTIONS
Display the full sha1s in output listing rather than abbreviating them.
--track::
When creating a new branch, set up configuration so that git-pull
When creating a new branch, set up configuration so that 'git-pull'
will automatically retrieve data from the start point, which must be
a branch. Use this if you always pull from the same upstream branch
into the new branch, and if you don't want to use "git pull
<repository> <refspec>" explicitly. This behavior is the default
when the start point is a remote branch. Set the
branch.autosetupmerge configuration variable to `false` if you want
git-checkout and git-branch to always behave as if '--no-track' were
'git-checkout' and 'git-branch' to always behave as if '--no-track' were
given. Set it to `always` if you want this behavior when the
start-point is either a local or remote branch.

View File

@@ -9,10 +9,10 @@ git-bundle - Move objects and refs by archive
SYNOPSIS
--------
[verse]
'git-bundle' create <file> <git-rev-list args>
'git-bundle' verify <file>
'git-bundle' list-heads <file> [refname...]
'git-bundle' unbundle <file> [refname...]
'git bundle' create <file> <git-rev-list args>
'git bundle' verify <file>
'git bundle' list-heads <file> [refname...]
'git bundle' unbundle <file> [refname...]
DESCRIPTION
-----------
@@ -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 so 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 linkgit:git-fetch[1] and linkgit:git-pull[1]
another repository using 'git-fetch' and 'git-pull'
after moving the archive by some means (i.e., by sneakernet). As no
direct connection between 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 non-zero status.
list-heads <file>::
@@ -51,16 +51,15 @@ list-heads <file>::
printed out.
unbundle <file>::
Passes the objects in the bundle to linkgit:git-index-pack[1]
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 reflist is given, only references
matching those in the given list are printed. This command is
really plumbing, intended to be called only by
linkgit:git-fetch[1].
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 specify the specific objects and references
A list of arguments, acceptable to 'git-rev-parse' and
'git-rev-list', that specify 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
@@ -70,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 is
acting like linkgit:git-fetch-pack[1]).
necessarily everything in the pack (in this case, 'git-bundle' is
acting 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
@@ -116,7 +115,7 @@ We set a tag in R1 (lastR2bundle) after the previous such transport,
and move it afterwards to help build the bundle.
------------
$ git-bundle create mybundle master ^lastR2bundle
$ git bundle create mybundle master ^lastR2bundle
$ git tag -f lastR2bundle master
------------
@@ -141,8 +140,8 @@ $ git bundle create mybundle master -n 10
Then you move mybundle from A to B, and in R2 on B:
------------
$ git-bundle verify mybundle
$ git-fetch mybundle master:localRef
$ git bundle verify mybundle
$ git fetch mybundle master:localRef
------------
With something like this in the config in R2:

View File

@@ -9,8 +9,8 @@ git-cat-file - Provide content or type/size information for repository objects
SYNOPSIS
--------
[verse]
'git-cat-file' [-t | -s | -e | -p | <type>] <object>
'git-cat-file' [--batch | --batch-check] < <list-of-objects>
'git cat-file' [-t | -s | -e | -p | <type>] <object>
'git cat-file' [--batch | --batch-check] < <list-of-objects>
DESCRIPTION
-----------

View File

@@ -8,7 +8,7 @@ git-check-attr - Display gitattributes information.
SYNOPSIS
--------
'git-check-attr' attr... [--] pathname...
'git check-attr' attr... [--] pathname...
DESCRIPTION
-----------

View File

@@ -7,7 +7,7 @@ git-check-ref-format - Make sure ref name is well formed
SYNOPSIS
--------
'git-check-ref-format' <refname>
'git check-ref-format' <refname>
DESCRIPTION
-----------
@@ -47,7 +47,7 @@ refname expressions (see linkgit:git-rev-parse[1]). Namely:
. 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
linkgit:git-cat-file[1] "git-cat-file blob v1.3.3:refs.c".
'git-cat-file': "git cat-file blob v1.3.3:refs.c".
GIT

View File

@@ -9,7 +9,7 @@ git-checkout-index - Copy files from the index to the working tree
SYNOPSIS
--------
[verse]
'git-checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]
'git checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]
[--stage=<number>|all]
[--temp]
[-z] [--stdin]
@@ -73,25 +73,25 @@ OPTIONS
The order of the flags used to matter, but not anymore.
Just doing `git-checkout-index` does nothing. You probably meant
`git-checkout-index -a`. And if you want to force it, you want
`git-checkout-index -f -a`.
Just doing `git checkout-index` does nothing. You probably meant
`git checkout-index -a`. And if you want to force it, you want
`git checkout-index -f -a`.
Intuitiveness is not the goal here. Repeatability is. The reason for
the "no arguments means no work" behavior is that from scripts you are
supposed to be able to do:
----------------
$ find . -name '*.h' -print0 | xargs -0 git-checkout-index -f --
$ 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
$ find . -name '*.h' -print0 | git checkout-index -f -z --stdin
----------------
The `--` is just a good idea when you know the rest will be filenames;
@@ -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
@@ -144,19 +144,19 @@ EXAMPLES
To update and refresh only the files already checked out::
+
----------------
$ git-checkout-index -n -f -a && git-update-index --ignore-missing --refresh
$ 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:
+
----------------
$ git-checkout-index --prefix=git-export-dir/ -a
$ git checkout-index --prefix=git-export-dir/ -a
----------------
+
`git-checkout-index` will "export" the index into the specified
`git checkout-index` will "export" the index into the specified
directory.
+
The final "/" is important. The exported name is literally just
@@ -166,7 +166,7 @@ following example.
Export files with a prefix::
+
----------------
$ git-checkout-index --prefix=.merged- Makefile
$ git checkout-index --prefix=.merged- Makefile
----------------
+
This will check out the currently cached copy of `Makefile`

View File

@@ -8,8 +8,8 @@ git-checkout - Checkout a branch or paths to the working tree
SYNOPSIS
--------
[verse]
'git-checkout' [-q] [-f] [[--track | --no-track] -b <new_branch> [-l]] [-m] [<branch>]
'git-checkout' [<tree-ish>] <paths>...
'git checkout' [-q] [-f] [[--track | --no-track] -b <new_branch> [-l]] [-m] [<branch>]
'git checkout' [<tree-ish>] <paths>...
DESCRIPTION
-----------
@@ -23,7 +23,7 @@ options, which will be passed to `git branch`.
When <paths> are given, this command does *not* switch
branches. It updates the named paths in the working tree from
the index file (i.e. it runs `git-checkout-index -f -u`), or
the index file (i.e. it runs `git checkout-index -f -u`), or
from a named commit. In
this case, the `-f` and `-b` options are meaningless and giving
either of them results in an error. <tree-ish> argument can be
@@ -49,14 +49,14 @@ OPTIONS
-t::
--track::
When creating a new branch, set up configuration so that git-pull
When creating a new branch, set up configuration so that 'git-pull'
will automatically retrieve data from the start point, which must be
a branch. Use this if you always pull from the same upstream branch
into the new branch, and if you don't want to use "git pull
<repository> <refspec>" explicitly. This behavior is the default
when the start point is a remote branch. Set the
branch.autosetupmerge configuration variable to `false` if you want
git-checkout and git-branch to always behave as if '--no-track' were
'git-checkout' and 'git-branch' to always behave as if '--no-track' were
given. Set it to `always` if you want this behavior when the
start-point is either a local or remote branch.
@@ -112,7 +112,7 @@ current branch and directly point at the commit named by the tag
(`v2.6.18` in the above example).
You can use usual git commands while in this state. You can use
`git-reset --hard $othercommit` to further move around, for
`git reset --hard $othercommit` to further move around, for
example. You can make changes and create a new commit on top of
a detached HEAD. You can even create a merge by using `git
merge $othercommit`.

View File

@@ -7,7 +7,7 @@ git-cherry-pick - Apply the change introduced by an existing commit
SYNOPSIS
--------
'git-cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] <commit>
'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] <commit>
DESCRIPTION
-----------
@@ -19,12 +19,12 @@ OPTIONS
-------
<commit>::
Commit to cherry-pick.
For a more complete list of ways to spell commits, see
For a more complete list of ways to spell commits, see the
"SPECIFYING REVISIONS" section in linkgit:git-rev-parse[1].
-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::

View File

@@ -7,14 +7,14 @@ git-cherry - Find commits not merged upstream
SYNOPSIS
--------
'git-cherry' [-v] <upstream> [<head>] [<limit>]
'git cherry' [-v] <upstream> [<head>] [<limit>]
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 linkgit:git-patch-id[1]
program.
The commits are compared with their 'patch id', obtained from
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.

View File

@@ -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 linkgit:git-commit[1] 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

View File

@@ -8,7 +8,7 @@ git-clean - Remove untracked files from the working tree
SYNOPSIS
--------
[verse]
'git-clean' [-d] [-f] [-n] [-q] [-x | -X] [--] <paths>...
'git clean' [-d] [-f] [-n] [-q] [-x | -X] [--] <paths>...
DESCRIPTION
-----------
@@ -27,7 +27,7 @@ OPTIONS
-f::
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::
@@ -41,7 +41,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 linkgit:git-reset[1]) to create a pristine
conjunction with 'git-reset') to create a pristine
working directory to test a clean build.
-X::

View File

@@ -9,7 +9,7 @@ git-clone - Clone a repository into a new directory
SYNOPSIS
--------
[verse]
'git-clone' [--template=<template_directory>]
'git clone' [--template=<template_directory>]
[-l] [-s] [--no-hardlinks] [-q] [-n] [--bare]
[-o <name>] [-u <upload-pack>] [--reference <repository>]
[--depth <depth>] [--] <repository> [<directory>]
@@ -68,10 +68,10 @@ it unless you understand what it does. If you clone your
repository using this option and then delete branches (or use any
other git command that makes any existing commit unreferenced) in the
source repository, some objects may become unreferenced (or dangling).
These objects may be removed by normal git operations (such as git-commit[1])
which automatically call git-gc[1]. If these objects are removed and
were referenced by the cloned repository, then the cloned repository
will become corrupt.
These objects may be removed by normal git operations (such as 'git-commit')
which automatically call `git gc --auto`. (See linkgit:git-gc[1].)
If these objects are removed and were referenced by the cloned repository,
then the cloned repository will become corrupt.
@@ -88,7 +88,7 @@ will become corrupt.
--quiet::
-q::
Operate quietly. This flag is passed to "rsync" and
"git-fetch-pack" commands when given.
'git-fetch-pack' commands when given.
--no-checkout::
-n::
@@ -114,7 +114,7 @@ will become corrupt.
--upload-pack <upload-pack>::
-u <upload-pack>::
When given, and the repository to clone 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.

View File

@@ -8,7 +8,7 @@ git-commit-tree - Create a new commit object
SYNOPSIS
--------
'git-commit-tree' <tree> [-p <parent commit>]\* < changelog
'git commit-tree' <tree> [-p <parent commit>]\* < changelog
DESCRIPTION
-----------
@@ -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.

View File

@@ -8,23 +8,23 @@ git-commit - Record changes to the repository
SYNOPSIS
--------
[verse]
'git-commit' [-a | --interactive] [-s] [-v] [-u] [--amend]
'git commit' [-a | --interactive] [-s] [-v] [-u<mode>] [--amend]
[(-c | -C) <commit>] [-F <file> | -m <msg>]
[--allow-empty] [--no-verify] [-e] [--author=<author>]
[--cleanup=<mode>] [--] [[-i | -o ]<file>...]
DESCRIPTION
-----------
Use 'git commit' to store the current contents of the index in a new
commit along with a log message describing the changes you have made.
Stores the current contents of the index in a new commit along
with a log message from the user describing the changes.
The content to be added can be specified in several ways:
1. by using linkgit:git-add[1] 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 linkgit:git-rm[1] 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
@@ -39,15 +39,15 @@ 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 linkgit:git-status[1] command can be used to obtain a
The 'git-status' command 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 you would give to
this command.
If you make a commit and then found a mistake immediately after
that, you can recover from it with linkgit:git-reset[1].
If you make a commit and then find a mistake immediately after
that, you can recover from it with 'git-reset'.
OPTIONS
@@ -97,7 +97,7 @@ OPTIONS
-n::
--no-verify::
This option bypasses the pre-commit and commit-msg hooks.
See also linkgit:githooks[5][hooks].
See also linkgit:githooks[5].
--allow-empty::
Usually recording a commit that has the exact same tree as its
@@ -155,20 +155,29 @@ but can be used to amend a merge commit.
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 be specified, which can be used to amend
the last commit without committing changes that have
already been staged.
-u::
--untracked-files::
Show all untracked files, also those in uninteresting
directories, in the "Untracked files:" section of commit
message template. Without this option only its name and
a trailing slash are displayed for each untracked
directory.
-u[<mode>]::
--untracked-files[=<mode>]::
Show untracked files (Default: 'all').
+
The mode parameter is optional, and is used to specify
the handling of untracked files. The possible options are:
+
--
- 'no' - Show no untracked files
- 'normal' - Shows untracked files and directories
- 'all' - Also shows individual files in untracked directories.
--
+
See linkgit:git-config[1] for configuration variable
used to change the default for when the option is not
specified.
-v::
--verbose::
@@ -196,10 +205,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 linkgit:git-add[1]. 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
to that of the last commit with `git reset HEAD -- <file>`,
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
@@ -255,13 +264,13 @@ $ git commit
this second commit would record the changes to `hello.c` and
`hello.h` as expected.
After a merge (initiated by either linkgit:git-merge[1] or
linkgit:git-pull[1]) stops because of conflicts, cleanly merged
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 linkgit:git-status[1]
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 linkgit:git-add[1]:
stage the result as usual with 'git-add':
------------
$ git status | grep unmerged
@@ -307,7 +316,7 @@ order).
HOOKS
-----
This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`,
and `post-commit` hooks. See linkgit:githooks[5][hooks] for more
and `post-commit` hooks. See linkgit:githooks[5] for more
information.

View File

@@ -9,19 +9,19 @@ git-config - Get and set repository or global options
SYNOPSIS
--------
[verse]
'git-config' [<file-option>] [type] [-z|--null] name [value [value_regex]]
'git-config' [<file-option>] [type] --add name value
'git-config' [<file-option>] [type] --replace-all name [value [value_regex]]
'git-config' [<file-option>] [type] [-z|--null] --get name [value_regex]
'git-config' [<file-option>] [type] [-z|--null] --get-all name [value_regex]
'git-config' [<file-option>] [type] [-z|--null] --get-regexp name_regex [value_regex]
'git-config' [<file-option>] --unset name [value_regex]
'git-config' [<file-option>] --unset-all name [value_regex]
'git-config' [<file-option>] --rename-section old_name new_name
'git-config' [<file-option>] --remove-section name
'git-config' [<file-option>] [-z|--null] -l | --list
'git-config' [<file-option>] --get-color name [default]
'git-config' [<file-option>] --get-colorbool name [stdout-is-tty]
'git config' [<file-option>] [type] [-z|--null] name [value [value_regex]]
'git config' [<file-option>] [type] --add name value
'git config' [<file-option>] [type] --replace-all name [value [value_regex]]
'git config' [<file-option>] [type] [-z|--null] --get name [value_regex]
'git config' [<file-option>] [type] [-z|--null] --get-all name [value_regex]
'git config' [<file-option>] [type] [-z|--null] --get-regexp name_regex [value_regex]
'git config' [<file-option>] --unset name [value_regex]
'git config' [<file-option>] --unset-all name [value_regex]
'git config' [<file-option>] --rename-section old_name new_name
'git config' [<file-option>] --remove-section name
'git config' [<file-option>] [-z|--null] -l | --list
'git config' [<file-option>] --get-color name [default]
'git config' [<file-option>] --get-colorbool name [stdout-is-tty]
DESCRIPTION
-----------
@@ -122,10 +122,10 @@ 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.
@@ -162,7 +162,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
@@ -179,23 +179,18 @@ $(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
to the global or system-wide file respectively. The GIT_CONFIG environment
variable has a similar effect, but you can specify any filename you want.
The GIT_CONFIG_LOCAL environment variable on the other hand only changes
the name used instead of the repository configuration file. The global and
the system-wide configuration files will still be read. (For writing options
this will obviously result in the same behavior as using GIT_CONFIG.)
ENVIRONMENT
-----------
@@ -205,10 +200,6 @@ GIT_CONFIG::
Using the "--global" option forces this to ~/.gitconfig. Using the
"--system" option forces this to $(prefix)/etc/gitconfig.
GIT_CONFIG_LOCAL::
Take the configuration from the given file instead if .git/config.
Still read the global and the system-wide configuration files, though.
See also <<FILES>>.

View File

@@ -7,7 +7,7 @@ git-count-objects - Count unpacked number of objects and their disk consumption
SYNOPSIS
--------
'git-count-objects' [-v]
'git count-objects' [-v]
DESCRIPTION
-----------
@@ -22,7 +22,7 @@ OPTIONS
In addition to the number of loose objects and disk
space consumed, it reports the number of in-pack
objects, number of packs, and number of objects that can be
removed by running `git-prune-packed`.
removed by running `git prune-packed`.
Author

View File

@@ -8,7 +8,8 @@ git-cvsexportcommit - Export a single commit to a CVS checkout
SYNOPSIS
--------
'git-cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot] [-w cvsworkdir] [-W] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID
'git cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot]
[-w cvsworkdir] [-W] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID
DESCRIPTION
@@ -26,8 +27,8 @@ 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 parent
should the changeset be done against.
If the commit is a merge commit, you must tell 'git-cvsexportcommit' what
parent the changeset should be done against.
OPTIONS
-------
@@ -89,14 +90,14 @@ Merge one patch into CVS::
------------
$ export GIT_DIR=~/project/.git
$ cd ~/project_cvs_checkout
$ git-cvsexportcommit -v <commit-sha1>
$ git cvsexportcommit -v <commit-sha1>
$ cvs commit -F .msg <files>
------------
Merge one patch into CVS (-c and -w options). The working directory is within the Git Repo::
+
------------
$ git-cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>
$ git cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>
------------
Merge pending patches into CVS automatically -- only if you really know what you are doing::
@@ -104,7 +105,7 @@ Merge pending patches into CVS automatically -- only if you really know what you
------------
$ export GIT_DIR=~/project/.git
$ cd ~/project_cvs_checkout
$ git-cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git-cvsexportcommit -c -p -v
$ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git cvsexportcommit -c -p -v
------------
Author

View File

@@ -9,7 +9,7 @@ git-cvsimport - Salvage your data out of another SCM people love to hate
SYNOPSIS
--------
[verse]
'git-cvsimport' [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>]
'git cvsimport' [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>]
[-A <author-conv-file>] [-p <options-for-cvsps>] [-P <file>]
[-C <git_repository>] [-z <fuzz>] [-i] [-k] [-u] [-s <subst>]
[-a] [-m] [-M <regex>] [-S <regex>] [-L <commitlimit>]
@@ -25,12 +25,18 @@ Splitting the CVS log into patch sets is done by 'cvsps'.
At least version 2.1 is required.
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.
If you intend to set up a shared public repository that all developers can
read/write, or if you want to use linkgit:git-cvsserver[1], then you
probably want to make a bare clone of the imported repository,
and use the clone as the shared repository.
See linkgit:gitcvs-migration[7].
OPTIONS
-------
@@ -40,13 +46,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>::
@@ -56,14 +62,14 @@ OPTIONS
-r <remote>::
The git remote to import this CVS repository into.
Moves all CVS branches into remotes/<remote>/<branch>
akin to the git-clone --use-separate-remote option.
akin to the 'git-clone' "--use-separate-remote" option.
-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.
+
@@ -136,17 +142,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
linkgit:git-cvsexportcommit[1].
'git-cvsexportcommit'.
-h::
Print a short usage message and exit.

View File

@@ -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
-------
@@ -77,7 +77,7 @@ over pserver for anonymous CVS access.
CVS clients cannot tag, branch or perform GIT merges.
git-cvsserver maps GIT branches to CVS modules. This is very different
'git-cvsserver' maps GIT branches to CVS modules. This is very different
from what most CVS users would expect since in CVS modules usually represent
one or more directories.
@@ -103,7 +103,7 @@ looks like
------
No special setup is needed for SSH access, other than having GIT tools
in the PATH. If you have clients that do not accept the CVS_SERVER
environment variable, you can rename git-cvsserver to cvs.
environment variable, you can rename 'git-cvsserver' to `cvs`.
Note: Newer CVS versions (>= 1.12.11) also support specifying
CVS_SERVER directly in CVSROOT like
@@ -113,9 +113,9 @@ cvs -d ":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git" co <HEAD_name>
------
This has the advantage that it will be saved in your 'CVS/Root' files and
you don't need to worry about always setting the correct environment
variable. SSH users restricted to git-shell don't need to override the default
with CVS_SERVER (and shouldn't) as git-shell understands `cvs` to mean
git-cvsserver and pretends that the other end runs the real cvs better.
variable. SSH users restricted to 'git-shell' don't need to override the default
with CVS_SERVER (and shouldn't) as 'git-shell' understands `cvs` to mean
'git-cvsserver' and pretends that the other end runs the real 'cvs' better.
--
2. For each repo that you want accessible from CVS you need to edit config in
the repo and add the following section.
@@ -128,11 +128,14 @@ git-cvsserver and pretends that the other end runs the real cvs better.
logfile=/path/to/logfile
------
Note: you need to ensure each user that is going to invoke git-cvsserver has
Note: you need to ensure each user that is going to invoke 'git-cvsserver' has
write access to the log file and to the database (see
<<dbbackend,Database Backend>>. If you want to offer write access over
SSH, the users of course also need write access to the git repository itself.
You also need to ensure that each repository is "bare" (without a git index
file) for `cvs commit` to work. See linkgit:gitcvs-migration[7].
[[configaccessmethod]]
All configuration variables can also be overridden for a specific method of
access. Valid method names are "ext" (for SSH access) and "pserver". The
@@ -150,7 +153,7 @@ allowing access over SSH.
automatically saving it in your 'CVS/Root' files, then you need to set them
explicitly in your environment. CVSROOT should be set as per normal, but the
directory should point at the appropriate git repo. As above, for SSH clients
_not_ restricted to git-shell, CVS_SERVER should be set to git-cvsserver.
_not_ restricted to 'git-shell', CVS_SERVER should be set to 'git-cvsserver'.
+
--
------
@@ -178,27 +181,27 @@ allowing access over SSH.
Database Backend
----------------
git-cvsserver uses one database per git head (i.e. CVS module) to
'git-cvsserver' uses one database per git head (i.e. CVS module) to
store information about the repository for faster access. The
database doesn't contain any persistent data and can be completely
regenerated from the git repository at any time. The database
needs to be updated (i.e. written to) after every commit.
If the commit is done directly by using git (as opposed to
using git-cvsserver) the update will need to happen on the
next repository access by git-cvsserver, independent of
If the commit is done directly by using `git` (as opposed to
using 'git-cvsserver') the update will need to happen on the
next repository access by 'git-cvsserver', independent of
access method and requested operation.
That means that even if you offer only read access (e.g. by using
the pserver method), git-cvsserver should have write access to
the pserver method), 'git-cvsserver' should have write access to
the database to work reliably (otherwise you need to make sure
that the database is up-to-date any time git-cvsserver is executed).
that the database is up-to-date any time 'git-cvsserver' is executed).
By default it uses SQLite databases in the git directory, named
`gitcvs.<module_name>.sqlite`. Note that the SQLite backend creates
temporary files in the same directory as the database file on
write so it might not be enough to grant the users using
git-cvsserver write access to the database file without granting
'git-cvsserver' write access to the database file without granting
them write access to the directory, too.
You can configure the database backend with the following
@@ -207,7 +210,7 @@ configuration variables:
Configuring database backend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
git-cvsserver uses the Perl DBI module. Please also read
'git-cvsserver' uses the Perl DBI module. Please also read
its documentation if changing these variables, especially
about `DBI->connect()`.
@@ -259,7 +262,7 @@ In `dbdriver` and `dbuser` you can use the following variables:
%a::
access method (one of "ext" or "pserver")
%u::
Name of the user running git-cvsserver.
Name of the user running 'git-cvsserver'.
If no name can be determined, the
numeric uid is used.
@@ -285,8 +288,8 @@ you will definitely want to have SSH keys setup.
Alternatively, you can just use the non-standard extssh protocol that Eclipse
offer. In that case CVS_SERVER is ignored, and you will have to replace
the cvs utility on the server with git-cvsserver or manipulate your `.bashrc`
so that calling 'cvs' effectively calls git-cvsserver.
the cvs utility on the server with 'git-cvsserver' or manipulate your `.bashrc`
so that calling 'cvs' effectively calls 'git-cvsserver'.
Clients known to work
---------------------
@@ -328,14 +331,13 @@ is left blank. But if `gitcvs.allbinary` is set to "guess", then
the correct '-k' mode will be guessed based on the contents of
the file.
For best consistency with cvs, it is probably best to override the
For best consistency with 'cvs', it is probably best to override the
defaults by setting `gitcvs.usecrlfattr` to true,
and `gitcvs.allbinary` to "guess".
Dependencies
------------
git-cvsserver depends on DBD::SQLite.
'git-cvsserver' depends on DBD::SQLite.
Copyright and Authors
---------------------

View File

@@ -8,12 +8,12 @@ git-daemon - A really simple server for git repositories
SYNOPSIS
--------
[verse]
'git-daemon' [--verbose] [--syslog] [--export-all]
[--timeout=n] [--init-timeout=n] [--strict-paths]
[--base-path=path] [--user-path | --user-path=path]
[--interpolated-path=pathtemplate]
[--reuseaddr] [--detach] [--pid-file=file]
[--enable=service] [--disable=service]
'git daemon' [--verbose] [--syslog] [--export-all]
[--timeout=n] [--init-timeout=n] [--strict-paths]
[--base-path=path] [--user-path | --user-path=path]
[--interpolated-path=pathtemplate]
[--reuseaddr] [--detach] [--pid-file=file]
[--enable=service] [--disable=service]
[--allow-override=service] [--forbid-override=service]
[--inetd | [--listen=host_or_ipaddr] [--port=n] [--user=user [--group=group]]
[directory...]
@@ -31,32 +31,32 @@ 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::
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.
@@ -138,7 +138,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::
@@ -164,24 +164,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
@@ -199,28 +199,28 @@ $ 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:
+
------------------------------------------------
git stream tcp nowait nobody /usr/bin/git-daemon
git-daemon --inetd --verbose --export-all
git stream tcp nowait nobody /usr/bin/git
git daemon --inetd --verbose --export-all
/pub/foo /pub/bar
------------------------------------------------
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:
+
------------------------------------------------
git stream tcp nowait nobody /usr/bin/git-daemon
git-daemon --inetd --verbose --export-all
git stream tcp nowait nobody /usr/bin/git
git daemon --inetd --verbose --export-all
--interpolated-path=/pub/%H%D
/pub/www.example.org/software
/pub/www.example.com/software
@@ -235,13 +235,13 @@ 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:
+
------------------------------------------------
git-daemon --verbose --export-all
git daemon --verbose --export-all
--interpolated-path=/pub/%IP/%D
/pub/192.168.1.200/software
/pub/10.10.220.23/software
@@ -253,7 +253,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').

View File

@@ -8,7 +8,7 @@ git-describe - Show the most recent tag that is reachable from a commit
SYNOPSIS
--------
'git-describe' [--all] [--tags] [--contains] [--abbrev=<n>] <committish>...
'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] <committish>...
DESCRIPTION
-----------
@@ -78,7 +78,7 @@ EXAMPLES
With something like git.git current tree, I get:
[torvalds@g5 git]$ git-describe parent
[torvalds@g5 git]$ git describe parent
v1.0.4-14-g2414721
i.e. the current head of my "parent" branch is based on v1.0.4,
@@ -92,9 +92,9 @@ 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
[torvalds@g5 git]$ git describe v1.0.4
v1.0.4
With --all, the command can use branch heads as references, so
@@ -115,13 +115,13 @@ closest tagname without any suffix:
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.
@@ -129,7 +129,7 @@ abbreviation of the input committish's SHA1.
If multiple tags were found during the walk then the tag which
has the fewest commits different from the input committish will be
selected and output. Here fewest commits different is defined as
the number of commits which would be shown by "git log tag..input"
the number of commits which would be shown by `git log tag..input`
will be the smallest number of commits possible.

View File

@@ -8,14 +8,14 @@ git-diff-files - Compares files in the working tree and the index
SYNOPSIS
--------
'git-diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<common diff options>] [<path>...]
'git diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<common diff options>] [<path>...]
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 "git-diff-index" and "git-diff-tree".
same as for 'git-diff-index' and 'git-diff-tree'.
OPTIONS
-------

View File

@@ -8,7 +8,7 @@ git-diff-index - Compares content and mode of blobs between the index and reposi
SYNOPSIS
--------
'git-diff-index' [-m] [--cached] [<common diff options>] <tree-ish> [<path>...]
'git diff-index' [-m] [--cached] [<common diff options>] <tree-ish> [<path>...]
DESCRIPTION
-----------
@@ -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.
Output format
@@ -50,31 +50,31 @@ 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 with a "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
*what* you are going to commit, without having to write a new tree
object and compare it that way, and to do that, you just do
git-diff-index --cached HEAD
git diff-index --cached HEAD
Example: let's say I had renamed `commit.c` to `git-commit.c`, and I had
done an "git-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:
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:
torvalds@ppc970:~/git> git-diff-index --cached HEAD
torvalds@ppc970:~/git> git diff-index --cached HEAD
-100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 commit.c
+100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 git-commit.c
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
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
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".
@@ -82,23 +82,23 @@ 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
torvalds@ppc970:~/v2.6/linux> git diff-index HEAD
*100644->100664 blob 7476bb......->000000...... kernel/sched.c
i.e., it shows that the tree has changed, and that `kernel/sched.c` has is
@@ -106,11 +106,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

View File

@@ -9,7 +9,7 @@ git-diff-tree - Compares the content and mode of blobs found via two tree object
SYNOPSIS
--------
[verse]
'git-diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]
'git diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]
[-t] [-r] [-c | --cc] [--root] [<common diff options>]
<tree-ish> [<tree-ish>] [<path>...]
@@ -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
-------
@@ -58,25 +58,25 @@ behavior. This does not apply to the case where two <tree-ish>
separated with a single space are given.
-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::
@@ -112,13 +112,13 @@ Limiting Output
If you're only interested in differences in a subset of files, for
example some architecture-specific files, you might do:
git-diff-tree -r <tree-ish> <tree-ish> arch/ia64 include/asm-ia64
git diff-tree -r <tree-ish> <tree-ish> arch/ia64 include/asm-ia64
and it will only show you what changed in those two directories.
Or if you are searching for what changed in just `kernel/sched.c`, just do
git-diff-tree -r <tree-ish> <tree-ish> kernel/sched.c
git diff-tree -r <tree-ish> <tree-ish> kernel/sched.c
and it will ignore all differences to other files.
@@ -129,7 +129,7 @@ so it can be used to name subdirectories.
An example of normal usage is:
torvalds@ppc970:~/git> git-diff-tree 5319e4......
torvalds@ppc970:~/git> git diff-tree 5319e4......
*100664->100664 blob ac348b.......->a01513....... git-fsck-objects.c
which tells you that the last commit changed just one file (it's from

View File

@@ -8,14 +8,14 @@ git-diff - Show changes between commits, commit and working tree, etc
SYNOPSIS
--------
'git-diff' [<common diff options>] <commit>{0,2} [--] [<path>...]
'git diff' [<common diff options>] <commit>{0,2} [--] [<path>...]
DESCRIPTION
-----------
Show changes between two trees, a tree and the working tree, a
tree and the index file, or the index file and the working tree.
'git-diff' [--options] [--] [<path>...]::
'git diff' [--options] [--] [<path>...]::
This form is to view the changes you made relative to
the index (staging area for the next commit). In other
@@ -27,14 +27,14 @@ If exactly two paths are given, and at least one is untracked,
compare the two files / directories. This behavior can be
forced by --no-index.
'git-diff' [--options] --cached [<commit>] [--] [<path>...]::
'git diff' [--options] --cached [<commit>] [--] [<path>...]::
This form is to view the changes you staged for the next
commit relative to the named <commit>. Typically you
would want comparison with the latest commit, so if you
do not give <commit>, it defaults to HEAD.
'git-diff' [--options] <commit> [--] [<path>...]::
'git diff' [--options] <commit> [--] [<path>...]::
This form is to view the changes you have in your
working tree relative to the named <commit>. You can
@@ -42,23 +42,23 @@ forced by --no-index.
branch name to compare with the tip of a different
branch.
'git-diff' [--options] <commit> <commit> [--] [<path>...]::
'git diff' [--options] <commit> <commit> [--] [<path>...]::
This is to view the changes between two arbitrary
<commit>.
'git-diff' [--options] <commit>..<commit> [--] [<path>...]::
'git diff' [--options] <commit>..<commit> [--] [<path>...]::
This is synonymous to the previous form. If <commit> on
one side is omitted, it will have the same effect as
using HEAD instead.
'git-diff' [--options] <commit>\...<commit> [--] [<path>...]::
'git diff' [--options] <commit>\...<commit> [--] [<path>...]::
This form is to view the changes on the branch containing
and up to the second <commit>, starting at a common ancestor
of both <commit>. "git-diff A\...B" is equivalent to
"git-diff $(git-merge-base A B) B". You can omit any one
of both <commit>. "git diff A\...B" is equivalent to
"git diff $(git-merge-base A B) B". You can omit any one
of <commit>, which has the same effect as using HEAD instead.
Just in case if you are doing something exotic, it should be

View File

@@ -8,23 +8,23 @@ git-fast-export - Git data exporter
SYNOPSIS
--------
'git-fast-export [options]' | 'git-fast-import'
'git fast-export [options]' | 'git fast-import'
DESCRIPTION
-----------
This program dumps the given revisions in a form suitable to be piped
into linkgit:git-fast-import[1].
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
linkgit:git-filter-branch[1].
'git-filter-branch'.
OPTIONS
-------
--progress=<n>::
Insert 'progress' statements every <n> objects, to be shown by
linkgit:git-fast-import[1] during import.
'git-fast-import' during import.
--signed-tags=(verbatim|warn|strip|abort)::
Specify how to handle signed tags. Since any transformation
@@ -36,6 +36,26 @@ when encountering a signed tag. With 'strip', the tags will be made
unsigned, with 'verbatim', they will be silently exported
and with 'warn', they will be exported, but you will see a warning.
--export-marks=<file>::
Dumps the internal marks table to <file> when complete.
Marks are written one per line as `:markid SHA-1`. Only marks
for revisions are dumped; marks for blobs are ignored.
Backends can use this file to validate imports after they
have been completed, or to save the marks table across
incremental runs. As <file> is only opened and truncated
at completion, the same path can also be safely given to
\--import-marks.
--import-marks=<file>::
Before processing any input, load the marks specified in
<file>. The input file must exist, must be readable, and
must use the same format as produced by \--export-marks.
+
Any commits that have already been marked will not be exported again.
If the backend uses a similar \--import-marks file, this allows for
incremental bidirectional exporting of the repository by keeping the
marks the same across runs.
EXAMPLES
--------
@@ -65,7 +85,7 @@ referenced by that revision range contains the string
Limitations
-----------
Since linkgit:git-fast-import[1] 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.

View File

@@ -8,14 +8,14 @@ git-fast-import - Backend for fast Git data importers
SYNOPSIS
--------
frontend | 'git-fast-import' [options]
frontend | 'git fast-import' [options]
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 linkgit:git-init[1]) 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,11 +82,11 @@ 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 linkgit:git-pack-objects[1].
to 'git-pack-objects'.
--quiet::
Disable all non-fatal output, making fast-import silent when it
is successful. This option disables the output shown by
is successful. This option disables the output shown by
\--stats.
--stats::
@@ -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 linkgit:git-am[1] 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
linkgit:git-update-index[1].
'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
@@ -654,7 +654,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 linkgit:git-tag[1] process.
with the standard 'git-tag' process.
`reset`
~~~~~~~
@@ -803,7 +803,7 @@ Callers may wish to process the output through a tool such as sed to
remove the leading part of the line, for example:
====
frontend | git-fast-import | sed 's/^progress //'
frontend | git fast-import | sed 's/^progress //'
====
Placing a `progress` command immediately after a `checkpoint` will
@@ -851,7 +851,7 @@ An example crash:
M 777 inline bob
END_OF_INPUT
$ git-fast-import <in
$ git fast-import <in
fatal: Corrupt mode: M 777 inline bob
fast-import: dumping crash report to .git/fast_import_crash_8434
@@ -955,7 +955,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 linkgit:git-blame[1] to track
Doing so will allow tools such as 'git-blame' to track
through the real commit history and properly annotate the source
files.
@@ -984,7 +984,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 linkgit:git-repack[1].
\--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.

View File

@@ -8,14 +8,14 @@ git-fetch-pack - Receive missing objects from another repository
SYNOPSIS
--------
'git-fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag] [--upload-pack=<git-upload-pack>] [--depth=<n>] [--no-progress] [-v] [<host>:]<directory> [<refs>...]
'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag] [--upload-pack=<git-upload-pack>] [--depth=<n>] [--no-progress] [-v] [<host>:]<directory> [<refs>...]
DESCRIPTION
-----------
Usually you would want to use linkgit:git-fetch[1] which is a
higher level wrapper of this command instead.
Usually you would want to use 'git-fetch', which is a
higher level wrapper of this command, instead.
Invokes 'git-upload-pack' on a potentially remote repository,
Invokes 'git-upload-pack' on a possibly remote repository
and asks it to send objects missing from this repository, to
update the named heads. The list of commits available locally
is found out by scanning local $GIT_DIR/refs/ and sent to

View File

@@ -8,7 +8,7 @@ git-fetch - Download objects and refs from another repository
SYNOPSIS
--------
'git-fetch' <options> <repository> <refspec>...
'git fetch' <options> <repository> <refspec>...
DESCRIPTION
@@ -18,7 +18,7 @@ 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

View File

@@ -8,7 +8,7 @@ git-filter-branch - Rewrite branches
SYNOPSIS
--------
[verse]
'git-filter-branch' [--env-filter <command>] [--tree-filter <command>]
'git filter-branch' [--env-filter <command>] [--tree-filter <command>]
[--index-filter <command>] [--parent-filter <command>]
[--msg-filter <command>] [--commit-filter <command>]
[--tag-name-filter <command>] [--subdirectory-filter <directory>]
@@ -95,7 +95,7 @@ OPTIONS
This is the filter for rewriting the commit's parent list.
It will receive the parent string on stdin and shall output
the new parent string on stdout. The parent string is in
a format accepted by linkgit:git-commit-tree[1]: empty for
the format described in linkgit:git-commit-tree[1]: empty for
the initial commit, "-p parent" for a normal commit and
"-p parent1 -p parent2 -p parent3 ..." for a merge commit.
@@ -108,7 +108,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
linkgit:git-commit-tree[1] 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.
+
@@ -119,7 +119,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 linkgit:git-rebase[1] instead).
that, use 'git-rebase' instead).
--tag-name-filter <command>::
This is the filter for rewriting tag names. When passed,
@@ -163,13 +163,13 @@ to other tags will be rewritten to point to the underlying commit.
-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>::
When options are given after the new branch name, they will
be passed to linkgit:git-rev-list[1]. Only commits in the resulting
be passed to 'git-rev-list'. Only commits in the resulting
output will be filtered, although the filtered commits can still
reference parents which are outside of that set.
@@ -255,7 +255,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:
-------------------------------------------------------
@@ -266,13 +266,13 @@ 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.
*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 linkgit:git-rebase[1].
interactive mode of 'git-rebase'.
Consider this history:

View File

@@ -9,17 +9,17 @@ git-fmt-merge-msg - Produce a merge commit message
SYNOPSIS
--------
[verse]
git-fmt-merge-msg [--log | --no-log] <$GIT_DIR/FETCH_HEAD
git-fmt-merge-msg [--log | --no-log] -F <file>
'git fmt-merge-msg' [--log | --no-log] <$GIT_DIR/FETCH_HEAD
'git fmt-merge-msg' [--log | --no-log] -F <file>
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 script is intended mostly for internal use by scripts
automatically invoking `git-merge`.
automatically invoking 'git-merge'.
OPTIONS
-------

View File

@@ -8,7 +8,7 @@ git-for-each-ref - Output information on each ref
SYNOPSIS
--------
[verse]
'git-for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]
'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]
[--sort=<key>]\* [--format=<format>] [<pattern>...]
DESCRIPTION
@@ -79,7 +79,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).
@@ -119,7 +119,7 @@ An example directly producing formatted text. Show the most recent
------------
#!/bin/sh
git-for-each-ref --count=3 --sort='-*authordate' \
git for-each-ref --count=3 --sort='-*authordate' \
--format='From: %(*authorname) %(*authoremail)
Subject: %(*subject)
Date: %(*authordate)
@@ -135,7 +135,7 @@ demonstrating the use of --shell. List the prefixes of all heads::
------------
#!/bin/sh
git-for-each-ref --shell --format="ref=%(refname)" refs/heads | \
git for-each-ref --shell --format="ref=%(refname)" refs/heads | \
while read entry
do
eval "$entry"
@@ -189,7 +189,7 @@ Its message reads as:
fi
'
eval=`git-for-each-ref --shell --format="$fmt" \
eval=`git for-each-ref --shell --format="$fmt" \
--sort='*objecttype' \
--sort=-taggerdate \
refs/tags`

View File

@@ -9,7 +9,7 @@ git-format-patch - Prepare patches for e-mail submission
SYNOPSIS
--------
[verse]
'git-format-patch' [-k] [-o <dir> | --stdout] [--thread]
'git format-patch' [-k] [-o <dir> | --stdout] [--thread]
[--attach[=<boundary>] | --inline[=<boundary>]]
[-s | --signoff] [<common diff options>]
[-n | --numbered | -N | --no-numbered]
@@ -27,7 +27,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 linkgit:git-am[1].
for use with 'git-am'.
There are two ways to specify which commits to operate on.
@@ -61,7 +61,7 @@ they are created in the current working directory.
If -n is specified, instead of "[PATCH] Subject", the first line
is formatted as "[PATCH n/m] Subject".
If given --thread, git-format-patch will generate In-Reply-To and
If given --thread, 'git-format-patch' will generate In-Reply-To and
References headers to make the second and subsequent patch mails appear
as replies to the first mail; this also generates a Message-Id header to
reference.
@@ -175,10 +175,10 @@ and file suffix, and number patches when outputting more than one.
------------
[format]
headers = "Organization: git-foo\n"
subjectprefix = CHANGE
suffix = .txt
numbered = auto
headers = "Organization: git-foo\n"
subjectprefix = CHANGE
suffix = .txt
numbered = auto
cc = <email>
------------
@@ -187,10 +187,10 @@ 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
$ git format-patch -k --stdout R1..R2 | git am -3 -k
------------
* Extract all commits which are in the current branch but not in the
@@ -206,7 +206,7 @@ For each commit a separate file is created in the current directory.
project:
+
------------
$ git format-patch \--root origin
$ git format-patch --root origin
------------
* The same as the previous one:

View File

@@ -8,7 +8,7 @@ git-fsck-objects - Verifies the connectivity and validity of the objects in the
SYNOPSIS
--------
'git-fsck-objects' ...
'git fsck-objects' ...
DESCRIPTION
-----------

View File

@@ -9,7 +9,7 @@ git-fsck - Verifies the connectivity and validity of the objects in the database
SYNOPSIS
--------
[verse]
'git-fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]
'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]
[--full] [--strict] [--verbose] [--lost-found] [<object>*]
DESCRIPTION
@@ -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.
@@ -79,15 +79,15 @@ that aren't readable from any of the specified head nodes.
So for example
git-fsck --unreachable HEAD $(cat .git/refs/heads/*)
git fsck --unreachable HEAD $(cat .git/refs/heads/*)
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
(i.e., you can just remove them and do an "rsync" with some other site in
(i.e., you can just remove them and do an 'rsync' with some other site in
the hopes that somebody else has the object you have corrupted).
Of course, "valid tree" doesn't mean that it wasn't generated by some

View File

@@ -8,20 +8,20 @@ git-gc - Cleanup unnecessary files and optimize the local repository
SYNOPSIS
--------
'git-gc' [--aggressive] [--auto] [--quiet]
'git gc' [--aggressive] [--auto] [--quiet]
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 linkgit:git-add[1].
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:
@@ -35,13 +35,13 @@ OPTIONS
--aggressive::
Usually 'git-gc' runs very quickly while providing good disk
space utilization and performance. This option will cause
git-gc to more aggressively optimize the repository at the expense
'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.
--quiet::
@@ -89,7 +89,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.
@@ -108,10 +108,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 linkgit:git-filter-branch[1] in
tracking branches, refs saved by 'git-filter-branch' in
refs/original/, or reflogs (which may references commits in branches
that were later amended or rewound).

View File

@@ -8,18 +8,18 @@ git-get-tar-commit-id - Extract commit ID from an archive created using git-arch
SYNOPSIS
--------
'git-get-tar-commit-id' < <tarfile>
'git get-tar-commit-id' < <tarfile>
DESCRIPTION
-----------
Acts as a filter, extracting the commit ID stored in archives created by
linkgit:git-archive[1]. 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.

View File

@@ -9,7 +9,7 @@ git-grep - Print lines matching a pattern
SYNOPSIS
--------
[verse]
'git-grep' [--cached]
'git grep' [--cached]
[-a | --text] [-I] [-i | --ignore-case] [-w | --word-regexp]
[-v | --invert-match] [-h|-H] [--full-name]
[-E | --extended-regexp] [-G | --basic-regexp]
@@ -91,7 +91,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.
-c::

View File

@@ -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 linkgit:gitk[1], 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.
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'.
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
@@ -34,17 +34,17 @@ blame::
browser::
Start a tree browser showing all files in the specified
commit (or 'HEAD' by default). Files selected through the
commit (or 'HEAD' by default). Files selected through the
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
@@ -61,7 +61,7 @@ git gui blame Makefile::
git gui blame v0.99.8 Makefile::
Show the contents of 'Makefile' in revision 'v0.99.8'
and provide annotations for each line. Unlike the above
and provide annotations for each line. Unlike the above
example the file is read from the object database and not
the working directory.
@@ -71,7 +71,7 @@ git gui citool::
git citool::
Same as 'git gui citool' (above).
Same as `git gui citool` (above).
git gui browser maint::
@@ -84,15 +84,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

View File

@@ -8,7 +8,7 @@ git-hash-object - Compute object ID and optionally creates a blob from a file
SYNOPSIS
--------
'git-hash-object' [-t <type>] [-w] [--stdin | --stdin-paths] [--] <file>...
'git hash-object' [-t <type>] [-w] [--stdin | --stdin-paths] [--] <file>...
DESCRIPTION
-----------
@@ -16,7 +16,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".

View File

@@ -23,7 +23,7 @@ If a git command is named, a manual page for that command is brought
up. The 'man' program is used by default for this purpose, but this
can be overridden by other options or configuration variables.
Note that 'git --help ...' is identical as 'git help ...' because the
Note that `git --help ...` is identical to `git help ...` because the
former is internally converted into the latter.
OPTIONS
@@ -120,7 +120,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

View File

@@ -8,7 +8,7 @@ git-http-fetch - Download from a remote git repository via HTTP
SYNOPSIS
--------
'git-http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [--stdin] <commit> <url>
'git http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [--stdin] <commit> <url>
DESCRIPTION
-----------

View File

@@ -8,7 +8,7 @@ git-http-push - Push objects over HTTP/DAV to another repository
SYNOPSIS
--------
'git-http-push' [--all] [--dry-run] [--force] [--verbose] <url> <ref> [<ref>...]
'git http-push' [--all] [--dry-run] [--force] [--verbose] <url> <ref> [<ref>...]
DESCRIPTION
-----------

View File

@@ -8,7 +8,7 @@ git-imap-send - Dump a mailbox from stdin into an imap folder
SYNOPSIS
--------
'git-imap-send'
'git imap-send'
DESCRIPTION
@@ -20,13 +20,13 @@ files directly.
Typical usage is something like:
git-format-patch --signoff --stdout --attach origin | git-imap-send
git format-patch --signoff --stdout --attach origin | git imap-send
CONFIGURATION
-------------
git-imap-send requires the following values in the repository
'git-imap-send' requires the following values in the repository
configuration file (shown with examples):
..........................

View File

@@ -9,8 +9,8 @@ git-index-pack - Build pack index file for an existing packed archive
SYNOPSIS
--------
[verse]
'git-index-pack' [-v] [-o <index-file>] <pack-file>
'git-index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>]
'git index-pack' [-v] [-o <index-file>] <pack-file>
'git index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>]
[<pack-file>]
@@ -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
linkgit:git-repack[1].
'git-repack'.
--fix-thin::
It is possible for linkgit:git-pack-objects[1] 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 linkgit:git-repack[1] 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 linkgit:git-repack[1]
.keep file used as a lock to prevent the race with 'git-repack'
mentioned above.

View File

@@ -8,7 +8,7 @@ git-init-db - Creates an empty git repository
SYNOPSIS
--------
'git-init-db' [-q | --quiet] [--template=<template_directory>] [--shared[=<permissions>]]
'git init-db' [-q | --quiet] [--template=<template_directory>] [--shared[=<permissions>]]
DESCRIPTION

View File

@@ -8,7 +8,7 @@ git-init - Create an empty git repository or reinitialize an existing one
SYNOPSIS
--------
'git-init' [-q | --quiet] [--bare] [--template=<template_directory>] [--shared[=<permissions>]]
'git init' [-q | --quiet] [--bare] [--template=<template_directory>] [--shared[=<permissions>]]
OPTIONS
@@ -86,11 +86,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
@@ -105,8 +105,8 @@ Start a new git repository for an existing code base::
+
----------------
$ cd /path/to/my/codebase
$ git-init <1>
$ git-add . <2>
$ git init <1>
$ git add . <2>
----------------
+
<1> prepare /path/to/my/codebase/.git directory

View File

@@ -8,13 +8,13 @@ git-instaweb - Instantly browse your working repository in gitweb
SYNOPSIS
--------
[verse]
'git-instaweb' [--local] [--httpd=<httpd>] [--port=<port>]
'git instaweb' [--local] [--httpd=<httpd>] [--port=<port>]
[--browser=<browser>]
'git-instaweb' [--start] [--stop] [--restart]
'git instaweb' [--start] [--stop] [--restart]
DESCRIPTION
-----------
A simple script to setup gitweb and a web server for browsing the local
A simple script to set up `gitweb` and a web server for browsing the local
repository.
OPTIONS

View File

@@ -8,15 +8,15 @@ git-log - Show commit logs
SYNOPSIS
--------
'git-log' <option>...
'git log' <option>...
DESCRIPTION
-----------
Shows the commit logs.
The command takes options applicable to the linkgit:git-rev-list[1]
The command takes options applicable to the 'git-rev-list'
command to control what is shown and how, and options applicable to
the linkgit:git-diff-tree[1] commands to control how the changes
the 'git-diff-*' commands to control how the changes
each commit introduces are shown.

View File

@@ -7,7 +7,7 @@ git-lost-found - Recover lost refs that luckily have not yet been pruned
SYNOPSIS
--------
'git-lost-found'
'git lost-found'
DESCRIPTION
-----------

View File

@@ -9,7 +9,7 @@ git-ls-files - Show information about files in the index and the working tree
SYNOPSIS
--------
[verse]
'git-ls-files' [-z] [-t] [-v]
'git ls-files' [-z] [-t] [-v]
(--[cached|deleted|others|ignored|stage|unmerged|killed|modified])\*
(-[c|d|o|i|s|u|k|m])\*
[-x <pattern>|--exclude=<pattern>]
@@ -143,14 +143,14 @@ 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,
the index records up to three such pairs; one from tree O in stage
1, A in stage 2, and B in stage 3. This information can be used by
the user (or the porcelain) to see what should eventually be recorded at the
path. (see git-read-tree for more information on state)
path. (see linkgit:git-read-tree[1] for more information on state)
When `-z` option is not used, TAB, LF, and backslash characters
in pathnames are represented as `\t`, `\n`, and `\\`,

View File

@@ -9,7 +9,7 @@ git-ls-remote - List references in a remote repository
SYNOPSIS
--------
[verse]
'git-ls-remote' [--heads] [--tags] [-u <exec> | --upload-pack <exec>]
'git ls-remote' [--heads] [--tags] [-u <exec> | --upload-pack <exec>]
<repository> <refs>...
DESCRIPTION
@@ -31,7 +31,7 @@ OPTIONS
-u <exec>::
--upload-pack=<exec>::
Specify the full path of linkgit:git-upload-pack[1] on the remote
Specify the full path of 'git-upload-pack' on the remote
host. This allows listing references from repositories accessed via
SSH and where the SSH daemon does not use the PATH configured by the
user.

View File

@@ -9,7 +9,7 @@ git-ls-tree - List the contents of a tree object
SYNOPSIS
--------
[verse]
'git-ls-tree' [-d] [-r] [-t] [-l] [-z]
'git ls-tree' [-d] [-r] [-t] [-l] [-z]
[--name-only] [--name-status] [--full-name] [--abbrev=[<n>]]
<tree-ish> [paths...]

View File

@@ -8,7 +8,7 @@ git-mailinfo - Extracts patch and authorship from a single e-mail message
SYNOPSIS
--------
'git-mailinfo' [-k] [-u | --encoding=<encoding>] <msg> <patch>
'git mailinfo' [-k] [-u | --encoding=<encoding> | -n] <msg> <patch>
DESCRIPTION
@@ -16,7 +16,7 @@ DESCRIPTION
Reading 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.
@@ -29,8 +29,8 @@ OPTIONS
among which (1) remove 'Re:' or 're:', (2) leading
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.
munging, and is most useful when used to read back
'git-format-patch -k' output.
-u::
The commit log message, author name and author email are
@@ -46,6 +46,9 @@ conversion, even with this flag.
from what is specified by i18n.commitencoding, this flag
can be used to override it.
-n::
Disable all charset re-coding of the metadata.
<msg>::
The commit log message extracted from e-mail, usually
except the title line which comes from e-mail Subject.

View File

@@ -7,7 +7,7 @@ git-mailsplit - Simple UNIX mbox splitter program
SYNOPSIS
--------
'git-mailsplit' [-b] [-f<nn>] [-d<prec>] -o<directory> [--] [<mbox>|<Maildir>...]
'git mailsplit' [-b] [-f<nn>] [-d<prec>] -o<directory> [--] [<mbox>|<Maildir>...]
DESCRIPTION
-----------

View File

@@ -8,20 +8,20 @@ git-merge-base - Find as good common ancestors as possible for a merge
SYNOPSIS
--------
'git-merge-base' [--all] <commit> <commit>
'git merge-base' [--all] <commit> <commit>
DESCRIPTION
-----------
"git-merge-base" finds as good a common ancestor as possible between
the two commits. That is, given two commits A and B 'git-merge-base A
B' will output a commit which is reachable from both A and B through
'git-merge-base' finds as good a common ancestor as possible between
the two commits. That is, given two commits A and B, `git merge-base A
B` will output a commit which is reachable from both A and B through
the parent relationship.
Given a selection of equally good common ancestors it should not be
relied on to decide in any particular way.
The "git-merge-base" algorithm is still in flux - use the source...
The 'git-merge-base' algorithm is still in flux - use the source...
OPTIONS
-------

View File

@@ -9,21 +9,21 @@ git-merge-file - Run a three-way file merge
SYNOPSIS
--------
[verse]
'git-merge-file' [-L <current-name> [-L <base-name> [-L <other-name>]]]
'git merge-file' [-L <current-name> [-L <base-name> [-L <other-name>]]]
[-p|--stdout] [-q|--quiet] <current-file> <base-file> <other-file>
DESCRIPTION
-----------
git-file-merge incorporates all changes that lead from the `<base-file>`
'git-file-merge' 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 <<<<<<< and
>>>>>>> lines. A typical conflict will look like this:
@@ -39,8 +39,8 @@ 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
implements all of RCS merge's functionality which is needed by
'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].
@@ -51,7 +51,7 @@ OPTIONS
This option may be given up to three times, and
specifies labels to be used in place of the
corresponding file names in conflict reports. That is,
`git-merge-file -L x -L y -L z a b c` generates output that
`git merge-file -L x -L y -L z a b c` generates output that
looks like it came from files x, y and z instead of
from files a, b and c.
@@ -85,7 +85,7 @@ Written by Johannes Schindelin <johannes.schindelin@gmx.de>
Documentation
--------------
Documentation by Johannes Schindelin and the git-list <git@vger.kernel.org>,
with parts copied from the original documentation of RCS merge.
with parts copied from the original documentation of RCS 'merge'.
GIT
---

View File

@@ -8,7 +8,7 @@ git-merge-index - Run a merge for files needing merging
SYNOPSIS
--------
'git-merge-index' [-o] [-q] <merge-program> (-a | [--] <file>\*)
'git merge-index' [-o] [-q] <merge-program> (-a | [--] <file>\*)
DESCRIPTION
-----------
@@ -36,24 +36,24 @@ OPTIONS
failure usually indicates conflicts during 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.
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
RCS "merge" program merge object order. In the above ordering, the
RCS 'merge' program merge object order. In the above ordering, the
original is first. But the argument order to the 3-way merge program
"merge" is to have the original in the middle. Don't ask me why.
'merge' is to have the original in the middle. Don't ask me why.
Examples:
torvalds@ppc970:~/merge-test> git-merge-index cat MM
torvalds@ppc970:~/merge-test> git merge-index cat MM
This is MM from the original tree. # original
This is modified MM in the branch A. # merge1
This is modified MM in the branch B. # merge2
@@ -61,17 +61,17 @@ Examples:
or
torvalds@ppc970:~/merge-test> git-merge-index cat AA MM
torvalds@ppc970:~/merge-test> git merge-index cat AA MM
cat: : No such file or directory
This is added AA in the branch A.
This is added AA in the branch B.
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
merge once anything has returned an error (i.e., "cat" returned an error
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
------

View File

@@ -12,8 +12,8 @@ SYNOPSIS
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
------

View File

@@ -8,7 +8,7 @@ git-merge-tree - Show three-way merge without touching index
SYNOPSIS
--------
'git-merge-tree' <base-tree> <branch1> <branch2>
'git merge-tree' <base-tree> <branch1> <branch2>
DESCRIPTION
-----------

View File

@@ -9,9 +9,9 @@ git-merge - Join two or more development histories together
SYNOPSIS
--------
[verse]
'git-merge' [-n] [--stat] [--no-commit] [--squash] [-s <strategy>]...
'git merge' [-n] [--stat] [--no-commit] [--squash] [-s <strategy>]...
[-m <msg>] <remote> <remote>...
'git-merge' <msg> HEAD <remote>...
'git merge' <msg> HEAD <remote>...
DESCRIPTION
-----------
@@ -29,8 +29,8 @@ include::merge-options.txt[]
-m <msg>::
The commit message to be used for the merge commit (in case
it is created). The `git-fmt-merge-msg` script can be used
to give a good default for automated `git-merge` invocations.
it is created). The 'git-fmt-merge-msg' script can be used
to give a good default for automated 'git-merge' invocations.
<remote>::
Other branch head merged into our branch. You need at
@@ -41,8 +41,7 @@ include::merge-strategies.txt[]
If you tried a merge which resulted in a complex conflicts and
would want to start over, you can recover with
linkgit:git-reset[1].
would want to start over, you can recover with 'git-reset'.
CONFIGURATION
-------------
@@ -50,7 +49,7 @@ include::merge-config.txt[]
branch.<name>.mergeoptions::
Sets default options for merging into branch <name>. The syntax and
supported options are equal to that of git-merge, but option values
supported options are equal to that of 'git-merge', but option values
containing whitespace characters are currently not supported.
HOW MERGE WORKS
@@ -60,7 +59,7 @@ A merge is always between the current `HEAD` and one or more
commits (usually, branch head or tag), and the index file must
exactly match the
tree of `HEAD` commit (i.e. the contents of the last commit) when
it happens. In other words, `git-diff --cached HEAD` must
it happens. In other words, `git diff --cached HEAD` must
report no changes.
[NOTE]
@@ -85,7 +84,7 @@ with `git pull remote rbranch:lbranch`, but your working tree,
`.git/HEAD` pointer and index file are left intact).
You may have local modifications in the working tree files. In
other words, `git-diff` is allowed to report changes.
other words, 'git-diff' is allowed to report changes.
However, the merge uses your working tree as the working area,
and in order to prevent the merge operation from losing such
changes, it makes sure that they do not interfere with the
@@ -128,7 +127,7 @@ When there are conflicts, these things happen:
3. For conflicting paths, the index file records up to three
versions; stage1 stores the version from the common ancestor,
stage2 from `HEAD`, and stage3 from the remote branch (you
can inspect the stages with `git-ls-files -u`). The working
can inspect the stages with `git ls-files -u`). The working
tree files have the result of "merge" program; i.e. 3-way
merge result with familiar conflict markers `<<< === >>>`.
@@ -141,21 +140,24 @@ After seeing a conflict, you can do two things:
* Decide not to merge. The only clean-up you need are to reset
the index file to the `HEAD` commit to reverse 2. and to clean
up working tree changes made by 2. and 3.; `git-reset` can
up working tree changes made by 2. and 3.; 'git-reset' can
be used for this.
* Resolve the conflicts. `git-diff` would report only the
conflicting paths because of the above 2. and 3.. Edit the
working tree files into a desirable shape, `git-add` or `git-rm`
* Resolve the conflicts. `git diff` would report only the
conflicting paths because of the above 2. and 3. Edit the
working tree files into a desirable shape, 'git-add' or 'git-rm'
them, to make the index file contain what the merge result
should be, and run `git-commit` to commit the result.
should be, and run 'git-commit' to commit the result.
SEE ALSO
--------
linkgit:git-fmt-merge-msg[1], linkgit:git-pull[1],
linkgit:gitattributes[5]
linkgit:gitattributes[5],
linkgit:git-reset[1],
linkgit:git-diff[1], linkgit:git-ls-files[1],
linkgit:git-add[1], linkgit:git-rm[1],
linkgit:git-mergetool[1]
Author
------

View File

@@ -7,17 +7,17 @@ git-mergetool - Run merge conflict resolution tools to resolve merge conflicts
SYNOPSIS
--------
'git-mergetool' [--tool=<tool>] [<file>]...
'git mergetool' [--tool=<tool>] [<file>]...
DESCRIPTION
-----------
Use `git mergetool` to run one of several merge utilities to resolve
merge conflicts. It is typically run after linkgit:git-merge[1].
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
@@ -27,23 +27,23 @@ OPTIONS
Valid merge tools are:
kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, and opendiff
+
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 configration
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
@@ -57,7 +57,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.
Author

View File

@@ -8,7 +8,7 @@ git-mktag - Creates a tag object
SYNOPSIS
--------
'git-mktag' < signature_file
'git mktag' < signature_file
DESCRIPTION
-----------

View File

@@ -8,7 +8,7 @@ git-mktree - Build a tree-object from ls-tree formatted text
SYNOPSIS
--------
'git-mktree' [-z]
'git mktree' [-z]
DESCRIPTION
-----------

View File

@@ -8,14 +8,14 @@ git-mv - Move or rename a file, a directory, or a symlink
SYNOPSIS
--------
'git-mv' <options>... <args>...
'git mv' <options>... <args>...
DESCRIPTION
-----------
This script is used to move or rename a file, directory or symlink.
git-mv [-f] [-n] <source> <destination>
git-mv [-f] [-n] [-k] <source> ... <destination directory>
git mv [-f] [-n] <source> <destination>
git mv [-f] [-n] [-k] <source> ... <destination directory>
In the first form, it renames <source>, which must exist and be either
a file, symlink or directory, to <destination>.

View File

@@ -9,13 +9,13 @@ git-name-rev - Find symbolic names for given revs
SYNOPSIS
--------
[verse]
'git-name-rev' [--tags] [--refs=<pattern>]
'git name-rev' [--tags] [--refs=<pattern>]
( --all | --stdin | <committish>... )
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
@@ -38,7 +38,7 @@ OPTIONS
Instead of printing both the SHA-1 and the name, print only
the name. If given with --tags the usual tag prefix of
"tags/" is also omitted from the name, matching the output
of linkgit:git-describe[1] more closely. This option
of 'git-describe' more closely. This option
cannot be combined with --stdin.
--no-undefined::
@@ -56,7 +56,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

View File

@@ -9,7 +9,7 @@ git-pack-objects - Create a packed archive of objects
SYNOPSIS
--------
[verse]
'git-pack-objects' [-q] [--no-reuse-delta] [--delta-base-offset] [--non-empty]
'git pack-objects' [-q] [--no-reuse-delta] [--delta-base-offset] [--non-empty]
[--local] [--incremental] [--window=N] [--depth=N] [--all-progress]
[--revs [--unpacked | --all]*] [--stdout | base-name] < object-list
@@ -30,7 +30,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.
'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
@@ -59,7 +59,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 linkgit:git-rev-list[1] with `--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.
@@ -163,14 +163,14 @@ base-name::
generated pack. If not specified, pack compression level is
determined first by pack.compression, then by core.compression,
and defaults to -1, the zlib default, if neither is set.
Add \--no-reuse-object if you want to force a uniform compression
Add --no-reuse-object if you want to force a uniform compression
level on all data no matter the source.
--delta-base-offset::
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

View File

@@ -8,21 +8,21 @@ git-pack-redundant - Find redundant pack files
SYNOPSIS
--------
'git-pack-redundant' [ --verbose ] [ --alt-odb ] < --all | .pack filename ... >
'git pack-redundant' [ --verbose ] [ --alt-odb ] < --all | .pack filename ... >
DESCRIPTION
-----------
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.
`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.
git-fsck --full --unreachable | cut -d ' ' -f3 | \
git-pack-redundant --all | xargs rm
git fsck --full --unreachable | cut -d ' ' -f3 | \
git pack-redundant --all | xargs rm
OPTIONS
-------

View File

@@ -7,7 +7,7 @@ git-pack-refs - Pack heads and tags for efficient repository access
SYNOPSIS
--------
'git-pack-refs' [--all] [--no-prune]
'git pack-refs' [--all] [--no-prune]
DESCRIPTION
-----------
@@ -31,7 +31,7 @@ Subsequent updates to branches always creates new file under
A recommended practice to deal with a repository with too many
refs is to pack its refs with `--all --prune` once, and
occasionally run `git-pack-refs \--prune`. Tags are by
occasionally run `git pack-refs \--prune`. Tags are by
definition stationary and are not expected to change. Branch
heads will be packed with the initial `pack-refs --all`, but
only the currently active branch heads will become unpacked,

View File

@@ -8,7 +8,7 @@ git-parse-remote - Routines to help parsing remote repository access parameters
SYNOPSIS
--------
'. git-parse-remote'
'. "$(git --exec-path)/git-parse-remote"'
DESCRIPTION
-----------
@@ -32,7 +32,7 @@ get_remote_refs_for_fetch::
get_remote_refs_for_push::
Given the list of user-supplied `<repo> <refspec>...`,
return the list of refs to push in a form suitable to be
fed to the `git-send-pack` command. When `<refspec>...`
fed to the 'git-send-pack' command. When `<refspec>...`
is empty the returned list of refs consists of the
defaults for the given `<repo>`, if specified in
`$GIT_DIR/remotes/`.

View File

@@ -7,7 +7,7 @@ git-patch-id - Compute unique ID for a patch
SYNOPSIS
--------
'git-patch-id' < <patch>
'git patch-id' < <patch>
DESCRIPTION
-----------
@@ -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 string. The first
string is the patch ID, and the second string is the commit ID.

View File

@@ -8,11 +8,11 @@ git-peek-remote - List the references in a remote repository
SYNOPSIS
--------
'git-peek-remote' [--upload-pack=<git-upload-pack>] [<host>:]<directory>
'git peek-remote' [--upload-pack=<git-upload-pack>] [<host>:]<directory>
DESCRIPTION
-----------
This command is deprecated; use `git-ls-remote` instead.
This command is deprecated; use 'git-ls-remote' instead.
OPTIONS
-------

View File

@@ -8,7 +8,7 @@ git-prune-packed - Remove extra objects that are already in pack files
SYNOPSIS
--------
'git-prune-packed' [-n] [-q]
'git prune-packed' [-n] [-q]
DESCRIPTION

View File

@@ -13,16 +13,16 @@ SYNOPSIS
DESCRIPTION
-----------
NOTE: In most cases, users should run linkgit:git-gc[1], 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].
@@ -53,18 +53,18 @@ borrows from your repository via its
`.git/objects/info/alternates`:
------------
$ git prune $(cd ../another && $(git-rev-parse --all))
$ 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 linkgit:git-gc[1], 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
--------

View File

@@ -8,21 +8,21 @@ git-pull - Fetch from and merge with another repository or a local branch
SYNOPSIS
--------
'git-pull' <options> <repository> <refspec>...
'git pull' <options> <repository> <refspec>...
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'.
OPTIONS
-------
@@ -182,8 +182,7 @@ The final command then merges the newly fetched `tmp` into master.
If you tried a pull which resulted in a complex conflicts and
would want to start over, you can recover with
linkgit:git-reset[1].
would want to start over, you can recover with 'git-reset'.
SEE ALSO

View File

@@ -9,7 +9,7 @@ git-push - Update remote refs along with associated objects
SYNOPSIS
--------
[verse]
'git-push' [--all] [--dry-run] [--tags] [--receive-pack=<git-receive-pack>]
'git push' [--all] [--dry-run] [--tags] [--receive-pack=<git-receive-pack>]
[--repo=all] [-f | --force] [-v | --verbose] [<repository> <refspec>...]
DESCRIPTION
@@ -67,7 +67,8 @@ nor in any Push line of the corresponding remotes file---see below).
--mirror::
Instead of naming each ref to push, specifies that all
refs under `$GIT_DIR/refs/heads/` and `$GIT_DIR/refs/tags/`
refs under `$GIT_DIR/refs/` (which includes but is not
limited to `refs/heads/`, `refs/remotes/`, and `refs/tags/`)
be mirrored to the remote repository. Newly created local
refs will be pushed to the remote end, locally updated refs
will be force updated on the remote end, and deleted refs
@@ -105,7 +106,7 @@ nor in any Push line of the corresponding remotes file---see below).
--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.

View File

@@ -9,7 +9,7 @@ git-quiltimport - Applies a quilt patchset onto the current branch
SYNOPSIS
--------
[verse]
'git-quiltimport' [--dry-run] [--author <author>] [--patches <dir>]
'git quiltimport' [--dry-run] [--author <author>] [--patches <dir>]
DESCRIPTION

View File

@@ -8,7 +8,7 @@ git-read-tree - Reads tree information into the index
SYNOPSIS
--------
'git-read-tree' (<tree-ish> | [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] [-u | -i]] [--exclude-per-directory=<gitignore>] [--index-output=<file>] <tree-ish1> [<tree-ish2> [<tree-ish3>]])
'git read-tree' (<tree-ish> | [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] [-u | -i]] [--exclude-per-directory=<gitignore>] [--index-output=<file>] <tree-ish1> [<tree-ish2> [<tree-ish3>]])
DESCRIPTION
@@ -22,8 +22,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
-------
@@ -54,13 +54,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
@@ -113,7 +113,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.
@@ -121,29 +121,29 @@ 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
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
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
~~~~~~~~~~~~~~
Typically, this is invoked as `git-read-tree -m $H $M`, where $H
Typically, this is invoked as `git read-tree -m $H $M`, where $H
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
@@ -151,7 +151,7 @@ the following:
2. The user wants to fast-forward to $M.
In this case, the `git-read-tree -m $H $M` command makes sure
In this case, the `git read-tree -m $H $M` command makes sure
that no local change is lost as the result of this "merge".
Here are the "carry forward" rules:
@@ -193,18 +193,18 @@ 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
`git diff-index --cached $M`. Note that this does not
necessarily match `git diff-index --cached $H` would have
produced before such a two tree merge. This is because of cases
18 and 19 --- if you already had the changes in $M (e.g. maybe
you picked it up via e-mail in a patch form), `git-diff-index
you picked it up via e-mail in a patch form), `git diff-index
--cached $H` would have told you about the change before this
merge, but it would not show in `git-diff-index --cached $M`
merge, but it would not show in `git diff-index --cached $M`
output after two-tree merge.
@@ -213,13 +213,13 @@ output after two-tree merge.
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
----------------
$ git-read-tree -m <tree1> <tree2> <tree3>
$ git read-tree -m <tree1> <tree2> <tree3>
----------------
and you will end up with an index with all of the <tree1> entries in
@@ -229,7 +229,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":
@@ -245,7 +245,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.
@@ -261,7 +261,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
@@ -285,8 +285,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.
@@ -304,16 +304,16 @@ commit. To illustrate, suppose you start from what has been
committed last to your repository:
----------------
$ JC=`git-rev-parse --verify "HEAD^0"`
$ git-checkout-index -f -u -a $JC
$ 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:
----------------
$ git-fetch git://.... linus
$ git fetch git://.... linus
$ LT=`cat .git/FETCH_HEAD`
----------------
@@ -323,10 +323,10 @@ added or modified index entries since $JC, and if you haven't,
then does the right thing. So with the following sequence:
----------------
$ git-read-tree -m -u `git-merge-base $JC $LT` $JC $LT
$ git-merge-index git-merge-one-file -a
$ git read-tree -m -u `git merge-base $JC $LT` $JC $LT
$ git merge-index git-merge-one-file -a
$ echo "Merge with Linus" | \
git-commit-tree `git-write-tree` -p $JC -p $LT
git commit-tree `git write-tree` -p $JC -p $LT
----------------
what you would commit is a pure merge between $JC and $LT without
@@ -334,14 +334,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

View File

@@ -8,15 +8,15 @@ git-rebase - Forward-port local commits to the updated upstream head
SYNOPSIS
--------
[verse]
'git-rebase' [-i | --interactive] [-v | --verbose] [-m | --merge]
'git rebase' [-i | --interactive] [-v | --verbose] [-m | --merge]
[-s <strategy> | --strategy=<strategy>]
[-C<n>] [ --whitespace=<option>] [-p | --preserve-merges]
[--onto <newbase>] <upstream> [<branch>]
'git-rebase' --continue | --skip | --abort
'git rebase' --continue | --skip | --abort
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.
@@ -52,8 +52,8 @@ Assume the following history exists and the current branch is "topic":
From this point, the result of either of the following commands:
git-rebase master
git-rebase master topic
git rebase master
git rebase master topic
would be:
@@ -68,7 +68,7 @@ followed by `git rebase master`.
If the upstream branch already contains a change you have made (e.g.,
because you mailed a patch which was applied upstream), then that commit
will be skipped. For example, running `git-rebase master` on the
will be skipped. For example, running `git rebase master` on the
following history (in which A' and A introduce the same set of changes,
but have different committer information):
@@ -116,7 +116,7 @@ got merged into more stable 'master' branch, like this:
We can get this using the following command:
git-rebase --onto master next topic
git rebase --onto master next topic
Another example of --onto option is to rebase part of a
@@ -132,7 +132,7 @@ branch. If we have the following situation:
then the command
git-rebase --onto master topicA topicB
git rebase --onto master topicA topicB
would result in:
@@ -155,7 +155,7 @@ the following situation:
then the command
git-rebase --onto topicA~5 topicA~3 topicA
git rebase --onto topicA~5 topicA~3 topicA
would result in the removal of commits F and G:
@@ -167,8 +167,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
@@ -184,7 +184,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
@@ -224,8 +224,8 @@ OPTIONS
Use the given merge strategy; can be supplied more than
once to specify them in the order they should be tried.
If there is no `-s` option, a built-in list of strategies
is used instead (`git-merge-recursive` when merging a single
head, `git-merge-octopus` otherwise). This implies --merge.
is used instead ('git-merge-recursive' when merging a single
head, 'git-merge-octopus' otherwise). This implies --merge.
-v::
--verbose::
@@ -238,7 +238,7 @@ OPTIONS
ever ignored.
--whitespace=<nowarn|warn|error|error-all|strip>::
This flag is passed to the `git-apply` program
This flag is passed to the 'git-apply' program
(see linkgit:git-apply[1]) that applies the patch.
-i::
@@ -259,10 +259,10 @@ NOTES
When you rebase a branch, you are changing its history in a way that
will cause problems for anyone who already has a copy of the branch
in their repository and tries to pull updates from you. You should
understand the implications of using 'git rebase' on a repository that
understand the implications of using 'git-rebase' on a repository that
you share.
When the git rebase command is run, it will first execute a "pre-rebase"
When the git-rebase command is run, it will first execute a "pre-rebase"
hook if one exists. You can use this hook to do sanity checks and
reject the rebase if it isn't appropriate. Please see the template
pre-rebase hook script for an example.
@@ -314,12 +314,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.
@@ -334,7 +334,7 @@ the loop 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
@@ -364,34 +364,34 @@ 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:
- Start an interactive rebase with 'git rebase -i <commit>^', where
- Start an interactive rebase with `git rebase -i <commit>^`, where
<commit> is the commit you want to split. In fact, any commit range
will do, as long as it contains that commit.
- Mark the commit you want to split with the action "edit".
- When it comes to editing that commit, execute 'git reset HEAD^'. The
- When it comes to editing that commit, execute `git reset HEAD^`. The
effect is that the HEAD is rewound by one, and the index follows suit.
However, the working tree stays the same.
- Now add the changes to the index that you want to have in the first
commit. You can use linkgit:git-add[1] (possibly interactively) and/or
linkgit:git-gui[1] to do that.
commit. You can use `git add` (possibly interactively) or
'git-gui' (or both) to do that.
- Commit the now-current index with whatever commit message is appropriate
now.
- Repeat the last two steps until your working tree is clean.
- Continue the rebase with 'git rebase --continue'.
- Continue the rebase with `git rebase --continue`.
If you are not absolutely sure that the intermediate revisions are
consistent (they compile, pass the testsuite, etc.) you should use
linkgit:git-stash[1] 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.

View File

@@ -8,7 +8,7 @@ git-receive-pack - Receive what is pushed into the repository
SYNOPSIS
--------
'git-receive-pack' <directory>
'git receive-pack' <directory>
DESCRIPTION
-----------
@@ -18,17 +18,17 @@ 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
program pair is meant to be used to push updates to remote
repository. For pull operations, see 'git-fetch-pack'.
repository. For pull operations, see linkgit:git-fetch-pack[1].
The command allows for creation and fast forwarding of sha1 refs
(heads/tags) on the remote end (strictly speaking, it is the
local end receive-pack runs, but to the user who is sitting at
local end 'git-receive-pack' runs, but to the user who is sitting at
the send-pack end, it is updating the remote. Confused?)
There are other real-world examples of using update and
post-update hooks found in the Documentation/howto directory.
git-receive-pack honours the receive.denyNonFastForwards config
'git-receive-pack' honours the receive.denyNonFastForwards config
option, which tells it if updates to a ref should be denied if they
are not fast-forwards.
@@ -111,10 +111,10 @@ ref listing the commits pushed to the repository:
if expr "$oval" : '0*$' >/dev/null
then
echo "Created a new ref, with the following commits:"
git-rev-list --pretty "$nval"
git rev-list --pretty "$nval"
else
echo "New commits:"
git-rev-list --pretty "$nval" "^$oval"
git rev-list --pretty "$nval" "^$oval"
fi |
mail -s "Changes to ref $ref" commit-list@mydomain
done
@@ -125,7 +125,7 @@ non-zero exit code will generate an error message.
Note that it is possible for refname to not have sha1-new when this
hook runs. This can easily occur if another user modifies the ref
after it was updated by receive-pack, but before the hook was able
after it was updated by 'git-receive-pack', but before the hook was able
to evaluate it. It is recommended that hooks rely on sha1-new
rather than the current value of refname.
@@ -137,14 +137,14 @@ post-update will called with the list of refs that have been updated.
This can be used to implement any repository wide cleanup tasks.
The exit code from this hook invocation is ignored; the only thing
left for git-receive-pack to do at that point is to exit itself
left for 'git-receive-pack' to do at that point is to exit itself
anyway.
This hook can be used, for example, to run "git-update-server-info"
This hook can be used, for example, to run `git update-server-info`
if the repository is packed and is served via a dumb transport.
#!/bin/sh
exec git-update-server-info
exec git update-server-info
SEE ALSO

View File

@@ -16,12 +16,12 @@ The command takes various subcommands, and different options
depending on the subcommand:
[verse]
git reflog expire [--dry-run] [--stale-fix] [--verbose]
'git reflog expire' [--dry-run] [--stale-fix] [--verbose]
[--expire=<time>] [--expire-unreachable=<time>] [--all] <refs>...
git reflog delete ref@\{specifier\}...
git reflog [show] [log-options] [<ref>]
+
'git reflog delete' ref@\{specifier\}...
+
'git reflog' ['show'] [log-options] [<ref>]
Reflog is a mechanism to record when the tip of branches are
updated. This command is to manage the information recorded in it.
@@ -36,7 +36,7 @@ The subcommand "show" (which is also the default, in the absence of any
subcommands) will take all the normal log options, and show the log of
the reference provided in the command-line (or `HEAD`, by default).
The reflog will cover all recent actions (HEAD reflog records branch switching
as well). It is an alias for 'git log -g --abbrev-commit --pretty=oneline';
as well). It is an alias for `git log -g --abbrev-commit --pretty=oneline`;
see linkgit:git-log[1].
The reflog is useful in various git commands, to specify the old value
@@ -46,7 +46,7 @@ point to one week ago", and so on. See linkgit:git-rev-parse[1] for
more details.
To delete single entries from the reflog, use the subcommand "delete"
and specify the _exact_ entry (e.g. ``git reflog delete master@\{2\}'').
and specify the _exact_ entry (e.g. "`git reflog delete master@\{2\}`").
OPTIONS
@@ -60,7 +60,7 @@ OPTIONS
refs.
+
This computation involves traversing all the reachable objects, i.e. it
has the same cost as 'git prune'. Fortunately, once this is run, we
has the same cost as 'git-prune'. Fortunately, once this is run, we
should not have to ever worry about missing objects, because the current
prune and pack-objects know about reflogs and protect objects referred by
them.

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