зеркало из https://github.com/microsoft/git.git
Merge branch 'ta/doc-no-small-caps'
Update documentation to change "GIT" which was a poor-man's small caps to "Git". The latter was the intended spelling. Also change "git" spelled in all-lowercase to "Git" when it refers to the system as the whole or the concept it embodies, as opposed to the command the end users would type. * ta/doc-no-small-caps: Documentation: StGit is the right spelling, not StGIT Documentation: describe the "repository" in repository-layout Documentation: add a description for 'gitfile' to glossary Documentation: do not use undefined terms git-dir and git-file Documentation: the name of the system is 'Git', not 'git' Documentation: avoid poor-man's small caps GIT
This commit is contained in:
Коммит
e34c7e2b51
|
@ -1,5 +1,5 @@
|
|||
Like other projects, we also have some guidelines to keep to the
|
||||
code. For git in general, three rough rules are:
|
||||
code. For Git in general, three rough rules are:
|
||||
|
||||
- Most importantly, we never say "It's in POSIX; we'll happily
|
||||
ignore your needs should your system not conform to it."
|
||||
|
@ -22,7 +22,7 @@ code. For git in general, three rough rules are:
|
|||
As for more concrete guidelines, just imitate the existing code
|
||||
(this is a good guideline, no matter which project you are
|
||||
contributing to). It is always preferable to match the _local_
|
||||
convention. New code added to git suite is expected to match
|
||||
convention. New code added to Git suite is expected to match
|
||||
the overall style of existing code. Modifications to existing
|
||||
code is expected to match the style the surrounding code already
|
||||
uses (even if it doesn't match the overall style of existing code).
|
||||
|
@ -112,7 +112,7 @@ For C programs:
|
|||
|
||||
- We try to keep to at most 80 characters per line.
|
||||
|
||||
- We try to support a wide range of C compilers to compile git with,
|
||||
- We try to support a wide range of C compilers to compile Git with,
|
||||
including old ones. That means that you should not use C99
|
||||
initializers, even if a lot of compilers grok it.
|
||||
|
||||
|
@ -164,14 +164,14 @@ For C programs:
|
|||
|
||||
- If you are planning a new command, consider writing it in shell
|
||||
or perl first, so that changes in semantics can be easily
|
||||
changed and discussed. Many git commands started out like
|
||||
changed and discussed. Many Git commands started out like
|
||||
that, and a few are still scripts.
|
||||
|
||||
- Avoid introducing a new dependency into git. This means you
|
||||
- Avoid introducing a new dependency into Git. This means you
|
||||
usually should stay away from scripting languages not already
|
||||
used in the git core command set (unless your command is clearly
|
||||
used in the Git core command set (unless your command is clearly
|
||||
separate from it, such as an importer to convert random-scm-X
|
||||
repositories to git).
|
||||
repositories to Git).
|
||||
|
||||
- When we pass <string, length> pair to functions, we should try to
|
||||
pass them in that order.
|
||||
|
@ -230,3 +230,8 @@ Writing Documentation:
|
|||
valid usage. "*" has its own pair of brackets, because it can
|
||||
(optionally) be specified only when one or more of the letters is
|
||||
also provided.
|
||||
|
||||
A note on notation:
|
||||
Use 'git' (all lowercase) when talking about commands i.e. something
|
||||
the user would type into a shell and use 'Git' (uppercase first letter)
|
||||
when talking about the version control system and its properties.
|
||||
|
|
|
@ -346,8 +346,8 @@ $(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt
|
|||
install-webdoc : html
|
||||
'$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
|
||||
|
||||
# You must have a clone of git-htmldocs and git-manpages repositories
|
||||
# next to the git repository itself for the following to work.
|
||||
# You must have a clone of 'git-htmldocs' and 'git-manpages' repositories
|
||||
# next to the 'git' repository itself for the following to work.
|
||||
|
||||
quick-install: quick-install-man
|
||||
|
||||
|
|
|
@ -103,9 +103,9 @@ without external resources. Instead of giving a URL to a mailing list
|
|||
archive, summarize the relevant points of the discussion.
|
||||
|
||||
|
||||
(3) Generate your patch using git tools out of your commits.
|
||||
(3) Generate your patch using Git tools out of your commits.
|
||||
|
||||
git based diff tools generate unidiff which is the preferred format.
|
||||
Git based diff tools generate unidiff which is the preferred format.
|
||||
|
||||
You do not have to be afraid to use -M option to "git diff" or
|
||||
"git format-patch", if your patch involves file renames. The
|
||||
|
@ -122,7 +122,7 @@ that is fine, but please mark it as such.
|
|||
|
||||
(4) Sending your patches.
|
||||
|
||||
People on the git mailing list need to be able to read and
|
||||
People on the Git mailing list need to be able to read and
|
||||
comment on the changes you are submitting. It is important for
|
||||
a developer to be able to "quote" your changes, using standard
|
||||
e-mail tools, so that they may comment on specific portions of
|
||||
|
@ -206,7 +206,7 @@ patch.
|
|||
|
||||
To improve tracking of who did what, we've borrowed the
|
||||
"sign-off" procedure from the Linux kernel project on patches
|
||||
that are being emailed around. Although core GIT is a lot
|
||||
that are being emailed around. Although core Git is a lot
|
||||
smaller project it is a good discipline to follow it.
|
||||
|
||||
The sign-off is a simple line at the end of the explanation for
|
||||
|
@ -244,7 +244,7 @@ then you just add a line saying
|
|||
|
||||
Signed-off-by: Random J Developer <random@developer.example.org>
|
||||
|
||||
This line can be automatically added by git if you run the git-commit
|
||||
This line can be automatically added by Git if you run the git-commit
|
||||
command with the -s option.
|
||||
|
||||
Notice that you can place your own Signed-off-by: line when
|
||||
|
@ -337,7 +337,7 @@ Know the status of your patch after submission
|
|||
tell you if your patch is merged in pu if you rebase on top of
|
||||
master).
|
||||
|
||||
* Read the git mailing list, the maintainer regularly posts messages
|
||||
* Read the Git mailing list, the maintainer regularly posts messages
|
||||
entitled "What's cooking in git.git" and "What's in git.git" giving
|
||||
the status of various proposed changes.
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
# Note, {0} is the manpage section, while {target} is the command.
|
||||
#
|
||||
# Show GIT link as: <command>(<section>); if section is defined, else just show
|
||||
# Show Git link as: <command>(<section>); if section is defined, else just show
|
||||
# the command.
|
||||
|
||||
[macros]
|
||||
|
|
|
@ -95,7 +95,7 @@ of lines before or after the line given by <start>.
|
|||
running extra passes of inspection.
|
||||
+
|
||||
<num> is optional but it is the lower bound on the number of
|
||||
alphanumeric characters that git must detect as moving/copying
|
||||
alphanumeric characters that Git must detect as moving/copying
|
||||
within a file for it to associate those lines with the parent
|
||||
commit. The default value is 20.
|
||||
|
||||
|
@ -110,7 +110,7 @@ commit. The default value is 20.
|
|||
looks for copies from other files in any commit.
|
||||
+
|
||||
<num> is optional but it is the lower bound on the number of
|
||||
alphanumeric characters that git must detect as moving/copying
|
||||
alphanumeric characters that Git must detect as moving/copying
|
||||
between files for it to associate those lines with the parent
|
||||
commit. And the default value is 40. If there are more than one
|
||||
`-C` options given, the <num> argument of the last `-C` will
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
CONFIGURATION FILE
|
||||
------------------
|
||||
|
||||
The git configuration file contains a number of variables that affect
|
||||
the git command's behavior. The `.git/config` file in each repository
|
||||
The Git configuration file contains a number of variables that affect
|
||||
the Git commands' behavior. The `.git/config` file in each repository
|
||||
is used to store the configuration for that repository, and
|
||||
`$HOME/.gitconfig` is used to store a per-user configuration as
|
||||
fallback values for the `.git/config` file. The file `/etc/gitconfig`
|
||||
can be used to store a system-wide default configuration.
|
||||
|
||||
The configuration variables are used by both the git plumbing
|
||||
The configuration variables are used by both the Git plumbing
|
||||
and the porcelains. The variables are divided into sections, wherein
|
||||
the fully qualified variable name of the variable itself is the last
|
||||
dot-separated segment and the section name is everything before the last
|
||||
|
@ -219,9 +219,9 @@ core.ignoreCygwinFSTricks::
|
|||
|
||||
core.ignorecase::
|
||||
If true, this option enables various workarounds to enable
|
||||
git to work better on filesystems that are not case sensitive,
|
||||
Git to work better on filesystems that are not case sensitive,
|
||||
like FAT. For example, if a directory listing finds
|
||||
"makefile" when git expects "Makefile", git will assume
|
||||
"makefile" when Git expects "Makefile", Git will assume
|
||||
it is really the same file, and continue to remember it as
|
||||
"Makefile".
|
||||
+
|
||||
|
@ -230,13 +230,13 @@ will probe and set core.ignorecase true if appropriate when the repository
|
|||
is created.
|
||||
|
||||
core.precomposeunicode::
|
||||
This option is only used by Mac OS implementation of git.
|
||||
When core.precomposeunicode=true, git reverts the unicode decomposition
|
||||
This option is only used by Mac OS implementation of Git.
|
||||
When core.precomposeunicode=true, Git reverts the unicode decomposition
|
||||
of filenames done by Mac OS. This is useful when sharing a repository
|
||||
between Mac OS and Linux or Windows.
|
||||
(Git for Windows 1.7.10 or higher is needed, or git under cygwin 1.7).
|
||||
When false, file names are handled fully transparent by git,
|
||||
which is backward compatible with older versions of git.
|
||||
(Git for Windows 1.7.10 or higher is needed, or Git under cygwin 1.7).
|
||||
When false, file names are handled fully transparent by Git,
|
||||
which is backward compatible with older versions of Git.
|
||||
|
||||
core.trustctime::
|
||||
If false, the ctime differences between the index and the
|
||||
|
@ -272,20 +272,20 @@ core.eol::
|
|||
conversion.
|
||||
|
||||
core.safecrlf::
|
||||
If true, makes git check if converting `CRLF` is reversible when
|
||||
If true, makes Git check if converting `CRLF` is reversible when
|
||||
end-of-line conversion is active. Git will verify if a command
|
||||
modifies a file in the work tree either directly or indirectly.
|
||||
For example, committing a file followed by checking out the
|
||||
same file should yield the original file in the work tree. If
|
||||
this is not the case for the current setting of
|
||||
`core.autocrlf`, git will reject the file. The variable can
|
||||
be set to "warn", in which case git will only warn about an
|
||||
`core.autocrlf`, Git will reject the file. The variable can
|
||||
be set to "warn", in which case Git will only warn about an
|
||||
irreversible conversion but continue the operation.
|
||||
+
|
||||
CRLF conversion bears a slight chance of corrupting data.
|
||||
When it is enabled, git will convert CRLF to LF during commit and LF to
|
||||
When it is enabled, Git will convert CRLF to LF during commit and LF to
|
||||
CRLF during checkout. A file that contains a mixture of LF and
|
||||
CRLF before the commit cannot be recreated by git. For text
|
||||
CRLF before the commit cannot be recreated by Git. For text
|
||||
files this is the right thing to do: it corrects line endings
|
||||
such that we have only LF line endings in the repository.
|
||||
But for binary files that are accidentally classified as text the
|
||||
|
@ -295,7 +295,7 @@ If you recognize such corruption early you can easily fix it by
|
|||
setting the conversion type explicitly in .gitattributes. Right
|
||||
after committing you still have the original file in your work
|
||||
tree and this file is not yet corrupted. You can explicitly tell
|
||||
git that this file is binary and git will handle the file
|
||||
Git that this file is binary and Git will handle the file
|
||||
appropriately.
|
||||
+
|
||||
Unfortunately, the desired effect of cleaning up text files with
|
||||
|
@ -340,7 +340,7 @@ is created.
|
|||
core.gitProxy::
|
||||
A "proxy command" to execute (as 'command host port') instead
|
||||
of establishing direct connection to the remote server when
|
||||
using the git protocol for fetching. If the variable value is
|
||||
using the Git protocol for fetching. If the variable value is
|
||||
in the "COMMAND for DOMAIN" format, the command is applied only
|
||||
on hostnames ending with the specified domain string. This variable
|
||||
may be set multiple times and is matched in the given order;
|
||||
|
@ -399,7 +399,7 @@ Note that this variable is honored even when set in a configuration
|
|||
file in a ".git" subdirectory of a directory and its value differs
|
||||
from the latter directory (e.g. "/path/to/.git/config" has
|
||||
core.worktree set to "/different/path"), which is most likely a
|
||||
misconfiguration. Running git commands in the "/path/to" directory will
|
||||
misconfiguration. Running Git commands in the "/path/to" directory will
|
||||
still use "/different/path" as the root of the work tree and can cause
|
||||
confusion unless you know what you are doing (e.g. you are creating a
|
||||
read-only snapshot of the same index to a location different from the
|
||||
|
@ -431,7 +431,7 @@ core.sharedRepository::
|
|||
several users in a group (making sure all the files and objects are
|
||||
group-writable). When 'all' (or 'world' or 'everybody'), the
|
||||
repository will be readable by all users, additionally to being
|
||||
group-shareable. When 'umask' (or 'false'), git will use permissions
|
||||
group-shareable. When 'umask' (or 'false'), Git will use permissions
|
||||
reported by umask(2). When '0xxx', where '0xxx' is an octal number,
|
||||
files in the repository will have this mode value. '0xxx' will override
|
||||
user's umask value (whereas the other options will only override
|
||||
|
@ -442,7 +442,7 @@ core.sharedRepository::
|
|||
See linkgit:git-init[1]. False by default.
|
||||
|
||||
core.warnAmbiguousRefs::
|
||||
If true, git will warn you if the ref name you passed it is ambiguous
|
||||
If true, Git will warn you if the ref name you passed it is ambiguous
|
||||
and might match multiple refs in the .git/refs/ tree. True by default.
|
||||
|
||||
core.compression::
|
||||
|
@ -514,7 +514,7 @@ Common unit suffixes of 'k', 'm', or 'g' are supported.
|
|||
|
||||
core.excludesfile::
|
||||
In addition to '.gitignore' (per-directory) and
|
||||
'.git/info/exclude', git looks into this file for patterns
|
||||
'.git/info/exclude', Git looks into this file for patterns
|
||||
of files which are not meant to be tracked. "`~/`" is expanded
|
||||
to the value of `$HOME` and "`~user/`" to the specified user's
|
||||
home directory. Its default value is $XDG_CONFIG_HOME/git/ignore.
|
||||
|
@ -532,7 +532,7 @@ core.askpass::
|
|||
|
||||
core.attributesfile::
|
||||
In addition to '.gitattributes' (per-directory) and
|
||||
'.git/info/attributes', git looks into this file for attributes
|
||||
'.git/info/attributes', Git looks into this file for attributes
|
||||
(see linkgit:gitattributes[5]). Path expansions are made the same
|
||||
way as for `core.excludesfile`. Its default value is
|
||||
$XDG_CONFIG_HOME/git/attributes. If $XDG_CONFIG_HOME is either not
|
||||
|
@ -557,9 +557,9 @@ sequence.editor::
|
|||
When not configured the default commit message editor is used instead.
|
||||
|
||||
core.pager::
|
||||
The command that git will use to paginate output. Can
|
||||
The command that Git will use to paginate output. Can
|
||||
be overridden with the `GIT_PAGER` environment
|
||||
variable. Note that git sets the `LESS` environment
|
||||
variable. Note that Git sets the `LESS` environment
|
||||
variable to `FRSX` if it is unset when it runs the
|
||||
pager. One can change these settings by setting the
|
||||
`LESS` variable to some other value. Alternately,
|
||||
|
@ -567,11 +567,11 @@ core.pager::
|
|||
global basis by setting the `core.pager` option.
|
||||
Setting `core.pager` has no effect on the `LESS`
|
||||
environment variable behaviour above, so if you want
|
||||
to override git's default settings this way, you need
|
||||
to override Git's default settings this way, you need
|
||||
to be explicit. For example, to disable the S option
|
||||
in a backward compatible manner, set `core.pager`
|
||||
to `less -+S`. This will be passed to the shell by
|
||||
git, which will translate the final command to
|
||||
Git, which will translate the final command to
|
||||
`LESS=FRSX less -+S`.
|
||||
|
||||
core.whitespace::
|
||||
|
@ -600,7 +600,7 @@ core.whitespace::
|
|||
does not trigger if the character before such a carriage-return
|
||||
is not a whitespace (not enabled by default).
|
||||
* `tabwidth=<n>` tells how many character positions a tab occupies; this
|
||||
is relevant for `indent-with-non-tab` and when git fixes `tab-in-indent`
|
||||
is relevant for `indent-with-non-tab` and when Git fixes `tab-in-indent`
|
||||
errors. The default tab width is 8. Allowed values are 1 to 63.
|
||||
|
||||
core.fsyncobjectfiles::
|
||||
|
@ -616,7 +616,7 @@ core.preloadindex::
|
|||
+
|
||||
This can speed up operations like 'git diff' and 'git status' especially
|
||||
on filesystems like NFS that have weak caching semantics and thus
|
||||
relatively high IO latencies. With this set to 'true', git will do the
|
||||
relatively high IO latencies. With this set to 'true', Git will do the
|
||||
index comparison to the filesystem data in parallel, allowing
|
||||
overlapping IO's.
|
||||
|
||||
|
@ -652,9 +652,9 @@ add.ignore-errors::
|
|||
add.ignoreErrors::
|
||||
Tells 'git add' to continue adding files when some files cannot be
|
||||
added due to indexing errors. Equivalent to the '--ignore-errors'
|
||||
option of linkgit:git-add[1]. Older versions of git accept only
|
||||
option of linkgit:git-add[1]. Older versions of Git accept only
|
||||
`add.ignore-errors`, which does not follow the usual naming
|
||||
convention for configuration variables. Newer versions of git
|
||||
convention for configuration variables. Newer versions of Git
|
||||
honor `add.ignoreErrors` as well.
|
||||
|
||||
alias.*::
|
||||
|
@ -662,7 +662,7 @@ alias.*::
|
|||
after defining "alias.last = cat-file commit HEAD", the invocation
|
||||
"git last" is equivalent to "git cat-file commit HEAD". To avoid
|
||||
confusion and troubles with script usage, aliases that
|
||||
hide existing git commands are ignored. Arguments are split by
|
||||
hide existing Git commands are ignored. Arguments are split by
|
||||
spaces, the usual shell quoting and escaping is supported.
|
||||
quote pair and a backslash can be used to quote them.
|
||||
+
|
||||
|
@ -709,7 +709,7 @@ branch.autosetupmerge::
|
|||
|
||||
branch.autosetuprebase::
|
||||
When a new branch is created with 'git branch' or 'git checkout'
|
||||
that tracks another branch, this variable tells git to set
|
||||
that tracks another branch, this variable tells Git to set
|
||||
up pull to rebase instead of merge (see "branch.<name>.rebase").
|
||||
When `never`, rebase is never automatically set to true.
|
||||
When `local`, rebase is set to true for tracked branches of
|
||||
|
@ -890,7 +890,7 @@ color.status.<slot>::
|
|||
one of `header` (the header text of the status message),
|
||||
`added` or `updated` (files which are added but not committed),
|
||||
`changed` (files which are changed but not added in the index),
|
||||
`untracked` (files which are not tracked by git),
|
||||
`untracked` (files which are not tracked by Git),
|
||||
`branch` (the current branch), or
|
||||
`nobranch` (the color the 'no branch' warning is shown in, defaulting
|
||||
to red). The values of these variables may be specified as in
|
||||
|
@ -904,7 +904,7 @@ color.ui::
|
|||
to `always` if you want all output not intended for machine
|
||||
consumption to use color, to `true` or `auto` if you want such
|
||||
output to use color when written to the terminal, or to `false` or
|
||||
`never` if you prefer git commands not to use color unless enabled
|
||||
`never` if you prefer Git commands not to use color unless enabled
|
||||
explicitly with some other configuration or the `--color` option.
|
||||
|
||||
column.ui::
|
||||
|
@ -1021,7 +1021,7 @@ fetch.fsckObjects::
|
|||
is used instead.
|
||||
|
||||
fetch.unpackLimit::
|
||||
If the number of objects fetched over the git native
|
||||
If the number of objects fetched over the Git native
|
||||
transfer is below this
|
||||
limit, then the objects will be unpacked into loose object
|
||||
files. However if the number of received objects equals or
|
||||
|
@ -1061,7 +1061,7 @@ format.subjectprefix::
|
|||
|
||||
format.signature::
|
||||
The default for format-patch is to output a signature containing
|
||||
the git version number. Use this variable to change that default.
|
||||
the Git version number. Use this variable to change that default.
|
||||
Set this variable to the empty string ("") to suppress
|
||||
signature generation.
|
||||
|
||||
|
@ -1174,7 +1174,7 @@ gitcvs.logfile::
|
|||
gitcvs.usecrlfattr::
|
||||
If true, the server will look up the end-of-line conversion
|
||||
attributes for files to determine the '-k' modes to use. If
|
||||
the attributes force git to treat a file as text,
|
||||
the attributes force Git to treat a file as text,
|
||||
the '-k' mode will be left blank so CVS clients will
|
||||
treat it as text. If they suppress text conversion, the file
|
||||
will be set with '-kb' mode, which suppresses any newline munging
|
||||
|
@ -1194,7 +1194,7 @@ gitcvs.allbinary::
|
|||
|
||||
gitcvs.dbname::
|
||||
Database used by git-cvsserver to cache revision information
|
||||
derived from the git repository. The exact meaning depends on the
|
||||
derived from the Git repository. The exact meaning depends on the
|
||||
used database driver, for SQLite (which is the default driver) this
|
||||
is a filename. Supports variable substitution (see
|
||||
linkgit:git-cvsserver[1] for details). May not contain semicolons (`;`).
|
||||
|
@ -1406,7 +1406,7 @@ http.proxy::
|
|||
|
||||
http.cookiefile::
|
||||
File containing previously stored cookie lines which should be used
|
||||
in the git http session, if they match the server. The file format
|
||||
in the Git http session, if they match the server. The file format
|
||||
of the file to read cookies from should be plain HTTP headers or
|
||||
the Netscape/Mozilla cookie file format (see linkgit:curl[1]).
|
||||
NOTE that the file specified with http.cookiefile is only used as
|
||||
|
@ -1428,7 +1428,7 @@ http.sslKey::
|
|||
variable.
|
||||
|
||||
http.sslCertPasswordProtected::
|
||||
Enable git's password prompt for the SSL certificate. Otherwise
|
||||
Enable Git's password prompt for the SSL certificate. Otherwise
|
||||
OpenSSL will prompt the user, possibly many times, if the
|
||||
certificate or private key is encrypted. Can be overridden by the
|
||||
'GIT_SSL_CERT_PASSWORD_PROTECTED' environment variable.
|
||||
|
@ -1475,7 +1475,7 @@ http.noEPSV::
|
|||
|
||||
http.useragent::
|
||||
The HTTP USER_AGENT string presented to an HTTP server. The default
|
||||
value represents the version of the client git such as git/1.7.1.
|
||||
value represents the version of the client Git such as git/1.7.1.
|
||||
This option allows you to override this value to a more common value
|
||||
such as Mozilla/4.0. This may be necessary, for instance, if
|
||||
connecting through a firewall that restricts HTTP connections to a set
|
||||
|
@ -1483,7 +1483,7 @@ http.useragent::
|
|||
Can be overridden by the 'GIT_HTTP_USER_AGENT' environment variable.
|
||||
|
||||
i18n.commitEncoding::
|
||||
Character encoding the commit messages are stored in; git itself
|
||||
Character encoding the commit messages are stored in; Git itself
|
||||
does not care per se, but this information is necessary e.g. when
|
||||
importing commits from emails or in the gitk graphical history
|
||||
browser (and possibly at other places in the future or in other
|
||||
|
@ -1621,7 +1621,7 @@ mergetool.keepBackup::
|
|||
`true` (i.e. keep the backup files).
|
||||
|
||||
mergetool.keepTemporaries::
|
||||
When invoking a custom merge tool, git uses a set of temporary
|
||||
When invoking a custom merge tool, Git uses a set of temporary
|
||||
files to pass to the tool. If the tool returns an error and this
|
||||
variable is set to `true`, then these temporary files will be
|
||||
preserved, otherwise they will be removed after the tool has
|
||||
|
@ -1649,7 +1649,7 @@ displayed.
|
|||
|
||||
notes.rewrite.<command>::
|
||||
When rewriting commits with <command> (currently `amend` or
|
||||
`rebase`) and this variable is set to `true`, git
|
||||
`rebase`) and this variable is set to `true`, Git
|
||||
automatically copies your notes from the original to the
|
||||
rewritten commit. Defaults to `true`, but see
|
||||
"notes.rewriteRef" below.
|
||||
|
@ -1729,7 +1729,7 @@ pack.threads::
|
|||
warning. This is meant to reduce packing time on multiprocessor
|
||||
machines. The required amount of memory for the delta search window
|
||||
is however multiplied by the number of threads.
|
||||
Specifying 0 will cause git to auto-detect the number of CPU's
|
||||
Specifying 0 will cause Git to auto-detect the number of CPU's
|
||||
and set the number of threads accordingly.
|
||||
|
||||
pack.indexVersion::
|
||||
|
@ -1741,11 +1741,11 @@ pack.indexVersion::
|
|||
and this config option ignored whenever the corresponding pack is
|
||||
larger than 2 GB.
|
||||
+
|
||||
If you have an old git that does not understand the version 2 `*.idx` file,
|
||||
If you have an old Git that does not understand the version 2 `*.idx` file,
|
||||
cloning or fetching over a non native protocol (e.g. "http" and "rsync")
|
||||
that will copy both `*.pack` file and corresponding `*.idx` file from the
|
||||
other side may give you a repository that cannot be accessed with your
|
||||
older version of git. If the `*.pack` file is smaller than 2 GB, however,
|
||||
older version of Git. If the `*.pack` file is smaller than 2 GB, however,
|
||||
you can use linkgit:git-index-pack[1] on the *.pack file to regenerate
|
||||
the `*.idx` file.
|
||||
|
||||
|
@ -1760,7 +1760,7 @@ pack.packSizeLimit::
|
|||
|
||||
pager.<cmd>::
|
||||
If the value is boolean, turns on or off pagination of the
|
||||
output of a particular git subcommand when writing to a tty.
|
||||
output of a particular Git subcommand when writing to a tty.
|
||||
Otherwise, turns on pagination for the subcommand using the
|
||||
pager specified by the value of `pager.<cmd>`. If `--paginate`
|
||||
or `--no-pager` is specified on the command line, it takes
|
||||
|
@ -1795,7 +1795,7 @@ pull.twohead::
|
|||
The default merge strategy to use when pulling a single branch.
|
||||
|
||||
push.default::
|
||||
Defines the action git push should take if no refspec is given
|
||||
Defines the action `git push` should take if no refspec is given
|
||||
on the command line, no refspec is configured in the remote, and
|
||||
no refspec is implied by any of the options given on the command
|
||||
line. Possible values are:
|
||||
|
@ -1935,7 +1935,7 @@ remote.<name>.tagopt::
|
|||
linkgit:git-fetch[1].
|
||||
|
||||
remote.<name>.vcs::
|
||||
Setting this to a value <vcs> will cause git to interact with
|
||||
Setting this to a value <vcs> will cause Git to interact with
|
||||
the remote with the git-remote-<vcs> helper.
|
||||
|
||||
remotes.<group>::
|
||||
|
@ -1945,9 +1945,9 @@ remotes.<group>::
|
|||
repack.usedeltabaseoffset::
|
||||
By default, linkgit:git-repack[1] creates packs that use
|
||||
delta-base offset. If you need to share your repository with
|
||||
git older than version 1.4.4, either directly or via a dumb
|
||||
Git older than version 1.4.4, either directly or via a dumb
|
||||
protocol such as http, then you need to set this option to
|
||||
"false" and repack. Access from old git versions over the
|
||||
"false" and repack. Access from old Git versions over the
|
||||
native protocol are unaffected by this option.
|
||||
|
||||
rerere.autoupdate::
|
||||
|
@ -2016,7 +2016,7 @@ showbranch.default::
|
|||
status.relativePaths::
|
||||
By default, linkgit:git-status[1] shows paths relative to the
|
||||
current directory. Setting this variable to `false` shows paths
|
||||
relative to the repository root (this was the default for git
|
||||
relative to the repository root (this was the default for Git
|
||||
prior to v1.5.4).
|
||||
|
||||
status.showUntrackedFiles::
|
||||
|
@ -2103,7 +2103,7 @@ url.<base>.insteadOf::
|
|||
large number of repositories, and serves them with multiple
|
||||
access methods, and some users need to use different access
|
||||
methods, this feature allows people to specify any of the
|
||||
equivalent URLs and have git automatically rewrite the URL to
|
||||
equivalent URLs and have Git automatically rewrite the URL to
|
||||
the best alternative for the particular user, even for a
|
||||
never-before-seen repository on the site. When more than one
|
||||
insteadOf strings match a given URL, the longest match is used.
|
||||
|
@ -2114,11 +2114,11 @@ url.<base>.pushInsteadOf::
|
|||
resulting URL will be pushed to. In cases where some site serves
|
||||
a large number of repositories, and serves them with multiple
|
||||
access methods, some of which do not allow push, this feature
|
||||
allows people to specify a pull-only URL and have git
|
||||
allows people to specify a pull-only URL and have Git
|
||||
automatically use an appropriate URL to push, even for a
|
||||
never-before-seen repository on the site. When more than one
|
||||
pushInsteadOf strings match a given URL, the longest match is
|
||||
used. If a remote has an explicit pushurl, git will ignore this
|
||||
used. If a remote has an explicit pushurl, Git will ignore this
|
||||
setting for that remote.
|
||||
|
||||
user.email::
|
||||
|
|
|
@ -99,7 +99,7 @@ diff.renameLimit::
|
|||
detection; equivalent to the 'git diff' option '-l'.
|
||||
|
||||
diff.renames::
|
||||
Tells git to detect renames. If set to any boolean value, it
|
||||
Tells Git to detect renames. If set to any boolean value, it
|
||||
will enable basic rename detection. If set to "copies" or
|
||||
"copy", it will detect copies, as well.
|
||||
|
||||
|
|
|
@ -283,7 +283,7 @@ few lines that happen to match textually as the context, but as a
|
|||
single deletion of everything old followed by a single insertion of
|
||||
everything new, and the number `m` controls this aspect of the -B
|
||||
option (defaults to 60%). `-B/70%` specifies that less than 30% of the
|
||||
original should remain in the result for git to consider it a total
|
||||
original should remain in the result for Git to consider it a total
|
||||
rewrite (i.e. otherwise the resulting patch will be a series of
|
||||
deletion and insertion mixed together with context lines).
|
||||
+
|
||||
|
@ -307,7 +307,7 @@ ifdef::git-log[]
|
|||
endif::git-log[]
|
||||
If `n` is specified, it is a threshold on the similarity
|
||||
index (i.e. amount of addition/deletions compared to the
|
||||
file's size). For example, `-M90%` means git should consider a
|
||||
file's size). For example, `-M90%` means Git should consider a
|
||||
delete/add pair to be a rename if more than 90% of the file
|
||||
hasn't changed. Without a `%` sign, the number is to be read as
|
||||
a fraction, with a decimal point before it. I.e., `-M5` becomes
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Everyday GIT With 20 Commands Or So
|
||||
Everyday Git With 20 Commands Or So
|
||||
===================================
|
||||
|
||||
<<Individual Developer (Standalone)>> commands are essential for
|
||||
|
@ -12,7 +12,7 @@ commands in addition to the above.
|
|||
|
||||
<<Repository Administration>> commands are for system
|
||||
administrators who are responsible for the care and feeding
|
||||
of git repositories.
|
||||
of Git repositories.
|
||||
|
||||
|
||||
Individual Developer (Standalone)[[Individual Developer (Standalone)]]
|
||||
|
@ -87,7 +87,7 @@ $ git log v2.43.. curses/ <12>
|
|||
+
|
||||
<1> create a new topic branch.
|
||||
<2> revert your botched changes in `curses/ux_audio_oss.c`.
|
||||
<3> you need to tell git if you added a new file; removal and
|
||||
<3> you need to tell Git if you added a new file; removal and
|
||||
modification will be caught if you do `git commit -a` later.
|
||||
<4> to see what changes you are committing.
|
||||
<5> commit everything as you have tested, with your sign-off.
|
||||
|
@ -229,7 +229,7 @@ commands in addition to the ones needed by participants.
|
|||
Examples
|
||||
~~~~~~~~
|
||||
|
||||
My typical GIT day.::
|
||||
My typical Git day.::
|
||||
+
|
||||
------------
|
||||
$ git status <1>
|
||||
|
@ -332,7 +332,7 @@ Run git-daemon to serve /pub/scm from xinetd.::
|
|||
------------
|
||||
$ cat /etc/xinetd.d/git-daemon
|
||||
# default: off
|
||||
# description: The git server offers access to git repositories
|
||||
# description: The Git server offers access to Git repositories
|
||||
service git
|
||||
{
|
||||
disable = no
|
||||
|
|
|
@ -24,7 +24,7 @@ Reads the supplied diff output (i.e. "a patch") and applies it to files.
|
|||
With the `--index` option the patch is also applied to the index, and
|
||||
with the `--cached` option the patch is only applied to the index.
|
||||
Without these options, the command applies the patch only to files,
|
||||
and does not require them to be in a git repository.
|
||||
and does not require them to be in a Git repository.
|
||||
|
||||
This command applies the patch but does not create a commit. Use
|
||||
linkgit:git-am[1] to create commits from patches generated by
|
||||
|
@ -198,7 +198,7 @@ behavior:
|
|||
* `fix` outputs warnings for a few such errors, and applies the
|
||||
patch after fixing them (`strip` is a synonym --- the tool
|
||||
used to consider only trailing whitespace characters as errors, and the
|
||||
fix involved 'stripping' them, but modern gits do more).
|
||||
fix involved 'stripping' them, but modern Gits do more).
|
||||
* `error` outputs warnings for a few such errors, and refuses
|
||||
to apply the patch.
|
||||
* `error-all` is similar to `error` but shows all errors.
|
||||
|
|
|
@ -3,7 +3,7 @@ git-archimport(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-archimport - Import an Arch repository into git
|
||||
git-archimport - Import an Arch repository into Git
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
|
@ -40,13 +40,13 @@ directory. To follow the development of a project that uses Arch, rerun
|
|||
incremental imports.
|
||||
|
||||
While 'git archimport' will try to create sensible branch names for the
|
||||
archives that it imports, it is also possible to specify git branch names
|
||||
manually. To do so, write a git branch name after each <archive/branch>
|
||||
archives that it imports, it is also possible to specify Git branch names
|
||||
manually. To do so, write a Git branch name after each <archive/branch>
|
||||
parameter, separated by a colon. This way, you can shorten the Arch
|
||||
branch names and convert Arch jargon to git jargon, for example mapping a
|
||||
branch names and convert Arch jargon to Git jargon, for example mapping a
|
||||
"PROJECT{litdd}devo{litdd}VERSION" branch to "master".
|
||||
|
||||
Associating multiple Arch branches to one git branch is possible; the
|
||||
Associating multiple Arch branches to one Git branch is possible; the
|
||||
result will make the most sense only if no commits are made to the first
|
||||
branch, after the second branch is created. Still, this is useful to
|
||||
convert Arch repositories that had been rotated periodically.
|
||||
|
@ -54,14 +54,14 @@ convert Arch repositories that had been rotated periodically.
|
|||
|
||||
MERGES
|
||||
------
|
||||
Patch merge data from Arch is used to mark merges in git as well. git
|
||||
Patch merge data from Arch is used to mark merges in Git as well. Git
|
||||
does not care much about tracking patches, and only considers a merge when a
|
||||
branch incorporates all the commits since the point they forked. The end result
|
||||
is that git will have a good idea of how far branches have diverged. So the
|
||||
is that Git will have a good idea of how far branches have diverged. So the
|
||||
import process does lose some patch-trading metadata.
|
||||
|
||||
Fortunately, when you try and merge branches imported from Arch,
|
||||
git will find a good merge base, and it has a good chance of identifying
|
||||
Git will find a good merge base, and it has a good chance of identifying
|
||||
patches that have been traded out-of-sequence between the branches.
|
||||
|
||||
OPTIONS
|
||||
|
|
|
@ -128,7 +128,7 @@ export-ignore::
|
|||
added to archive files. See linkgit:gitattributes[5] for details.
|
||||
|
||||
export-subst::
|
||||
If the attribute export-subst is set for a file then git will
|
||||
If the attribute export-subst is set for a file then Git will
|
||||
expand several placeholders when adding this file to an archive.
|
||||
See linkgit:gitattributes[5] for details.
|
||||
|
||||
|
|
|
@ -224,7 +224,7 @@ Note that the example that we will use is really a toy example, we
|
|||
will be looking for the first commit that has a version like
|
||||
"2.6.26-something", that is the commit that has a "SUBLEVEL = 26" line
|
||||
in the top level Makefile. This is a toy example because there are
|
||||
better ways to find this commit with git than using "git bisect" (for
|
||||
better ways to find this commit with Git than using "git bisect" (for
|
||||
example "git blame" or "git log -S<string>").
|
||||
|
||||
Driving a bisection manually
|
||||
|
@ -455,7 +455,7 @@ So only the W and B commits will be kept. Because commits X and Y will
|
|||
have been removed by rules a) and b) respectively, and because commits
|
||||
G are removed by rule b) too.
|
||||
|
||||
Note for git users, that it is equivalent as keeping only the commit
|
||||
Note for Git users, that it is equivalent as keeping only the commit
|
||||
given by:
|
||||
|
||||
-------------
|
||||
|
@ -710,8 +710,8 @@ Skip algorithm discussed
|
|||
After step 7) (in the skip algorithm), we could check if the second
|
||||
commit has been skipped and return it if it is not the case. And in
|
||||
fact that was the algorithm we used from when "git bisect skip" was
|
||||
developed in git version 1.5.4 (released on February 1st 2008) until
|
||||
git version 1.6.4 (released July 29th 2009).
|
||||
developed in Git version 1.5.4 (released on February 1st 2008) until
|
||||
Git version 1.6.4 (released July 29th 2009).
|
||||
|
||||
But Ingo Molnar and H. Peter Anvin (another well known linux kernel
|
||||
developer) both complained that sometimes the best bisection points
|
||||
|
@ -1025,10 +1025,10 @@ And here is what Andreas said about this work-flow <<5>>:
|
|||
_____________
|
||||
To give some hard figures, we used to have an average report-to-fix
|
||||
cycle of 142.6 hours (according to our somewhat weird bug-tracker
|
||||
which just measures wall-clock time). Since we moved to git, we've
|
||||
which just measures wall-clock time). Since we moved to Git, we've
|
||||
lowered that to 16.2 hours. Primarily because we can stay on top of
|
||||
the bug fixing now, and because everyone's jockeying to get to fix
|
||||
bugs (we're quite proud of how lazy we are to let git find the bugs
|
||||
bugs (we're quite proud of how lazy we are to let Git find the bugs
|
||||
for us). Each new release results in ~40% fewer bugs (almost certainly
|
||||
due to how we now feel about writing tests).
|
||||
_____________
|
||||
|
@ -1228,9 +1228,9 @@ commits in already released history, for example to change the commit
|
|||
message or the author. And it can also be used instead of git "grafts"
|
||||
to link a repository with another old repository.
|
||||
|
||||
In fact it's this last feature that "sold" it to the git community, so
|
||||
it is now in the "master" branch of git's git repository and it should
|
||||
be released in git 1.6.5 in October or November 2009.
|
||||
In fact it's this last feature that "sold" it to the Git community, so
|
||||
it is now in the "master" branch of Git's Git repository and it should
|
||||
be released in Git 1.6.5 in October or November 2009.
|
||||
|
||||
One problem with "git replace" is that currently it stores all the
|
||||
replacements refs in "refs/replace/", but it would be perhaps better
|
||||
|
@ -1324,7 +1324,7 @@ Acknowledgements
|
|||
----------------
|
||||
|
||||
Many thanks to Junio Hamano for his help in reviewing this paper, for
|
||||
reviewing the patches I sent to the git mailing list, for discussing
|
||||
reviewing the patches I sent to the Git mailing list, for discussing
|
||||
some ideas and helping me improve them, for improving "git bisect" a
|
||||
lot and for his awesome work in maintaining and developing Git.
|
||||
|
||||
|
@ -1337,7 +1337,7 @@ Many thanks to Linus Torvalds for inventing, developing and
|
|||
evangelizing "git bisect", Git and Linux.
|
||||
|
||||
Many thanks to the many other great people who helped one way or
|
||||
another when I worked on git, especially to Andreas Ericsson, Johannes
|
||||
another when I worked on Git, especially to Andreas Ericsson, Johannes
|
||||
Schindelin, H. Peter Anvin, Daniel Barkalow, Bill Lear, John Hawley,
|
||||
Shawn O. Pierce, Jeff King, Sam Vilain, Jon Seymour.
|
||||
|
||||
|
|
|
@ -169,14 +169,14 @@ the revision as good or bad in the usual manner.
|
|||
Bisect skip
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Instead of choosing by yourself a nearby commit, you can ask git
|
||||
Instead of choosing by yourself a nearby commit, you can ask Git
|
||||
to do it for you by issuing the command:
|
||||
|
||||
------------
|
||||
$ git bisect skip # Current version cannot be tested
|
||||
------------
|
||||
|
||||
But git may eventually be unable to tell the first bad commit among
|
||||
But Git may eventually be unable to tell the first bad commit among
|
||||
a bad commit and one or more skipped commits.
|
||||
|
||||
You can even skip a range of commits, instead of just one commit,
|
||||
|
|
|
@ -30,7 +30,7 @@ The report does not tell you anything about lines which have been deleted or
|
|||
replaced; you need to use a tool such as 'git diff' or the "pickaxe"
|
||||
interface briefly mentioned in the following paragraph.
|
||||
|
||||
Apart from supporting file annotation, git also supports searching the
|
||||
Apart from supporting file annotation, Git also supports searching the
|
||||
development history for when a code snippet occurred in a change. This makes it
|
||||
possible to track when a code snippet was added to a file, moved or copied
|
||||
between files, and eventually deleted or replaced. It works by searching for
|
||||
|
|
|
@ -45,7 +45,7 @@ Note that this will create the new branch, but it will not switch the
|
|||
working tree to it; use "git checkout <newbranch>" to switch to the
|
||||
new branch.
|
||||
|
||||
When a local branch is started off a remote-tracking branch, git sets up the
|
||||
When a local branch is started off a remote-tracking branch, Git sets up the
|
||||
branch so that 'git pull' will appropriately merge from
|
||||
the remote-tracking branch. This behavior may be changed via the global
|
||||
`branch.autosetupmerge` configuration flag. That setting can be
|
||||
|
|
|
@ -19,7 +19,7 @@ DESCRIPTION
|
|||
|
||||
Some workflows require that one or more branches of development on one
|
||||
machine be replicated on another machine, but the two machines cannot
|
||||
be directly connected, and therefore the interactive git protocols (git,
|
||||
be directly connected, and therefore the interactive Git protocols (git,
|
||||
ssh, rsync, http) cannot be used. This command provides support for
|
||||
'git fetch' and 'git pull' to operate by packaging objects and references
|
||||
in an archive at the originating machine, then importing those into
|
||||
|
|
|
@ -18,14 +18,14 @@ DESCRIPTION
|
|||
Checks if a given 'refname' is acceptable, and exits with a non-zero
|
||||
status if it is not.
|
||||
|
||||
A reference is used in git to specify branches and tags. A
|
||||
A reference is used in Git to specify branches and tags. A
|
||||
branch head is stored in the `refs/heads` hierarchy, while
|
||||
a tag is stored in the `refs/tags` hierarchy of the ref namespace
|
||||
(typically in `$GIT_DIR/refs/heads` and `$GIT_DIR/refs/tags`
|
||||
directories or, as entries in file `$GIT_DIR/packed-refs`
|
||||
if refs are packed by `git gc`).
|
||||
|
||||
git imposes the following rules on how references are named:
|
||||
Git imposes the following rules on how references are named:
|
||||
|
||||
. They can include slash `/` for hierarchical (directory)
|
||||
grouping, but no slash-separated component can begin with a
|
||||
|
|
|
@ -333,7 +333,7 @@ a---b---c---d branch 'master' (refers to commit 'd')
|
|||
tag 'v2.0' (refers to commit 'b')
|
||||
------------
|
||||
|
||||
In fact, we can perform all the normal git operations. But, let's look
|
||||
In fact, we can perform all the normal Git operations. But, let's look
|
||||
at what happens when we then checkout master:
|
||||
|
||||
------------
|
||||
|
@ -350,7 +350,7 @@ a---b---c---d branch 'master' (refers to commit 'd')
|
|||
|
||||
It is important to realize that at this point nothing refers to commit
|
||||
'f'. Eventually commit 'f' (and by extension commit 'e') will be deleted
|
||||
by the routine git garbage collection process, unless we create a reference
|
||||
by the routine Git garbage collection process, unless we create a reference
|
||||
before that happens. If we have not yet moved away from commit 'f',
|
||||
any of these will create a reference to it:
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ DESCRIPTION
|
|||
Cleans the working tree by recursively removing files that are not
|
||||
under version control, starting from the current directory.
|
||||
|
||||
Normally, only files unknown to git are removed, but if the '-x'
|
||||
Normally, only files unknown to Git are removed, but if the '-x'
|
||||
option is specified, ignored files are also removed. This can, for
|
||||
example, be useful to remove all build products.
|
||||
|
||||
|
@ -27,13 +27,13 @@ OPTIONS
|
|||
-------
|
||||
-d::
|
||||
Remove untracked directories in addition to untracked files.
|
||||
If an untracked directory is managed by a different git
|
||||
If an untracked directory is managed by a different Git
|
||||
repository, it is not removed by default. Use -f option twice
|
||||
if you really want to remove such a directory.
|
||||
|
||||
-f::
|
||||
--force::
|
||||
If the git configuration variable clean.requireForce is not set
|
||||
If the Git configuration variable clean.requireForce is not set
|
||||
to false, 'git clean' will refuse to run unless given -f or -n.
|
||||
|
||||
-n::
|
||||
|
@ -60,7 +60,7 @@ OPTIONS
|
|||
working directory to test a clean build.
|
||||
|
||||
-X::
|
||||
Remove only files ignored by git. This may be useful to rebuild
|
||||
Remove only files ignored by Git. This may be useful to rebuild
|
||||
everything from scratch, but keep manually created files.
|
||||
|
||||
SEE ALSO
|
||||
|
|
|
@ -43,7 +43,7 @@ OPTIONS
|
|||
--local::
|
||||
-l::
|
||||
When the repository to clone from is on a local machine,
|
||||
this flag bypasses the normal "git aware" transport
|
||||
this flag bypasses the normal "Git aware" transport
|
||||
mechanism and clones the repository by making a copy of
|
||||
HEAD and everything under objects and refs directories.
|
||||
The files under `.git/objects/` directory are hardlinked
|
||||
|
@ -54,11 +54,11 @@ this is the default, and --local is essentially a no-op. If the
|
|||
repository is specified as a URL, then this flag is ignored (and we
|
||||
never use the local optimizations). Specifying `--no-local` will
|
||||
override the default when `/path/to/repo` is given, using the regular
|
||||
git transport instead.
|
||||
Git transport instead.
|
||||
+
|
||||
To force copying instead of hardlinking (which may be desirable if you
|
||||
are trying to make a back-up of your repository), but still avoid the
|
||||
usual "git aware" transport mechanism, `--no-hardlinks` can be used.
|
||||
usual "Git aware" transport mechanism, `--no-hardlinks` can be used.
|
||||
|
||||
--no-hardlinks::
|
||||
Optimize the cloning process from a repository on a
|
||||
|
@ -76,9 +76,9 @@ usual "git aware" transport mechanism, `--no-hardlinks` can be used.
|
|||
*NOTE*: this is a possibly dangerous operation; do *not* use
|
||||
it unless you understand what it does. If you clone your
|
||||
repository using this option and then delete branches (or use any
|
||||
other git command that makes any existing commit unreferenced) in the
|
||||
other Git command that makes any existing commit unreferenced) in the
|
||||
source repository, some objects may become unreferenced (or dangling).
|
||||
These objects may be removed by normal git operations (such as `git commit`)
|
||||
These objects may be removed by normal Git operations (such as `git commit`)
|
||||
which automatically call `git gc --auto`. (See linkgit:git-gc[1].)
|
||||
If these objects are removed and were referenced by the cloned repository,
|
||||
then the cloned repository will become corrupt.
|
||||
|
@ -125,7 +125,7 @@ objects from the source repository into a pack in the cloned repository.
|
|||
No checkout of HEAD is performed after the clone is complete.
|
||||
|
||||
--bare::
|
||||
Make a 'bare' GIT repository. That is, instead of
|
||||
Make a 'bare' Git repository. That is, instead of
|
||||
creating `<directory>` and placing the administrative
|
||||
files in `<directory>/.git`, make the `<directory>`
|
||||
itself the `$GIT_DIR`. This obviously implies the `-n`
|
||||
|
@ -213,8 +213,8 @@ objects from the source repository into a pack in the cloned repository.
|
|||
--separate-git-dir=<git dir>::
|
||||
Instead of placing the cloned repository where it is supposed
|
||||
to be, place the cloned repository at the specified directory,
|
||||
then make a filesytem-agnostic git symbolic link to there.
|
||||
The result is git repository can be separated from working
|
||||
then make a filesytem-agnostic Git symbolic link to there.
|
||||
The result is Git repository can be separated from working
|
||||
tree.
|
||||
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ While a tree represents a particular directory state of a working
|
|||
directory, a commit represents that state in "time", and explains how
|
||||
to get there.
|
||||
|
||||
Normally a commit would identify a new "HEAD" state, and while git
|
||||
Normally a commit would identify a new "HEAD" state, and while Git
|
||||
doesn't care where you save the note about that state, in practice we
|
||||
tend to just write the result to the file that is pointed at by
|
||||
`.git/HEAD`, so that we can always see what the last committed
|
||||
|
|
|
@ -32,7 +32,7 @@ The content to be added can be specified in several ways:
|
|||
3. by listing files as arguments to the 'commit' command, in which
|
||||
case the commit will ignore changes staged in the index, and instead
|
||||
record the current content of the listed files (which must already
|
||||
be known to git);
|
||||
be known to Git);
|
||||
|
||||
4. by using the -a switch with the 'commit' command to automatically
|
||||
"add" changes from all known files (i.e. all files that are already
|
||||
|
@ -59,7 +59,7 @@ OPTIONS
|
|||
--all::
|
||||
Tell the command to automatically stage files that have
|
||||
been modified and deleted, but new files you have not
|
||||
told git about are not affected.
|
||||
told Git about are not affected.
|
||||
|
||||
-p::
|
||||
--patch::
|
||||
|
@ -404,7 +404,7 @@ Though not required, it's a good idea to begin the commit message
|
|||
with a single short (less than 50 character) line summarizing the
|
||||
change, followed by a blank line and then a more thorough description.
|
||||
The text up to the first blank line in a commit message is treated
|
||||
as the commit title, and that title is used throughout git.
|
||||
as the commit title, and that title is used throughout Git.
|
||||
For example, linkgit:git-format-patch[1] turns a commit into email, and it uses
|
||||
the title on the Subject line and the rest of the commit in the body.
|
||||
|
||||
|
|
|
@ -14,13 +14,13 @@ git config credential.helper 'cache [options]'
|
|||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
This command caches credentials in memory for use by future git
|
||||
This command caches credentials in memory for use by future Git
|
||||
programs. The stored credentials never touch the disk, and are forgotten
|
||||
after a configurable timeout. The cache is accessible over a Unix
|
||||
domain socket, restricted to the current user by filesystem permissions.
|
||||
|
||||
You probably don't want to invoke this command directly; it is meant to
|
||||
be used as a credential helper by other parts of git. See
|
||||
be used as a credential helper by other parts of Git. See
|
||||
linkgit:gitcredentials[7] or `EXAMPLES` below.
|
||||
|
||||
OPTIONS
|
||||
|
|
|
@ -20,7 +20,7 @@ security tradeoff, try linkgit:git-credential-cache[1], or find a helper
|
|||
that integrates with secure storage provided by your operating system.
|
||||
|
||||
This command stores credentials indefinitely on disk for use by future
|
||||
git programs.
|
||||
Git programs.
|
||||
|
||||
You probably don't want to invoke this command directly; it is meant to
|
||||
be used as a credential helper by other parts of git. See
|
||||
|
@ -63,11 +63,11 @@ stored on its own line as a URL like:
|
|||
https://user:pass@example.com
|
||||
------------------------------
|
||||
|
||||
When git needs authentication for a particular URL context,
|
||||
When Git needs authentication for a particular URL context,
|
||||
credential-store will consider that context a pattern to match against
|
||||
each entry in the credentials file. If the protocol, hostname, and
|
||||
username (if we already have one) match, then the password is returned
|
||||
to git. See the discussion of configuration in linkgit:gitcredentials[7]
|
||||
to Git. See the discussion of configuration in linkgit:gitcredentials[7]
|
||||
for more information.
|
||||
|
||||
GIT
|
||||
|
|
|
@ -18,9 +18,9 @@ Git has an internal interface for storing and retrieving credentials
|
|||
from system-specific helpers, as well as prompting the user for
|
||||
usernames and passwords. The git-credential command exposes this
|
||||
interface to scripts which may want to retrieve, store, or prompt for
|
||||
credentials in the same manner as git. The design of this scriptable
|
||||
credentials in the same manner as Git. The design of this scriptable
|
||||
interface models the internal C API; see
|
||||
link:technical/api-credentials.txt[the git credential API] for more
|
||||
link:technical/api-credentials.txt[the Git credential API] for more
|
||||
background on the concepts.
|
||||
|
||||
git-credential takes an "action" option on the command-line (one of
|
||||
|
@ -74,7 +74,7 @@ infomation it has):
|
|||
password=secr3t
|
||||
+
|
||||
In most cases, this means the attributes given in the input will be
|
||||
repeated in the output, but git may also modify the credential
|
||||
repeated in the output, but Git may also modify the credential
|
||||
description, for example by removing the `path` attribute when the
|
||||
protocol is HTTP(s) and `credential.useHttpPath` is false.
|
||||
+
|
||||
|
|
|
@ -15,8 +15,8 @@ SYNOPSIS
|
|||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Exports a commit from GIT to a CVS checkout, making it easier
|
||||
to merge patches from a git repository into a CVS repository.
|
||||
Exports a commit from Git to a CVS checkout, making it easier
|
||||
to merge patches from a Git repository into a CVS repository.
|
||||
|
||||
Specify the name of a CVS checkout using the -w switch or execute it
|
||||
from the root of the CVS working copy. In the latter case GIT_DIR must
|
||||
|
@ -71,7 +71,7 @@ OPTIONS
|
|||
-w::
|
||||
Specify the location of the CVS checkout to use for the export. This
|
||||
option does not require GIT_DIR to be set before execution if the
|
||||
current directory is within a git repository. The default is the
|
||||
current directory is within a Git repository. The default is the
|
||||
value of 'cvsexportcommit.cvsdir'.
|
||||
|
||||
-W::
|
||||
|
|
|
@ -24,7 +24,7 @@ performing a one-shot import of a CVS repository consider using
|
|||
link:http://cvs2svn.tigris.org/cvs2git.html[cvs2git] or
|
||||
link:https://github.com/BartMassey/parsecvs[parsecvs].
|
||||
|
||||
Imports a CVS repository into git. It will either create a new
|
||||
Imports a CVS repository into Git. It will either create a new
|
||||
repository, or incrementally import into an existing one.
|
||||
|
||||
Splitting the CVS log into patch sets is done by 'cvsps'.
|
||||
|
@ -65,18 +65,18 @@ OPTIONS
|
|||
`CVS/Repository`.
|
||||
|
||||
-C <target-dir>::
|
||||
The git repository to import to. If the directory doesn't
|
||||
The Git repository to import to. If the directory doesn't
|
||||
exist, it will be created. Default is the current directory.
|
||||
|
||||
-r <remote>::
|
||||
The git remote to import this CVS repository into.
|
||||
The Git remote to import this CVS repository into.
|
||||
Moves all CVS branches into remotes/<remote>/<branch>
|
||||
akin to the way 'git clone' uses 'origin' by default.
|
||||
|
||||
-o <branch-for-HEAD>::
|
||||
When no remote is specified (via -r) the 'HEAD' branch
|
||||
from CVS is imported to the 'origin' branch within the git
|
||||
repository, as 'HEAD' already has a special meaning for git.
|
||||
from CVS is imported to the 'origin' branch within the Git
|
||||
repository, as 'HEAD' already has a special meaning for Git.
|
||||
When a remote is specified the 'HEAD' branch is named
|
||||
remotes/<remote>/master mirroring 'git clone' behaviour.
|
||||
Use this option if you want to import into a different
|
||||
|
|
|
@ -3,7 +3,7 @@ git-cvsserver(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-cvsserver - A CVS server emulator for git
|
||||
git-cvsserver - A CVS server emulator for Git
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -60,7 +60,7 @@ unless '--export-all' was given, too.
|
|||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
This application is a CVS emulation layer for git.
|
||||
This application is a CVS emulation layer for Git.
|
||||
|
||||
It is highly functional. However, not all methods are implemented,
|
||||
and for those methods that are implemented,
|
||||
|
@ -72,9 +72,9 @@ plugin. Most functionality works fine with both of these clients.
|
|||
LIMITATIONS
|
||||
-----------
|
||||
|
||||
CVS clients cannot tag, branch or perform GIT merges.
|
||||
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.
|
||||
|
||||
|
@ -130,7 +130,7 @@ Then provide your password via the pserver method, for example:
|
|||
------
|
||||
cvs -d:pserver:someuser:somepassword <at> server/path/repo.git co <HEAD_name>
|
||||
------
|
||||
No special setup is needed for SSH access, other than having GIT tools
|
||||
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`.
|
||||
|
||||
|
@ -160,9 +160,9 @@ with CVS_SERVER (and shouldn't) as 'git-shell' understands `cvs` to mean
|
|||
Note: you need to ensure each user that is going to invoke 'git-cvsserver' has
|
||||
write access to the log file and to the database (see
|
||||
<<dbbackend,Database Backend>>. If you want to offer write access over
|
||||
SSH, the users of course also need write access to the git repository itself.
|
||||
SSH, the users of course also need write access to the Git repository itself.
|
||||
|
||||
You also need to ensure that each repository is "bare" (without a git index
|
||||
You also need to ensure that each repository is "bare" (without a Git index
|
||||
file) for `cvs commit` to work. See linkgit:gitcvs-migration[7].
|
||||
|
||||
[[configaccessmethod]]
|
||||
|
@ -181,7 +181,7 @@ allowing access over SSH.
|
|||
3. If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout command,
|
||||
automatically saving it in your 'CVS/Root' files, then you need to set them
|
||||
explicitly in your environment. CVSROOT should be set as per normal, but the
|
||||
directory should point at the appropriate git repo. As above, for SSH clients
|
||||
directory should point at the appropriate Git repo. As above, for SSH clients
|
||||
_not_ restricted to 'git-shell', CVS_SERVER should be set to 'git-cvsserver'.
|
||||
+
|
||||
--
|
||||
|
@ -197,7 +197,7 @@ allowing access over SSH.
|
|||
shell is bash, .bashrc may be a reasonable alternative.
|
||||
|
||||
5. Clients should now be able to check out the project. Use the CVS 'module'
|
||||
name to indicate what GIT 'head' you want to check out. This also sets the
|
||||
name to indicate what Git 'head' you want to check out. This also sets the
|
||||
name of your newly checked-out directory, unless you tell it otherwise with
|
||||
`-d <dir_name>`. For example, this checks out 'master' branch to the
|
||||
`project-master` directory:
|
||||
|
@ -210,7 +210,7 @@ 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 to maintain consistent
|
||||
CVS revision numbers. The database needs to be
|
||||
updated (i.e. written to) after every commit.
|
||||
|
@ -225,7 +225,7 @@ 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).
|
||||
|
||||
By default it uses SQLite databases in the git directory, named
|
||||
By default it uses SQLite databases in the Git directory, named
|
||||
`gitcvs.<module_name>.sqlite`. Note that the SQLite backend creates
|
||||
temporary files in the same directory as the database file on
|
||||
write so it might not be enough to grant the users using
|
||||
|
@ -291,14 +291,14 @@ Variable substitution
|
|||
In `dbdriver` and `dbuser` you can use the following variables:
|
||||
|
||||
%G::
|
||||
git directory name
|
||||
Git directory name
|
||||
%g::
|
||||
git directory name, where all characters except for
|
||||
Git directory name, where all characters except for
|
||||
alpha-numeric ones, `.`, and `-` are replaced with
|
||||
`_` (this should make it easier to use the directory
|
||||
name in a filename if wanted)
|
||||
%m::
|
||||
CVS module/git head name
|
||||
CVS module/Git head name
|
||||
%a::
|
||||
access method (one of "ext" or "pserver")
|
||||
%u::
|
||||
|
|
|
@ -3,7 +3,7 @@ git-daemon(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-daemon - A really simple server for git repositories
|
||||
git-daemon - A really simple server for Git repositories
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -22,12 +22,12 @@ SYNOPSIS
|
|||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
A really simple TCP git daemon that normally listens on port "DEFAULT_GIT_PORT"
|
||||
A really simple TCP Git daemon that normally listens on port "DEFAULT_GIT_PORT"
|
||||
aka 9418. It waits for a connection asking for a service, and will serve
|
||||
that service if it is enabled.
|
||||
|
||||
It verifies that the directory has the magic file "git-daemon-export-ok", and
|
||||
it will refuse to export any git directory that hasn't explicitly been marked
|
||||
it will refuse to export any Git directory that hasn't explicitly been marked
|
||||
for export this way (unless the '--export-all' parameter is specified). If you
|
||||
pass some directory paths as 'git daemon' arguments, you can further restrict
|
||||
the offers to a whitelist comprising of those.
|
||||
|
@ -37,7 +37,7 @@ By default, only `upload-pack` service is enabled, which serves
|
|||
from 'git fetch', 'git pull', and 'git clone'.
|
||||
|
||||
This is ideally suited for read-only updates, i.e., pulling from
|
||||
git repositories.
|
||||
Git repositories.
|
||||
|
||||
An `upload-archive` also exists to serve 'git archive'.
|
||||
|
||||
|
@ -51,7 +51,7 @@ OPTIONS
|
|||
|
||||
--base-path=<path>::
|
||||
Remap all the path requests as relative to the given path.
|
||||
This is sort of "GIT root" - if you run 'git daemon' with
|
||||
This is sort of "Git root" - if you run 'git daemon' with
|
||||
'--base-path=/srv/git' on example.com, then if you later try to pull
|
||||
'git://example.com/hello.git', 'git daemon' will interpret the path
|
||||
as '/srv/git/hello.git'.
|
||||
|
@ -73,7 +73,7 @@ OPTIONS
|
|||
whitelist.
|
||||
|
||||
--export-all::
|
||||
Allow pulling from all directories that look like GIT repositories
|
||||
Allow pulling from all directories that look like Git repositories
|
||||
(have the 'objects' and 'refs' subdirectories), even if they
|
||||
do not have the 'git-daemon-export-ok' file.
|
||||
|
||||
|
|
|
@ -131,7 +131,7 @@ closest tagname without any suffix:
|
|||
|
||||
Note that the suffix you get if you type these commands today may be
|
||||
longer than what Linus saw above when he ran these commands, as your
|
||||
git repository may have new commits whose object names begin with
|
||||
Git repository may have new commits whose object names begin with
|
||||
975b that did not exist back then, and "-g975b" suffix alone may not
|
||||
be sufficient to disambiguate these commits.
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ between two files on disk.
|
|||
|
||||
This form is to view the changes you made relative to
|
||||
the index (staging area for the next commit). In other
|
||||
words, the differences are what you _could_ tell git to
|
||||
words, the differences are what you _could_ tell Git to
|
||||
further add to the index but you still haven't. You can
|
||||
stage these changes by using linkgit:git-add[1].
|
||||
+
|
||||
|
|
|
@ -12,7 +12,7 @@ SYNOPSIS
|
|||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
'git difftool' is a git command that allows you to compare and edit files
|
||||
'git difftool' is a Git command that allows you to compare and edit files
|
||||
between revisions using common diff tools. 'git difftool' is a frontend
|
||||
to 'git diff' and accepts the same options and arguments. See
|
||||
linkgit:git-diff[1].
|
||||
|
|
|
@ -80,7 +80,7 @@ Using --recurse-submodules can only fetch new commits in already checked
|
|||
out submodules right now. When e.g. upstream added a new submodule in the
|
||||
just fetched commits of the superproject the submodule itself can not be
|
||||
fetched, making it impossible to check out that submodule later without
|
||||
having to do a fetch again. This is expected to be fixed in a future git
|
||||
having to do a fetch again. This is expected to be fixed in a future Git
|
||||
version.
|
||||
|
||||
SEE ALSO
|
||||
|
|
|
@ -18,7 +18,7 @@ SYNOPSIS
|
|||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Lets you rewrite git revision history by rewriting the branches mentioned
|
||||
Lets you rewrite Git revision history by rewriting the branches mentioned
|
||||
in the <rev-list options>, applying custom filters on each revision.
|
||||
Those filters can modify each tree (e.g. removing a file or running
|
||||
a perl rewrite on all files) or information about each commit.
|
||||
|
@ -29,7 +29,7 @@ The command will only rewrite the _positive_ refs mentioned in the
|
|||
command line (e.g. if you pass 'a..b', only 'b' will be rewritten).
|
||||
If you specify no filters, the commits will be recommitted without any
|
||||
changes, which would normally have no effect. Nevertheless, this may be
|
||||
useful in the future for compensating for some git bugs or such,
|
||||
useful in the future for compensating for some Git bugs or such,
|
||||
therefore such a usage is permitted.
|
||||
|
||||
*NOTE*: This command honors `.git/info/grafts` file and refs in
|
||||
|
@ -374,7 +374,7 @@ git-filter-branch is often used to get rid of a subset of files,
|
|||
usually with some combination of `--index-filter` and
|
||||
`--subdirectory-filter`. People expect the resulting repository to
|
||||
be smaller than the original, but you need a few more steps to
|
||||
actually make it smaller, because git tries hard not to lose your
|
||||
actually make it smaller, because Git tries hard not to lose your
|
||||
objects until you tell it to. First make sure that:
|
||||
|
||||
* You really removed all variants of a filename, if a blob was moved
|
||||
|
|
|
@ -208,14 +208,14 @@ The expected use case of this is to write supporting explanation for
|
|||
the commit that does not belong to the commit log message proper,
|
||||
and include it with the patch submission. While one can simply write
|
||||
these explanations after `format-patch` has run but before sending,
|
||||
keeping them as git notes allows them to be maintained between versions
|
||||
keeping them as Git notes allows them to be maintained between versions
|
||||
of the patch series (but see the discussion of the `notes.rewrite`
|
||||
configuration options in linkgit:git-notes[1] to use this workflow).
|
||||
|
||||
--[no]-signature=<signature>::
|
||||
Add a signature to each message produced. Per RFC 3676 the signature
|
||||
is separated from the body by a line with '-- ' on it. If the
|
||||
signature option is omitted the signature defaults to the git version
|
||||
signature option is omitted the signature defaults to the Git version
|
||||
number.
|
||||
|
||||
--suffix=.<sfx>::
|
||||
|
@ -389,7 +389,7 @@ Thunderbird
|
|||
~~~~~~~~~~~
|
||||
By default, Thunderbird will both wrap emails as well as flag
|
||||
them as being 'format=flowed', both of which will make the
|
||||
resulting email unusable by git.
|
||||
resulting email unusable by Git.
|
||||
|
||||
There are three different approaches: use an add-on to turn off line wraps,
|
||||
configure Thunderbird to not mangle patches, or use
|
||||
|
@ -525,8 +525,8 @@ $ git format-patch -M -B origin
|
|||
Additionally, it detects and handles renames and complete rewrites
|
||||
intelligently to produce a renaming patch. A renaming patch reduces
|
||||
the amount of text output, and generally makes it easier to review.
|
||||
Note that non-git "patch" programs won't understand renaming patches, so
|
||||
use it only when you know the recipient uses git to apply your patch.
|
||||
Note that non-Git "patch" programs won't understand renaming patches, so
|
||||
use it only when you know the recipient uses Git to apply your patch.
|
||||
|
||||
* Extract three topmost commits from the current branch and format them
|
||||
as e-mailable patches:
|
||||
|
|
|
@ -56,7 +56,7 @@ index file, all SHA1 references in `refs` namespace, and all reflogs
|
|||
($GIT_DIR/objects), but also the ones found in alternate
|
||||
object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES
|
||||
or $GIT_DIR/objects/info/alternates,
|
||||
and in packed git archives found in $GIT_DIR/objects/pack
|
||||
and in packed Git archives found in $GIT_DIR/objects/pack
|
||||
and corresponding pack subdirectories in alternate
|
||||
object pools. This is now default; you can turn it off
|
||||
with --no-full.
|
||||
|
@ -64,8 +64,8 @@ index file, all SHA1 references in `refs` namespace, and all reflogs
|
|||
--strict::
|
||||
Enable more strict checking, namely to catch a file mode
|
||||
recorded with g+w bit set, which was created by older
|
||||
versions of git. Existing repositories, including the
|
||||
Linux kernel, git itself, and sparse repository have old
|
||||
versions of Git. Existing repositories, including the
|
||||
Linux kernel, Git itself, and sparse repository have old
|
||||
objects that triggers this check, but it is recommended
|
||||
to check new projects with this flag.
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ OPTIONS
|
|||
blobs registered in the index file.
|
||||
|
||||
--no-index::
|
||||
Search files in the current directory that is not managed by git.
|
||||
Search files in the current directory that is not managed by Git.
|
||||
|
||||
--untracked::
|
||||
In addition to searching in the tracked files in the working
|
||||
|
|
|
@ -102,7 +102,7 @@ Examples
|
|||
SEE ALSO
|
||||
--------
|
||||
linkgit:gitk[1]::
|
||||
The git repository browser. Shows branches, commit history
|
||||
The Git repository browser. Shows branches, commit history
|
||||
and file differences. gitk is the utility started by
|
||||
'git gui''s Repository Visualize actions.
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ OPTIONS
|
|||
--path::
|
||||
Hash object as it were located at the given path. The location of
|
||||
file does not directly influence on the hash value, but path is
|
||||
used to determine what git filters should be applied to the object
|
||||
used to determine what Git filters should be applied to the object
|
||||
before it can be placed to the object database, and, as result of
|
||||
applying filters, the actual blob put into the object database may
|
||||
differ from the given file. This option is mainly useful for hashing
|
||||
|
|
|
@ -3,7 +3,7 @@ git-help(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-help - display help information about git
|
||||
git-help - Display help information about Git
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -14,13 +14,13 @@ DESCRIPTION
|
|||
-----------
|
||||
|
||||
With no options and no COMMAND given, the synopsis of the 'git'
|
||||
command and a list of the most commonly used git commands are printed
|
||||
command and a list of the most commonly used Git commands are printed
|
||||
on the standard output.
|
||||
|
||||
If the option '--all' or '-a' is given, then all available commands are
|
||||
printed on the standard output.
|
||||
|
||||
If a git command is named, a manual page for that command is brought
|
||||
If a Git subcommand is named, a manual page for that subcommand is brought
|
||||
up. The 'man' program is used by default for this purpose, but this
|
||||
can be overridden by other options or configuration variables.
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ and the backwards-compatible dumb HTTP protocol, as well as clients
|
|||
pushing using the smart HTTP protocol.
|
||||
|
||||
It verifies that the directory has the magic file
|
||||
"git-daemon-export-ok", and it will refuse to export any git directory
|
||||
"git-daemon-export-ok", and it will refuse to export any Git directory
|
||||
that hasn't explicitly been marked for export this way (unless the
|
||||
GIT_HTTP_EXPORT_ALL environmental variable is set).
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ git-http-fetch(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-http-fetch - Download from a remote git repository via HTTP
|
||||
git-http-fetch - Download from a remote Git repository via HTTP
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
|
@ -13,7 +13,7 @@ SYNOPSIS
|
|||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Downloads a remote git repository via HTTP.
|
||||
Downloads a remote Git repository via HTTP.
|
||||
|
||||
*NOTE*: use of this command without -a is deprecated. The -a
|
||||
behaviour will become the default in a future release.
|
||||
|
|
|
@ -19,7 +19,7 @@ DESCRIPTION
|
|||
Reads a packed archive (.pack) from the specified file, and
|
||||
builds a pack index file (.idx) for it. The packed archive
|
||||
together with the pack index can then be placed in the
|
||||
objects/pack/ directory of a git repository.
|
||||
objects/pack/ directory of a Git repository.
|
||||
|
||||
|
||||
OPTIONS
|
||||
|
@ -39,7 +39,7 @@ OPTIONS
|
|||
When this flag is provided, the pack is read from stdin
|
||||
instead and a copy is then written to <pack-file>. If
|
||||
<pack-file> is not specified, the pack is written to
|
||||
objects/pack/ directory of the current git repository with
|
||||
objects/pack/ directory of the current Git repository with
|
||||
a default name determined from the pack content. If
|
||||
<pack-file> is not specified consider using --keep to
|
||||
prevent a race condition between this process and
|
||||
|
@ -81,7 +81,7 @@ OPTIONS
|
|||
This is meant to reduce packing time on multiprocessor
|
||||
machines. The required amount of memory for the delta search
|
||||
window is however multiplied by the number of threads.
|
||||
Specifying 0 will cause git to auto-detect the number of CPU's
|
||||
Specifying 0 will cause Git to auto-detect the number of CPU's
|
||||
and use maximum 3 threads.
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ git-init-db(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-init-db - Creates an empty git repository
|
||||
git-init-db - Creates an empty Git repository
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
|
|
|
@ -3,7 +3,7 @@ git-init(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-init - Create an empty git repository or reinitialize an existing one
|
||||
git-init - Create an empty Git repository or reinitialize an existing one
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
|
@ -17,7 +17,7 @@ SYNOPSIS
|
|||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
This command creates an empty git repository - basically a `.git`
|
||||
This command creates an empty Git repository - basically a `.git`
|
||||
directory with subdirectories for `objects`, `refs/heads`,
|
||||
`refs/tags`, and template files. An initial `HEAD` file that
|
||||
references the HEAD of the master branch is also created.
|
||||
|
@ -58,19 +58,19 @@ DIRECTORY" section below.)
|
|||
--separate-git-dir=<git dir>::
|
||||
|
||||
Instead of initializing the repository where it is supposed to be,
|
||||
place a filesytem-agnostic git symbolic link there, pointing to the
|
||||
specified git path, and initialize a git repository at the path. The
|
||||
result is git repository can be separated from working tree. If this
|
||||
place a filesytem-agnostic Git symbolic link there, pointing to the
|
||||
specified path, and initialize a Git repository at the path. The
|
||||
result is Git repository can be separated from working tree. If this
|
||||
is reinitialization, the repository will be moved to the specified
|
||||
path.
|
||||
|
||||
--shared[=(false|true|umask|group|all|world|everybody|0xxx)]::
|
||||
|
||||
Specify that the git repository is to be shared amongst several users. This
|
||||
Specify that the Git repository is to be shared amongst several users. This
|
||||
allows users belonging to the same group to push into that
|
||||
repository. When specified, the config variable "core.sharedRepository" is
|
||||
set so that files and directories under `$GIT_DIR` are created with the
|
||||
requested permissions. When not specified, git will use permissions reported
|
||||
requested permissions. When not specified, Git will use permissions reported
|
||||
by umask(2).
|
||||
|
||||
The option can have the following values, defaulting to 'group' if no value
|
||||
|
@ -130,7 +130,7 @@ The suggested patterns and hook files are all modifiable and extensible.
|
|||
EXAMPLES
|
||||
--------
|
||||
|
||||
Start a new git repository for an existing code base::
|
||||
Start a new Git repository for an existing code base::
|
||||
+
|
||||
----------------
|
||||
$ cd /path/to/my/codebase
|
||||
|
|
|
@ -64,7 +64,7 @@ produced by --stat etc.
|
|||
|
||||
--log-size::
|
||||
Before the log message print out its size in bytes. Intended
|
||||
mainly for porcelain tools consumption. If git is unable to
|
||||
mainly for porcelain tools consumption. If Git is unable to
|
||||
produce a valid value size is set to zero.
|
||||
Note that only message is considered, if also a diff is shown
|
||||
its size is not included.
|
||||
|
|
|
@ -92,7 +92,7 @@ OPTIONS
|
|||
directory and its subdirectories in <file>.
|
||||
|
||||
--exclude-standard::
|
||||
Add the standard git exclusions: .git/info/exclude, .gitignore
|
||||
Add the standard Git exclusions: .git/info/exclude, .gitignore
|
||||
in each directory, and the user's global exclusion file.
|
||||
|
||||
--error-unmatch::
|
||||
|
|
|
@ -41,13 +41,13 @@ 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
|
||||
Typically this is run with a script calling Git's imitation of
|
||||
the 'merge' command from the RCS package.
|
||||
|
||||
A sample script called 'git merge-one-file' is included in the
|
||||
distribution.
|
||||
|
||||
ALERT ALERT ALERT! The git "merge object order" is different from the
|
||||
ALERT ALERT ALERT! The Git "merge object order" is different from the
|
||||
RCS 'merge' program merge object order. In the above ordering, the
|
||||
original is first. But the argument order to the 3-way merge program
|
||||
'merge' is to have the original in the middle. Don't ask me why.
|
||||
|
|
|
@ -178,10 +178,10 @@ of the merge. Among the changes made to the common ancestor's version,
|
|||
non-overlapping ones (that is, you changed an area of the file while the
|
||||
other side left that area intact, or vice versa) are incorporated in the
|
||||
final result verbatim. When both sides made changes to the same area,
|
||||
however, git cannot randomly pick one side over the other, and asks you to
|
||||
however, Git cannot randomly pick one side over the other, and asks you to
|
||||
resolve it by leaving what both sides did to that area.
|
||||
|
||||
By default, git uses the same style as the one used by the "merge" program
|
||||
By default, Git uses the same style as the one used by the "merge" program
|
||||
from the RCS suite to present such a conflicted hunk, like this:
|
||||
|
||||
------------
|
||||
|
|
|
@ -3,7 +3,7 @@ git-mergetool{litdd}lib(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-mergetool--lib - Common git merge tool shell scriptlets
|
||||
git-mergetool--lib - Common Git merge tool shell scriptlets
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -19,7 +19,7 @@ Porcelain-ish scripts and/or are writing new ones.
|
|||
|
||||
The 'git-mergetool{litdd}lib' scriptlet is designed to be sourced (using
|
||||
`.`) by other shell scripts to set up functions for working
|
||||
with git merge tools.
|
||||
with Git merge tools.
|
||||
|
||||
Before sourcing 'git-mergetool{litdd}lib', your script must set `TOOL_MODE`
|
||||
to define the operation mode for the functions listed below.
|
||||
|
|
|
@ -28,9 +28,9 @@ A tag signature file has a very simple fixed format: four lines of
|
|||
tagger <tagger>
|
||||
|
||||
followed by some 'optional' free-form message (some tags created
|
||||
by older git may not have `tagger` line). The message, when
|
||||
by older Git may not have `tagger` line). The message, when
|
||||
exists, is separated by a blank line from the header. The
|
||||
message part may contain a signature that git itself doesn't
|
||||
message part may contain a signature that Git itself doesn't
|
||||
care about, but that can be verified with gpg.
|
||||
|
||||
GIT
|
||||
|
|
|
@ -34,7 +34,7 @@ OPTIONS
|
|||
-k::
|
||||
Skip move or rename actions which would lead to an error
|
||||
condition. An error happens when a source is neither existing nor
|
||||
controlled by GIT, or when it would overwrite an existing
|
||||
controlled by Git, or when it would overwrite an existing
|
||||
file unless '-f' is given.
|
||||
-n::
|
||||
--dry-run::
|
||||
|
|
|
@ -18,13 +18,13 @@ SYNOPSIS
|
|||
DESCRIPTION
|
||||
-----------
|
||||
This command provides a way to interact with p4 repositories
|
||||
using git.
|
||||
using Git.
|
||||
|
||||
Create a new git repository from an existing p4 repository using
|
||||
Create a new Git repository from an existing p4 repository using
|
||||
'git p4 clone', giving it one or more p4 depot paths. Incorporate
|
||||
new commits from p4 changes with 'git p4 sync'. The 'sync' command
|
||||
is also used to include new branches from other p4 depot paths.
|
||||
Submit git changes back to p4 using 'git p4 submit'. The command
|
||||
Submit Git changes back to p4 using 'git p4 submit'. The command
|
||||
'git p4 rebase' does a sync plus rebases the current branch onto
|
||||
the updated p4 remote branch.
|
||||
|
||||
|
@ -37,7 +37,7 @@ EXAMPLE
|
|||
$ git p4 clone //depot/path/project
|
||||
------------
|
||||
|
||||
* Do some work in the newly created git repository:
|
||||
* Do some work in the newly created Git repository:
|
||||
+
|
||||
------------
|
||||
$ cd project
|
||||
|
@ -45,7 +45,7 @@ $ vi foo.h
|
|||
$ git commit -a -m "edited foo.h"
|
||||
------------
|
||||
|
||||
* Update the git repository with recent changes from p4, rebasing your
|
||||
* Update the Git repository with recent changes from p4, rebasing your
|
||||
work on top:
|
||||
+
|
||||
------------
|
||||
|
@ -64,21 +64,21 @@ COMMANDS
|
|||
|
||||
Clone
|
||||
~~~~~
|
||||
Generally, 'git p4 clone' is used to create a new git directory
|
||||
Generally, 'git p4 clone' is used to create a new Git directory
|
||||
from an existing p4 repository:
|
||||
------------
|
||||
$ git p4 clone //depot/path/project
|
||||
------------
|
||||
This:
|
||||
|
||||
1. Creates an empty git repository in a subdirectory called 'project'.
|
||||
1. Creates an empty Git repository in a subdirectory called 'project'.
|
||||
+
|
||||
2. Imports the full contents of the head revision from the given p4
|
||||
depot path into a single commit in the git branch 'refs/remotes/p4/master'.
|
||||
depot path into a single commit in the Git branch 'refs/remotes/p4/master'.
|
||||
+
|
||||
3. Creates a local branch, 'master' from this remote and checks it out.
|
||||
|
||||
To reproduce the entire p4 history in git, use the '@all' modifier on
|
||||
To reproduce the entire p4 history in Git, use the '@all' modifier on
|
||||
the depot path:
|
||||
------------
|
||||
$ git p4 clone //depot/path/project@all
|
||||
|
@ -88,13 +88,13 @@ $ git p4 clone //depot/path/project@all
|
|||
Sync
|
||||
~~~~
|
||||
As development continues in the p4 repository, those changes can
|
||||
be included in the git repository using:
|
||||
be included in the Git repository using:
|
||||
------------
|
||||
$ git p4 sync
|
||||
------------
|
||||
This command finds new changes in p4 and imports them as git commits.
|
||||
This command finds new changes in p4 and imports them as Git commits.
|
||||
|
||||
P4 repositories can be added to an existing git repository using
|
||||
P4 repositories can be added to an existing Git repository using
|
||||
'git p4 sync' too:
|
||||
------------
|
||||
$ mkdir repo-git
|
||||
|
@ -103,14 +103,14 @@ $ git init
|
|||
$ git p4 sync //path/in/your/perforce/depot
|
||||
------------
|
||||
This imports the specified depot into
|
||||
'refs/remotes/p4/master' in an existing git repository. The
|
||||
'refs/remotes/p4/master' in an existing Git repository. The
|
||||
'--branch' option can be used to specify a different branch to
|
||||
be used for the p4 content.
|
||||
|
||||
If a git repository includes branches 'refs/remotes/origin/p4', these
|
||||
If a Git repository includes branches 'refs/remotes/origin/p4', these
|
||||
will be fetched and consulted first during a 'git p4 sync'. Since
|
||||
importing directly from p4 is considerably slower than pulling changes
|
||||
from a git remote, this can be useful in a multi-developer environment.
|
||||
from a Git remote, this can be useful in a multi-developer environment.
|
||||
|
||||
If there are multiple branches, doing 'git p4 sync' will automatically
|
||||
use the "BRANCH DETECTION" algorithm to try to partition new changes
|
||||
|
@ -132,13 +132,13 @@ $ git p4 rebase
|
|||
|
||||
Submit
|
||||
~~~~~~
|
||||
Submitting changes from a git repository back to the p4 repository
|
||||
Submitting changes from a Git repository back to the p4 repository
|
||||
requires a separate p4 client workspace. This should be specified
|
||||
using the 'P4CLIENT' environment variable or the git configuration
|
||||
using the 'P4CLIENT' environment variable or the Git configuration
|
||||
variable 'git-p4.client'. The p4 client must exist, but the client root
|
||||
will be created and populated if it does not already exist.
|
||||
|
||||
To submit all changes that are in the current git branch but not in
|
||||
To submit all changes that are in the current Git branch but not in
|
||||
the 'p4/master' branch, use:
|
||||
------------
|
||||
$ git p4 submit
|
||||
|
@ -154,7 +154,7 @@ be overridden using the '--origin=' command-line option.
|
|||
|
||||
The p4 changes will be created as the user invoking 'git p4 submit'. The
|
||||
'--preserve-user' option will cause ownership to be modified
|
||||
according to the author of the git commit. This option requires admin
|
||||
according to the author of the Git commit. This option requires admin
|
||||
privileges in p4, which can be granted using 'p4 protect'.
|
||||
|
||||
|
||||
|
@ -185,7 +185,7 @@ subsequent 'sync' operations.
|
|||
branch is 'master'.
|
||||
+
|
||||
This example imports a new remote "p4/proj2" into an existing
|
||||
git repository:
|
||||
Git repository:
|
||||
+
|
||||
----
|
||||
$ git init
|
||||
|
@ -206,11 +206,11 @@ git repository:
|
|||
|
||||
--detect-labels::
|
||||
Query p4 for labels associated with the depot paths, and add
|
||||
them as tags in git. Limited usefulness as only imports labels
|
||||
them as tags in Git. Limited usefulness as only imports labels
|
||||
associated with new changelists. Deprecated.
|
||||
|
||||
--import-labels::
|
||||
Import labels from p4 into git.
|
||||
Import labels from p4 into Git.
|
||||
|
||||
--import-local::
|
||||
By default, p4 branches are stored in 'refs/remotes/p4/',
|
||||
|
@ -226,12 +226,12 @@ git repository:
|
|||
specifier.
|
||||
|
||||
--keep-path::
|
||||
The mapping of file names from the p4 depot path to git, by
|
||||
The mapping of file names from the p4 depot path to Git, by
|
||||
default, involves removing the entire depot path. With this
|
||||
option, the full p4 depot path is retained in git. For example,
|
||||
option, the full p4 depot path is retained in Git. For example,
|
||||
path '//depot/main/foo/bar.c', when imported from
|
||||
'//depot/main/', becomes 'foo/bar.c'. With '--keep-path', the
|
||||
git path is instead 'depot/main/foo/bar.c'.
|
||||
Git path is instead 'depot/main/foo/bar.c'.
|
||||
|
||||
--use-client-spec::
|
||||
Use a client spec to find the list of interesting files in p4.
|
||||
|
@ -243,7 +243,7 @@ These options can be used in an initial 'clone', along with the 'sync'
|
|||
options described above.
|
||||
|
||||
--destination <directory>::
|
||||
Where to create the git repository. If not provided, the last
|
||||
Where to create the Git repository. If not provided, the last
|
||||
component in the p4 depot path is used to create a new
|
||||
directory.
|
||||
|
||||
|
@ -273,12 +273,12 @@ These options can be used to modify 'git p4 submit' behavior.
|
|||
requires p4 admin privileges.
|
||||
|
||||
--export-labels::
|
||||
Export tags from git as p4 labels. Tags found in git are applied
|
||||
Export tags from Git as p4 labels. Tags found in Git are applied
|
||||
to the perforce working directory.
|
||||
|
||||
--dry-run, -n::
|
||||
Show just what commits would be submitted to p4; do not change
|
||||
state in git or p4.
|
||||
state in Git or p4.
|
||||
|
||||
--prepare-p4-only::
|
||||
Apply a commit to the p4 workspace, opening, adding and deleting
|
||||
|
@ -324,12 +324,12 @@ p4 revision specifier on the end:
|
|||
"//depot/proj1@all //depot/proj2@all"::
|
||||
Import all changes from both named depot paths into a single
|
||||
repository. Only files below these directories are included.
|
||||
There is not a subdirectory in git for each "proj1" and "proj2".
|
||||
There is not a subdirectory in Git for each "proj1" and "proj2".
|
||||
You must use the '--destination' option when specifying more
|
||||
than one depot path. The revision specifier must be specified
|
||||
identically on each depot path. If there are files in the
|
||||
depot paths with the same name, the path with the most recently
|
||||
updated version of the file is the one that appears in git.
|
||||
updated version of the file is the one that appears in Git.
|
||||
|
||||
See 'p4 help revisions' for the full syntax of p4 revision specifiers.
|
||||
|
||||
|
@ -346,11 +346,11 @@ configuration file. This allows future 'git p4 submit' commands to
|
|||
work properly; the submit command looks only at the variable and does
|
||||
not have a command-line option.
|
||||
|
||||
The full syntax for a p4 view is documented in 'p4 help views'. 'Git p4'
|
||||
The full syntax for a p4 view is documented in 'p4 help views'. 'git p4'
|
||||
knows only a subset of the view syntax. It understands multi-line
|
||||
mappings, overlays with '+', exclusions with '-' and double-quotes
|
||||
around whitespace. Of the possible wildcards, 'git p4' only handles
|
||||
'...', and only when it is at the end of the path. 'Git p4' will complain
|
||||
'...', and only when it is at the end of the path. 'git p4' will complain
|
||||
if it encounters an unhandled wildcard.
|
||||
|
||||
Bugs in the implementation of overlap mappings exist. If multiple depot
|
||||
|
@ -366,7 +366,7 @@ variable P4CLIENT, a file referenced by P4CONFIG, or the local host name.
|
|||
|
||||
BRANCH DETECTION
|
||||
----------------
|
||||
P4 does not have the same concept of a branch as git. Instead,
|
||||
P4 does not have the same concept of a branch as Git. Instead,
|
||||
p4 organizes its content as a directory tree, where by convention
|
||||
different logical branches are in different locations in the tree.
|
||||
The 'p4 branch' command is used to maintain mappings between
|
||||
|
@ -376,7 +376,7 @@ can use these mappings to determine branch relationships.
|
|||
If you have a repository where all the branches of interest exist as
|
||||
subdirectories of a single depot path, you can use '--detect-branches'
|
||||
when cloning or syncing to have 'git p4' automatically find
|
||||
subdirectories in p4, and to generate these as branches in git.
|
||||
subdirectories in p4, and to generate these as branches in Git.
|
||||
|
||||
For example, if the P4 repository structure is:
|
||||
----
|
||||
|
@ -398,7 +398,7 @@ called 'master', and one for //depot/branch1 called 'depot/branch1'.
|
|||
|
||||
However, it is not necessary to create branches in p4 to be able to use
|
||||
them like branches. Because it is difficult to infer branch
|
||||
relationships automatically, a git configuration setting
|
||||
relationships automatically, a Git configuration setting
|
||||
'git-p4.branchList' can be used to explicitly identify branch
|
||||
relationships. It is a list of "source:destination" pairs, like a
|
||||
simple p4 branch specification, where the "source" and "destination" are
|
||||
|
@ -416,7 +416,7 @@ git p4 clone --detect-branches //depot@all .
|
|||
PERFORMANCE
|
||||
-----------
|
||||
The fast-import mechanism used by 'git p4' creates one pack file for
|
||||
each invocation of 'git p4 sync'. Normally, git garbage compression
|
||||
each invocation of 'git p4 sync'. Normally, Git garbage compression
|
||||
(linkgit:git-gc[1]) automatically compresses these to fewer pack files,
|
||||
but explicit invocation of 'git repack -adf' may improve performance.
|
||||
|
||||
|
@ -454,9 +454,9 @@ git-p4.client::
|
|||
Clone and sync variables
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
git-p4.syncFromOrigin::
|
||||
Because importing commits from other git repositories is much faster
|
||||
Because importing commits from other Git repositories is much faster
|
||||
than importing them from p4, a mechanism exists to find p4 changes
|
||||
first in git remotes. If branches exist under 'refs/remote/origin/p4',
|
||||
first in Git remotes. If branches exist under 'refs/remote/origin/p4',
|
||||
those will be fetched and used when syncing from p4. This
|
||||
variable can be set to 'false' to disable this behavior.
|
||||
|
||||
|
@ -508,7 +508,7 @@ git-p4.detectCopiesHarder::
|
|||
Detect copies harder. See linkgit:git-diff[1]. A boolean.
|
||||
|
||||
git-p4.preserveUser::
|
||||
On submit, re-author changes to reflect the git author,
|
||||
On submit, re-author changes to reflect the Git author,
|
||||
regardless of who invokes 'git p4 submit'.
|
||||
|
||||
git-p4.allowMissingP4Users::
|
||||
|
@ -545,7 +545,7 @@ git-p4.attemptRCSCleanup::
|
|||
present.
|
||||
|
||||
git-p4.exportLabels::
|
||||
Export git tags to p4 labels, as per --export-labels.
|
||||
Export Git tags to p4 labels, as per --export-labels.
|
||||
|
||||
git-p4.labelExportRegexp::
|
||||
Only p4 labels matching this regular expression will be exported. The
|
||||
|
@ -557,11 +557,11 @@ git-p4.conflict::
|
|||
|
||||
IMPLEMENTATION DETAILS
|
||||
----------------------
|
||||
* Changesets from p4 are imported using git fast-import.
|
||||
* Changesets from p4 are imported using Git fast-import.
|
||||
* Cloning or syncing does not require a p4 client; file contents are
|
||||
collected using 'p4 print'.
|
||||
* Submitting requires a p4 client, which is not in the same location
|
||||
as the git repository. Patches are applied, one at a time, to
|
||||
as the Git repository. Patches are applied, one at a time, to
|
||||
this p4 client and submitted from there.
|
||||
* Each commit imported by 'git p4' has a line at the end of the log
|
||||
message indicating the p4 depot location and change number. This
|
||||
|
|
|
@ -35,7 +35,7 @@ A pack index file (.idx) is generated for fast, random access to the
|
|||
objects in the pack. Placing both the index file (.idx) and the packed
|
||||
archive (.pack) in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or
|
||||
any of the directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES)
|
||||
enables git to read from the pack archive.
|
||||
enables Git to read from the pack archive.
|
||||
|
||||
The 'git unpack-objects' command can read the packed archive and
|
||||
expand the objects contained in the pack into "one-file
|
||||
|
@ -80,7 +80,7 @@ base-name::
|
|||
--include-tag::
|
||||
Include unasked-for annotated tags if the object they
|
||||
reference was included in the resulting packfile. This
|
||||
can be useful to send new tags to native git clients.
|
||||
can be useful to send new tags to native Git clients.
|
||||
|
||||
--window=<n>::
|
||||
--depth=<n>::
|
||||
|
@ -185,14 +185,14 @@ base-name::
|
|||
option only makes sense in conjunction with --stdout.
|
||||
+
|
||||
Note: A thin pack violates the packed archive format by omitting
|
||||
required objects and is thus unusable by git without making it
|
||||
required objects and is thus unusable by Git without making it
|
||||
self-contained. Use `git index-pack --fix-thin`
|
||||
(see linkgit:git-index-pack[1]) to restore the self-contained property.
|
||||
|
||||
--delta-base-offset::
|
||||
A packed archive can express the base object of a delta as
|
||||
either a 20-byte object name or as an offset in the
|
||||
stream, but ancient versions of git don't understand the
|
||||
stream, but ancient versions of Git don't understand the
|
||||
latter. By default, 'git pack-objects' only uses the
|
||||
former format for better compatibility. This option
|
||||
allows the command to use the latter format for
|
||||
|
@ -202,7 +202,7 @@ self-contained. Use `git index-pack --fix-thin`
|
|||
+
|
||||
Note: Porcelain commands such as `git gc` (see linkgit:git-gc[1]),
|
||||
`git repack` (see linkgit:git-repack[1]) pass this option by default
|
||||
in modern git when they put objects in your repository into pack files.
|
||||
in modern Git when they put objects in your repository into pack files.
|
||||
So does `git bundle` (see linkgit:git-bundle[1]) when it creates a bundle.
|
||||
|
||||
--threads=<n>::
|
||||
|
@ -212,7 +212,7 @@ So does `git bundle` (see linkgit:git-bundle[1]) when it creates a bundle.
|
|||
This is meant to reduce packing time on multiprocessor machines.
|
||||
The required amount of memory for the delta search window is
|
||||
however multiplied by the number of threads.
|
||||
Specifying 0 will cause git to auto-detect the number of CPU's
|
||||
Specifying 0 will cause Git to auto-detect the number of CPU's
|
||||
and set the number of threads accordingly.
|
||||
|
||||
--index-version=<version>[,<offset>]::
|
||||
|
|
|
@ -59,8 +59,8 @@ and a log message from the user describing the changes.
|
|||
See linkgit:git-merge[1] for details, including how conflicts
|
||||
are presented and handled.
|
||||
|
||||
In git 1.7.0 or later, to cancel a conflicting merge, use
|
||||
`git reset --merge`. *Warning*: In older versions of git, running 'git pull'
|
||||
In Git 1.7.0 or later, to cancel a conflicting merge, use
|
||||
`git reset --merge`. *Warning*: In older versions of Git, running 'git pull'
|
||||
with uncommitted changes is discouraged: while possible, it leaves you
|
||||
in a state that may be hard to back out of in the case of a conflict.
|
||||
|
||||
|
@ -89,7 +89,7 @@ must be given before the options meant for 'git fetch'.
|
|||
This option controls if new commits of all populated submodules should
|
||||
be fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]).
|
||||
That might be necessary to get the data needed for merging submodule
|
||||
commits, a feature git learned in 1.7.3. Notice that the result of a
|
||||
commits, a feature Git learned in 1.7.3. Notice that the result of a
|
||||
merge will not be checked out in the submodule, "git submodule update"
|
||||
has to be called afterwards to bring the work tree up to date with the
|
||||
merge result.
|
||||
|
@ -228,7 +228,7 @@ Using --recurse-submodules can only fetch new commits in already checked
|
|||
out submodules right now. When e.g. upstream added a new submodule in the
|
||||
just fetched commits of the superproject the submodule itself can not be
|
||||
fetched, making it impossible to check out that submodule later without
|
||||
having to do a fetch again. This is expected to be fixed in a future git
|
||||
having to do a fetch again. This is expected to be fixed in a future Git
|
||||
version.
|
||||
|
||||
SEE ALSO
|
||||
|
|
|
@ -53,7 +53,7 @@ updated.
|
|||
The object referenced by <src> is used to update the <dst> reference
|
||||
on the remote side. By default this is only allowed if <dst> is not
|
||||
a tag (annotated or lightweight), and then only if it can fast-forward
|
||||
<dst>. By having the optional leading `+`, you can tell git to update
|
||||
<dst>. By having the optional leading `+`, you can tell Git to update
|
||||
the <dst> ref even if it is not allowed by default (e.g., it is not a
|
||||
fast-forward.) This does *not* attempt to merge <src> into <dst>. See
|
||||
EXAMPLES below for details.
|
||||
|
@ -64,7 +64,7 @@ Pushing an empty <src> allows you to delete the <dst> ref from
|
|||
the remote repository.
|
||||
+
|
||||
The special refspec `:` (or `+:` to allow non-fast-forward updates)
|
||||
directs git to push "matching" branches: for every branch that exists on
|
||||
directs Git to push "matching" branches: for every branch that exists on
|
||||
the local side, the remote side is updated if a branch of the same name
|
||||
already exists on the remote side. This is the default operation mode
|
||||
if no explicit refspec is found (that is neither on the command line
|
||||
|
@ -177,7 +177,7 @@ useful if you write an alias or script around 'git push'.
|
|||
--recurse-submodules=check|on-demand::
|
||||
Make sure all submodule commits used by the revisions to be
|
||||
pushed are available on a remote-tracking branch. If 'check' is
|
||||
used git will verify that all submodule commits that changed in
|
||||
used Git will verify that all submodule commits that changed in
|
||||
the revisions to be pushed are available on at least one remote
|
||||
of the submodule. If any commits are missing the push will be
|
||||
aborted and exit with non-zero status. If 'on-demand' is used
|
||||
|
@ -192,7 +192,7 @@ OUTPUT
|
|||
------
|
||||
|
||||
The output of "git push" depends on the transport method used; this
|
||||
section describes the output when pushing over the git protocol (either
|
||||
section describes the output when pushing over the Git protocol (either
|
||||
locally or via ssh).
|
||||
|
||||
The status of the push is output in tabular form, with each line
|
||||
|
|
|
@ -14,7 +14,7 @@ SYNOPSIS
|
|||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Applies a quilt patchset onto the current git branch, preserving
|
||||
Applies a quilt patchset onto the current Git branch, preserving
|
||||
the patch boundaries, patch order, and patch descriptions present
|
||||
in the quilt patchset.
|
||||
|
||||
|
@ -25,7 +25,7 @@ the patch description is displayed and the user is asked to
|
|||
interactively enter the author of the patch.
|
||||
|
||||
If a subject is not found in the patch description the patch name is
|
||||
preserved as the 1 line subject in the git description.
|
||||
preserved as the 1 line subject in the Git description.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
|
|
@ -179,7 +179,7 @@ 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
|
||||
the markers (<<<<<<) and make edits to resolve the conflict. For each
|
||||
file you edit, you need to tell git that the conflict has been resolved,
|
||||
file you edit, you need to tell Git that the conflict has been resolved,
|
||||
typically this would be done with
|
||||
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ 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`;
|
||||
see linkgit:git-log[1].
|
||||
|
||||
The reflog is useful in various git commands, to specify the old value
|
||||
The reflog is useful in various Git commands, to specify the old value
|
||||
of a reference. For example, `HEAD@{2}` means "where HEAD used to be
|
||||
two moves ago", `master@{one.week.ago}` means "where master used to
|
||||
point to one week ago", and so on. See linkgit:gitrevisions[7] for
|
||||
|
|
|
@ -13,7 +13,7 @@ git remote add <nick> "ext::<command>[ <arguments>...]"
|
|||
DESCRIPTION
|
||||
-----------
|
||||
This remote helper uses the specified '<command>' to connect
|
||||
to a remote git server.
|
||||
to a remote Git server.
|
||||
|
||||
Data written to stdin of the specified '<command>' is assumed
|
||||
to be sent to a git:// server, git-upload-pack, git-receive-pack
|
||||
|
@ -33,12 +33,12 @@ The following sequences have a special meaning:
|
|||
|
||||
'%s'::
|
||||
Replaced with name (receive-pack, upload-pack, or
|
||||
upload-archive) of the service git wants to invoke.
|
||||
upload-archive) of the service Git wants to invoke.
|
||||
|
||||
'%S'::
|
||||
Replaced with long name (git-receive-pack,
|
||||
git-upload-pack, or git-upload-archive) of the service
|
||||
git wants to invoke.
|
||||
Git wants to invoke.
|
||||
|
||||
'%G' (must be the first characters in an argument)::
|
||||
This argument will not be passed to '<command>'. Instead, it
|
||||
|
@ -75,7 +75,7 @@ GIT_EXT_SERVICE_NOPREFIX::
|
|||
|
||||
EXAMPLES:
|
||||
---------
|
||||
This remote helper is transparently used by git when
|
||||
This remote helper is transparently used by Git when
|
||||
you use commands such as "git fetch <URL>", "git clone <URL>",
|
||||
, "git push <URL>" or "git remote add <nick> <URL>", where <URL>
|
||||
begins with `ext::`. Examples:
|
||||
|
@ -100,14 +100,14 @@ begins with `ext::`. Examples:
|
|||
Represents a repository with path /repo accessed using the
|
||||
helper program "git-server-alias foo". The hostname for the
|
||||
remote server passed in the protocol stream will be "foo"
|
||||
(this allows multiple virtual git servers to share a
|
||||
(this allows multiple virtual Git servers to share a
|
||||
link-level address).
|
||||
|
||||
"ext::git-server-alias foo %G/repo% with% spaces %Vfoo"::
|
||||
Represents a repository with path '/repo with spaces' accessed
|
||||
using the helper program "git-server-alias foo". The hostname for
|
||||
the remote server passed in the protocol stream will be "foo"
|
||||
(this allows multiple virtual git servers to share a
|
||||
(this allows multiple virtual Git servers to share a
|
||||
link-level address).
|
||||
|
||||
"ext::git-ssl foo.example /bar"::
|
||||
|
@ -118,7 +118,7 @@ begins with `ext::`. Examples:
|
|||
|
||||
Documentation
|
||||
--------------
|
||||
Documentation by Ilari Liusvaara, Jonathan Nieder and the git list
|
||||
Documentation by Ilari Liusvaara, Jonathan Nieder and the Git list
|
||||
<git@vger.kernel.org>
|
||||
|
||||
GIT
|
||||
|
|
|
@ -11,14 +11,14 @@ SYNOPSIS
|
|||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This helper uses specified file descriptors to connect to a remote git server.
|
||||
This helper uses specified file descriptors to connect to a remote Git server.
|
||||
This is not meant for end users but for programs and scripts calling git
|
||||
fetch, push or archive.
|
||||
|
||||
If only <infd> is given, it is assumed to be a bidirectional socket connected
|
||||
to remote git server (git-upload-pack, git-receive-pack or
|
||||
to remote Git server (git-upload-pack, git-receive-pack or
|
||||
git-upload-achive). If both <infd> and <outfd> are given, they are assumed
|
||||
to be pipes connected to a remote git server (<infd> being the inbound pipe
|
||||
to be pipes connected to a remote Git server (<infd> being the inbound pipe
|
||||
and <outfd> being the outbound pipe.
|
||||
|
||||
It is assumed that any handshaking procedures have already been completed
|
||||
|
@ -52,7 +52,7 @@ EXAMPLES
|
|||
|
||||
Documentation
|
||||
--------------
|
||||
Documentation by Ilari Liusvaara and the git list <git@vger.kernel.org>
|
||||
Documentation by Ilari Liusvaara and the Git list <git@vger.kernel.org>
|
||||
|
||||
GIT
|
||||
---
|
||||
|
|
|
@ -14,17 +14,17 @@ DESCRIPTION
|
|||
-----------
|
||||
|
||||
Remote helper programs are normally not used directly by end users,
|
||||
but they are invoked by git when it needs to interact with remote
|
||||
repositories git does not support natively. A given helper will
|
||||
implement a subset of the capabilities documented here. When git
|
||||
but they are invoked by Git when it needs to interact with remote
|
||||
repositories Git does not support natively. A given helper will
|
||||
implement a subset of the capabilities documented here. When Git
|
||||
needs to interact with a repository using a remote helper, it spawns
|
||||
the helper as an independent process, sends commands to the helper's
|
||||
standard input, and expects results from the helper's standard
|
||||
output. Because a remote helper runs as an independent process from
|
||||
git, there is no need to re-link git to add a new helper, nor any
|
||||
need to link the helper with the implementation of git.
|
||||
Git, there is no need to re-link Git to add a new helper, nor any
|
||||
need to link the helper with the implementation of Git.
|
||||
|
||||
Every helper must support the "capabilities" command, which git
|
||||
Every helper must support the "capabilities" command, which Git
|
||||
uses to determine what other commands the helper will accept. Those
|
||||
other commands can be used to discover and update remote refs,
|
||||
transport objects between the object database and the remote repository,
|
||||
|
@ -39,15 +39,15 @@ INVOCATION
|
|||
----------
|
||||
|
||||
Remote helper programs are invoked with one or (optionally) two
|
||||
arguments. The first argument specifies a remote repository as in git;
|
||||
arguments. The first argument specifies a remote repository as in Git;
|
||||
it is either the name of a configured remote or a URL. The second
|
||||
argument specifies a URL; it is usually of the form
|
||||
'<transport>://<address>', but any arbitrary string is possible.
|
||||
The 'GIT_DIR' environment variable is set up for the remote helper
|
||||
and can be used to determine where to store additional data or from
|
||||
which directory to invoke auxiliary git commands.
|
||||
which directory to invoke auxiliary Git commands.
|
||||
|
||||
When git encounters a URL of the form '<transport>://<address>', where
|
||||
When Git encounters a URL of the form '<transport>://<address>', where
|
||||
'<transport>' is a protocol that it cannot handle natively, it
|
||||
automatically invokes 'git remote-<transport>' with the full URL as
|
||||
the second argument. If such a URL is encountered directly on the
|
||||
|
@ -55,14 +55,14 @@ command line, the first argument is the same as the second, and if it
|
|||
is encountered in a configured remote, the first argument is the name
|
||||
of that remote.
|
||||
|
||||
A URL of the form '<transport>::<address>' explicitly instructs git to
|
||||
A URL of the form '<transport>::<address>' explicitly instructs Git to
|
||||
invoke 'git remote-<transport>' with '<address>' as the second
|
||||
argument. If such a URL is encountered directly on the command line,
|
||||
the first argument is '<address>', and if it is encountered in a
|
||||
configured remote, the first argument is the name of that remote.
|
||||
|
||||
Additionally, when a configured remote has 'remote.<name>.vcs' set to
|
||||
'<transport>', git explicitly invokes 'git remote-<transport>' with
|
||||
'<transport>', Git explicitly invokes 'git remote-<transport>' with
|
||||
'<name>' as the first argument. If set, the second argument is
|
||||
'remote.<name>.url'; otherwise, the second argument is omitted.
|
||||
|
||||
|
@ -85,7 +85,7 @@ Capabilities
|
|||
~~~~~~~~~~~~
|
||||
|
||||
Each remote helper is expected to support only a subset of commands.
|
||||
The operations a helper supports are declared to git in the response
|
||||
The operations a helper supports are declared to Git in the response
|
||||
to the `capabilities` command (see COMMANDS, below).
|
||||
|
||||
In the following, we list all defined capabilities and for
|
||||
|
@ -114,10 +114,10 @@ Supported commands: 'list for-push', 'push'.
|
|||
+
|
||||
Supported commands: 'list for-push', 'export'.
|
||||
|
||||
If a helper advertises 'connect', git will use it if possible and
|
||||
If a helper advertises 'connect', Git will use it if possible and
|
||||
fall back to another capability if the helper requests so when
|
||||
connecting (see the 'connect' command under COMMANDS).
|
||||
When choosing between 'push' and 'export', git prefers 'push'.
|
||||
When choosing between 'push' and 'export', Git prefers 'push'.
|
||||
Other frontends may have some other order of preference.
|
||||
|
||||
|
||||
|
@ -126,7 +126,7 @@ Capabilities for Fetching
|
|||
'connect'::
|
||||
Can try to connect to 'git upload-pack' (for fetching),
|
||||
'git receive-pack', etc for communication using the
|
||||
git's native packfile protocol. This
|
||||
Git's native packfile protocol. This
|
||||
requires a bidirectional, full-duplex connection.
|
||||
+
|
||||
Supported commands: 'connect'.
|
||||
|
@ -143,10 +143,10 @@ Supported commands: 'list', 'fetch'.
|
|||
+
|
||||
Supported commands: 'list', 'import'.
|
||||
|
||||
If a helper advertises 'connect', git will use it if possible and
|
||||
If a helper advertises 'connect', Git will use it if possible and
|
||||
fall back to another capability if the helper requests so when
|
||||
connecting (see the 'connect' command under COMMANDS).
|
||||
When choosing between 'fetch' and 'import', git prefers 'fetch'.
|
||||
When choosing between 'fetch' and 'import', Git prefers 'fetch'.
|
||||
Other frontends may have some other order of preference.
|
||||
|
||||
Miscellaneous capabilities
|
||||
|
@ -183,22 +183,22 @@ there is an implied `refspec *:*`.
|
|||
to retrieve information about blobs and trees that already exist in
|
||||
fast-import's memory. This requires a channel from fast-import to the
|
||||
remote-helper.
|
||||
If it is advertised in addition to "import", git establishes a pipe from
|
||||
If it is advertised in addition to "import", Git establishes a pipe from
|
||||
fast-import to the remote-helper's stdin.
|
||||
It follows that git and fast-import are both connected to the
|
||||
remote-helper's stdin. Because git can send multiple commands to
|
||||
It follows that Git and fast-import are both connected to the
|
||||
remote-helper's stdin. Because Git can send multiple commands to
|
||||
the remote-helper it is required that helpers that use 'bidi-import'
|
||||
buffer all 'import' commands of a batch before sending data to fast-import.
|
||||
This is to prevent mixing commands and fast-import responses on the
|
||||
helper's stdin.
|
||||
|
||||
'export-marks' <file>::
|
||||
This modifies the 'export' capability, instructing git to dump the
|
||||
This modifies the 'export' capability, instructing Git to dump the
|
||||
internal marks table to <file> when complete. For details,
|
||||
read up on '--export-marks=<file>' in linkgit:git-fast-export[1].
|
||||
|
||||
'import-marks' <file>::
|
||||
This modifies the 'export' capability, instructing git to load the
|
||||
This modifies the 'export' capability, instructing Git to load the
|
||||
marks specified in <file> before processing any input. For details,
|
||||
read up on '--import-marks=<file>' in linkgit:git-fast-export[1].
|
||||
|
||||
|
@ -213,7 +213,7 @@ Commands are given by the caller on the helper's standard input, one per line.
|
|||
'capabilities'::
|
||||
Lists the capabilities of the helper, one per line, ending
|
||||
with a blank line. Each capability may be preceded with '*',
|
||||
which marks them mandatory for git versions using the remote
|
||||
which marks them mandatory for Git versions using the remote
|
||||
helper to understand. Any unknown mandatory capability is a
|
||||
fatal error.
|
||||
+
|
||||
|
@ -376,7 +376,7 @@ OPTIONS
|
|||
-------
|
||||
|
||||
The following options are defined and (under suitable circumstances)
|
||||
set by git if the remote helper has the 'option' capability.
|
||||
set by Git if the remote helper has the 'option' capability.
|
||||
|
||||
'option verbosity' <n>::
|
||||
Changes the verbosity of messages displayed by the helper.
|
||||
|
|
|
@ -22,7 +22,7 @@ replacement object.
|
|||
|
||||
Unless `-f` is given, the 'replace' reference must not yet exist.
|
||||
|
||||
Replacement references will be used by default by all git commands
|
||||
Replacement references will be used by default by all Git commands
|
||||
except those doing reachability traversal (prune, pack transfer and
|
||||
fsck).
|
||||
|
||||
|
|
|
@ -99,7 +99,7 @@ between the two operands. The following two commands are equivalent:
|
|||
$ git rev-list A...B
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
'rev-list' is a very essential git command, since it
|
||||
'rev-list' is a very essential Git command, since it
|
||||
provides the ability to build and traverse commit ancestry graphs. For
|
||||
this reason, it has a lot of different options that enables it to be
|
||||
used by commands as different as 'git bisect' and
|
||||
|
|
|
@ -14,7 +14,7 @@ SYNOPSIS
|
|||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
Many git porcelainish commands take mixture of flags
|
||||
Many Git porcelainish commands take mixture of flags
|
||||
(i.e. parameters that begin with a dash '-') and parameters
|
||||
meant for the underlying 'git rev-list' command they use internally
|
||||
and flags and parameters for the other commands they use
|
||||
|
@ -147,7 +147,7 @@ shown. If the pattern does not contain a globbing character (`?`,
|
|||
relative to the current working directory.
|
||||
+
|
||||
If `$GIT_DIR` is not defined and the current directory
|
||||
is not detected to lie in a git repository or work tree
|
||||
is not detected to lie in a Git repository or work tree
|
||||
print a message to stderr and exit with nonzero status.
|
||||
|
||||
--is-inside-git-dir::
|
||||
|
@ -187,9 +187,11 @@ print a message to stderr and exit with nonzero status.
|
|||
Flags and parameters to be parsed.
|
||||
|
||||
--resolve-git-dir <path>::
|
||||
Check if <path> is a valid git-dir or a git-file pointing to a valid
|
||||
git-dir. If <path> is a valid git-dir the resolved path to git-dir will
|
||||
be printed.
|
||||
Check if <path> is a valid repository or a gitfile that
|
||||
points at a valid repository, and print the location of the
|
||||
repository. If <path> is a gitfile then the resolved path
|
||||
to the real repository is printed.
|
||||
|
||||
|
||||
include::revisions.txt[]
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ OPTIONS
|
|||
-------
|
||||
<file>...::
|
||||
Files to remove. Fileglobs (e.g. `*.c`) can be given to
|
||||
remove all matching files. If you want git to expand
|
||||
remove all matching files. If you want Git to expand
|
||||
file glob characters, you may need to shell-escape them.
|
||||
A leading directory name
|
||||
(e.g. `dir` to remove `dir/file1` and `dir/file2`) can be
|
||||
|
@ -74,8 +74,8 @@ DISCUSSION
|
|||
|
||||
The <file> list given to the command can be exact pathnames,
|
||||
file glob patterns, or leading directory names. The command
|
||||
removes only the paths that are known to git. Giving the name of
|
||||
a file that you have not told git about does not remove that file.
|
||||
removes only the paths that are known to Git. Giving the name of
|
||||
a file that you have not told Git about does not remove that file.
|
||||
|
||||
File globbing matches across directory boundaries. Thus, given
|
||||
two directories `d` and `d2`, there is a difference between
|
||||
|
@ -137,7 +137,7 @@ git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached
|
|||
Submodules
|
||||
~~~~~~~~~~
|
||||
Only submodules using a gitfile (which means they were cloned
|
||||
with a git version 1.7.8 or newer) will be removed from the work
|
||||
with a Git version 1.7.8 or newer) will be removed from the work
|
||||
tree, as their repository lives inside the .git directory of the
|
||||
superproject. If a submodule (or one of those nested inside it)
|
||||
still uses a .git directory, `git rm` will fail - no matter if forced
|
||||
|
@ -156,7 +156,7 @@ EXAMPLES
|
|||
`Documentation` directory and any of its subdirectories.
|
||||
+
|
||||
Note that the asterisk `*` is quoted from the shell in this
|
||||
example; this lets git, and not the shell, expand the pathnames
|
||||
example; this lets Git, and not the shell, expand the pathnames
|
||||
of files and subdirectories under the `Documentation/` directory.
|
||||
|
||||
`git rm -f git-*.sh`::
|
||||
|
|
|
@ -67,7 +67,7 @@ The --cc option must be repeated for each user you want on the cc list.
|
|||
When '--compose' is used, git send-email will use the From, Subject, and
|
||||
In-Reply-To headers specified in the message. If the body of the message
|
||||
(what you type after the headers and a blank line) only contains blank
|
||||
(or GIT: prefixed) lines the summary won't be sent, but From, Subject,
|
||||
(or Git: prefixed) lines the summary won't be sent, but From, Subject,
|
||||
and In-Reply-To headers will be used unless they are removed.
|
||||
+
|
||||
Missing From or In-Reply-To headers will be prompted for.
|
||||
|
|
|
@ -3,7 +3,7 @@ git-send-pack(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-send-pack - Push objects over git protocol to another repository
|
||||
git-send-pack - Push objects over Git protocol to another repository
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
|
|
|
@ -3,7 +3,7 @@ git-sh-setup(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-sh-setup - Common git shell script setup code
|
||||
git-sh-setup - Common Git shell script setup code
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -19,7 +19,7 @@ Porcelain-ish scripts and/or are writing new ones.
|
|||
|
||||
The 'git sh-setup' scriptlet is designed to be sourced (using
|
||||
`.`) by other shell scripts to set up some variables pointing at
|
||||
the normal git directories and a few helper shell functions.
|
||||
the normal Git directories and a few helper shell functions.
|
||||
|
||||
Before sourcing it, your script should set up a few variables;
|
||||
`USAGE` (and `LONG_USAGE`, if any) is used to define message
|
||||
|
|
|
@ -14,7 +14,7 @@ SYNOPSIS
|
|||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Reads given idx file for packed git archive created with
|
||||
Reads given idx file for packed Git archive created with
|
||||
'git pack-objects' command, and dumps its contents.
|
||||
|
||||
The information it outputs is subset of what you can get from
|
||||
|
|
|
@ -16,7 +16,7 @@ DESCRIPTION
|
|||
Displays paths that have differences between the index file and the
|
||||
current HEAD commit, paths that have differences between the working
|
||||
tree and the index file, and paths in the working tree that are not
|
||||
tracked by git (and are not ignored by linkgit:gitignore[5]). The first
|
||||
tracked by Git (and are not ignored by linkgit:gitignore[5]). The first
|
||||
are what you _would_ commit by running `git commit`; the second and
|
||||
third are what you _could_ commit by running 'git add' before running
|
||||
`git commit`.
|
||||
|
@ -35,7 +35,7 @@ OPTIONS
|
|||
--porcelain::
|
||||
Give the output in an easy-to-parse format for scripts.
|
||||
This is similar to the short output, but will remain stable
|
||||
across git versions and regardless of user configuration. See
|
||||
across Git versions and regardless of user configuration. See
|
||||
below for details.
|
||||
|
||||
--long::
|
||||
|
@ -96,7 +96,7 @@ The default, long format, is designed to be human readable,
|
|||
verbose and descriptive. Its contents and format are subject to change
|
||||
at any time.
|
||||
|
||||
The paths mentioned in the output, unlike many other git commands, are
|
||||
The paths mentioned in the output, unlike many other Git commands, are
|
||||
made relative to the current directory if you are working in a
|
||||
subdirectory (this is on purpose, to help cutting and pasting). See
|
||||
the status.relativePaths config option below.
|
||||
|
@ -168,7 +168,7 @@ Porcelain Format
|
|||
~~~~~~~~~~~~~~~~
|
||||
|
||||
The porcelain format is similar to the short format, but is guaranteed
|
||||
not to change in a backwards-incompatible way between git versions or
|
||||
not to change in a backwards-incompatible way between Git versions or
|
||||
based on user configuration. This makes it ideal for parsing by scripts.
|
||||
The description of the short format above also describes the porcelain
|
||||
format, with a few exceptions:
|
||||
|
|
|
@ -14,7 +14,7 @@ SYNOPSIS
|
|||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
Clean the input in the manner used by 'git' for text such as commit
|
||||
Clean the input in the manner used by Git for text such as commit
|
||||
messages, notes, tags and branch descriptions.
|
||||
|
||||
With no arguments, this will:
|
||||
|
|
|
@ -91,7 +91,7 @@ working directory is used instead.
|
|||
<path> is the relative location for the cloned submodule to
|
||||
exist in the superproject. If <path> does not exist, then the
|
||||
submodule is created by cloning from the named URL. If <path> does
|
||||
exist and is already a valid git repository, then this is added
|
||||
exist and is already a valid Git repository, then this is added
|
||||
to the changeset without cloning. This second form is provided
|
||||
to ease creating a new submodule from scratch, and presumes
|
||||
the user will later push the submodule to the given URL.
|
||||
|
|
|
@ -3,7 +3,7 @@ git-svn(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-svn - Bidirectional operation between a Subversion repository and git
|
||||
git-svn - Bidirectional operation between a Subversion repository and Git
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -12,8 +12,8 @@ SYNOPSIS
|
|||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
'git svn' is a simple conduit for changesets between Subversion and git.
|
||||
It provides a bidirectional flow of changes between a Subversion and a git
|
||||
'git svn' is a simple conduit for changesets between Subversion and Git.
|
||||
It provides a bidirectional flow of changes between a Subversion and a Git
|
||||
repository.
|
||||
|
||||
'git svn' can track a standard Subversion repository,
|
||||
|
@ -21,15 +21,15 @@ following the common "trunk/branches/tags" layout, with the --stdlayout option.
|
|||
It can also follow branches and tags in any layout with the -T/-t/-b options
|
||||
(see options to 'init' below, and also the 'clone' command).
|
||||
|
||||
Once tracking a Subversion repository (with any of the above methods), the git
|
||||
Once tracking a Subversion repository (with any of the above methods), the Git
|
||||
repository can be updated from Subversion by the 'fetch' command and
|
||||
Subversion updated from git by the 'dcommit' command.
|
||||
Subversion updated from Git by the 'dcommit' command.
|
||||
|
||||
COMMANDS
|
||||
--------
|
||||
|
||||
'init'::
|
||||
Initializes an empty git repository with additional
|
||||
Initializes an empty Git repository with additional
|
||||
metadata directories for 'git svn'. The Subversion URL
|
||||
may be specified as a command-line argument, or as full
|
||||
URL arguments to -T/-t/-b. Optionally, the target
|
||||
|
@ -199,9 +199,9 @@ and have no uncommitted changes.
|
|||
Commit each diff from the current branch directly to the SVN
|
||||
repository, and then rebase or reset (depending on whether or
|
||||
not there is a diff between SVN and head). This will create
|
||||
a revision in SVN for each commit in git.
|
||||
a revision in SVN for each commit in Git.
|
||||
+
|
||||
When an optional git branch name (or a git commit object name)
|
||||
When an optional Git branch name (or a Git commit object name)
|
||||
is specified as an argument, the subcommand works on the specified
|
||||
branch, not on the current branch.
|
||||
+
|
||||
|
@ -316,7 +316,7 @@ New features:
|
|||
+
|
||||
--
|
||||
--show-commit;;
|
||||
shows the git commit sha1, as well
|
||||
shows the Git commit sha1, as well
|
||||
--oneline;;
|
||||
our version of --pretty=oneline
|
||||
--
|
||||
|
@ -337,13 +337,13 @@ Any other arguments are passed directly to 'git log'
|
|||
+
|
||||
--git-format;;
|
||||
Produce output in the same format as 'git blame', but with
|
||||
SVN revision numbers instead of git commit hashes. In this mode,
|
||||
SVN revision numbers instead of Git commit hashes. In this mode,
|
||||
changes that haven't been committed to SVN (including local
|
||||
working-copy edits) are shown as revision 0.
|
||||
|
||||
'find-rev'::
|
||||
When given an SVN revision number of the form 'rN', returns the
|
||||
corresponding git commit hash (this can optionally be followed by a
|
||||
corresponding Git commit hash (this can optionally be followed by a
|
||||
tree-ish to specify which branch should be searched). When given a
|
||||
tree-ish, returns the corresponding SVN revision number.
|
||||
+
|
||||
|
@ -378,7 +378,7 @@ Any other arguments are passed directly to 'git log'
|
|||
the $GIT_DIR/info/exclude file.
|
||||
|
||||
'mkdirs'::
|
||||
Attempts to recreate empty directories that core git cannot track
|
||||
Attempts to recreate empty directories that core Git cannot track
|
||||
based on information in $GIT_DIR/svn/<refname>/unhandled.log files.
|
||||
Empty directories are automatically recreated when using
|
||||
"git svn clone" and "git svn rebase", so "mkdirs" is intended
|
||||
|
@ -510,9 +510,9 @@ order. Only the leading sha1 is read from each line, so
|
|||
+
|
||||
Remove directories from the SVN tree if there are no files left
|
||||
behind. SVN can version empty directories, and they are not
|
||||
removed by default if there are no files left in them. git
|
||||
removed by default if there are no files left in them. Git
|
||||
cannot version empty directories. Enabling this flag will make
|
||||
the commit to SVN act like git.
|
||||
the commit to SVN act like Git.
|
||||
+
|
||||
[verse]
|
||||
config key: svn.rmdir
|
||||
|
@ -599,7 +599,7 @@ Passed directly to 'git rebase' when using 'dcommit' if a
|
|||
This can be used with the 'dcommit', 'rebase', 'branch' and
|
||||
'tag' commands.
|
||||
+
|
||||
For 'dcommit', print out the series of git arguments that would show
|
||||
For 'dcommit', print out the series of Git arguments that would show
|
||||
which diffs would be committed to SVN.
|
||||
+
|
||||
For 'rebase', display the local branch associated with the upstream svn
|
||||
|
@ -610,14 +610,14 @@ For 'branch' and 'tag', display the urls that will be used for copying when
|
|||
creating the branch or tag.
|
||||
|
||||
--use-log-author::
|
||||
When retrieving svn commits into git (as part of 'fetch', 'rebase', or
|
||||
When retrieving svn commits into Git (as part of 'fetch', 'rebase', or
|
||||
'dcommit' operations), look for the first `From:` or `Signed-off-by:` line
|
||||
in the log message and use that as the author string.
|
||||
--add-author-from::
|
||||
When committing to svn from git (as part of 'commit-diff', 'set-tree' or 'dcommit'
|
||||
When committing to svn from Git (as part of 'commit-diff', 'set-tree' or 'dcommit'
|
||||
operations), if the existing log message doesn't already have a
|
||||
`From:` or `Signed-off-by:` line, append a `From:` line based on the
|
||||
git commit's author string. If you use this, then `--use-log-author`
|
||||
Git commit's author string. If you use this, then `--use-log-author`
|
||||
will retrieve a valid author string for all commits.
|
||||
|
||||
|
||||
|
@ -642,7 +642,7 @@ ADVANCED OPTIONS
|
|||
one of the repository layout options --trunk, --tags,
|
||||
--branches, --stdlayout). For each tracked branch, try to find
|
||||
out where its revision was copied from, and set
|
||||
a suitable parent in the first git commit for the branch.
|
||||
a suitable parent in the first Git commit for the branch.
|
||||
This is especially helpful when we're tracking a directory
|
||||
that has been moved around within the repository. If this
|
||||
feature is disabled, the branches created by 'git svn' will all
|
||||
|
@ -674,7 +674,7 @@ option for (hopefully) obvious reasons.
|
|||
+
|
||||
This option is NOT recommended as it makes it difficult to track down
|
||||
old references to SVN revision numbers in existing documentation, bug
|
||||
reports and archives. If you plan to eventually migrate from SVN to git
|
||||
reports and archives. If you plan to eventually migrate from SVN to Git
|
||||
and are certain about dropping SVN history, consider
|
||||
linkgit:git-filter-branch[1] instead. filter-branch also allows
|
||||
reformatting of metadata for ease-of-reading and rewriting authorship
|
||||
|
@ -714,7 +714,7 @@ svn-remote.<name>.rewriteUUID::
|
|||
|
||||
svn-remote.<name>.pushurl::
|
||||
|
||||
Similar to git's 'remote.<name>.pushurl', this key is designed
|
||||
Similar to Git's 'remote.<name>.pushurl', this key is designed
|
||||
to be used in cases where 'url' points to an SVN repository
|
||||
via a read-only transport, to provide an alternate read/write
|
||||
transport. It is assumed that both keys point to the same
|
||||
|
@ -768,15 +768,15 @@ Tracking and contributing to the trunk of a Subversion-managed project
|
|||
cd trunk
|
||||
# You should be on master branch, double-check with 'git branch'
|
||||
git branch
|
||||
# Do some work and commit locally to git:
|
||||
# Do some work and commit locally to Git:
|
||||
git commit ...
|
||||
# Something is committed to SVN, rebase your local changes against the
|
||||
# latest changes in SVN:
|
||||
git svn rebase
|
||||
# Now commit your changes (that were committed previously using git) to SVN,
|
||||
# Now commit your changes (that were committed previously using Git) to SVN,
|
||||
# as well as automatically updating your working HEAD:
|
||||
git svn dcommit
|
||||
# Append svn:ignore settings to the default git exclude file:
|
||||
# Append svn:ignore settings to the default Git exclude file:
|
||||
git svn show-ignore >> .git/info/exclude
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
@ -816,7 +816,7 @@ have each person clone that repository with 'git clone':
|
|||
git remote add origin server:/pub/project
|
||||
git config --replace-all remote.origin.fetch '+refs/remotes/*:refs/remotes/*'
|
||||
git fetch
|
||||
# Prevent fetch/pull from remote git server in the future,
|
||||
# Prevent fetch/pull from remote Git server in the future,
|
||||
# we only want to use git svn for future updates
|
||||
git config --remove-section remote.origin
|
||||
# Create a local branch from one of the branches just fetched
|
||||
|
@ -849,13 +849,13 @@ While 'git svn' can track
|
|||
copy history (including branches and tags) for repositories adopting a
|
||||
standard layout, it cannot yet represent merge history that happened
|
||||
inside git back upstream to SVN users. Therefore it is advised that
|
||||
users keep history as linear as possible inside git to ease
|
||||
users keep history as linear as possible inside Git to ease
|
||||
compatibility with SVN (see the CAVEATS section below).
|
||||
|
||||
HANDLING OF SVN BRANCHES
|
||||
------------------------
|
||||
If 'git svn' is configured to fetch branches (and --follow-branches
|
||||
is in effect), it sometimes creates multiple git branches for one
|
||||
is in effect), it sometimes creates multiple Git branches for one
|
||||
SVN branch, where the addtional branches have names of the form
|
||||
'branchname@nnn' (with nnn an SVN revision number). These additional
|
||||
branches are created if 'git svn' cannot find a parent commit for the
|
||||
|
@ -865,17 +865,17 @@ the other branches.
|
|||
Normally, the first commit in an SVN branch consists
|
||||
of a copy operation. 'git svn' will read this commit to get the SVN
|
||||
revision the branch was created from. It will then try to find the
|
||||
git commit that corresponds to this SVN revision, and use that as the
|
||||
Git commit that corresponds to this SVN revision, and use that as the
|
||||
parent of the branch. However, it is possible that there is no suitable
|
||||
git commit to serve as parent. This will happen, among other reasons,
|
||||
Git commit to serve as parent. This will happen, among other reasons,
|
||||
if the SVN branch is a copy of a revision that was not fetched by 'git
|
||||
svn' (e.g. because it is an old revision that was skipped with
|
||||
'--revision'), or if in SVN a directory was copied that is not tracked
|
||||
by 'git svn' (such as a branch that is not tracked at all, or a
|
||||
subdirectory of a tracked branch). In these cases, 'git svn' will still
|
||||
create a git branch, but instead of using an existing git commit as the
|
||||
create a Git branch, but instead of using an existing Git commit as the
|
||||
parent of the branch, it will read the SVN history of the directory the
|
||||
branch was copied from and create appropriate git commits. This is
|
||||
branch was copied from and create appropriate Git commits. This is
|
||||
indicated by the message "Initializing parent: <branchname>".
|
||||
|
||||
Additionally, it will create a special branch named
|
||||
|
@ -885,15 +885,15 @@ created parent commit of the branch. If in SVN the branch was deleted
|
|||
and later recreated from a different version, there will be multiple
|
||||
such branches with an '@'.
|
||||
|
||||
Note that this may mean that multiple git commits are created for a
|
||||
Note that this may mean that multiple Git commits are created for a
|
||||
single SVN revision.
|
||||
|
||||
An example: in an SVN repository with a standard
|
||||
trunk/tags/branches layout, a directory trunk/sub is created in r.100.
|
||||
In r.200, trunk/sub is branched by copying it to branches/. 'git svn
|
||||
clone -s' will then create a branch 'sub'. It will also create new git
|
||||
clone -s' will then create a branch 'sub'. It will also create new Git
|
||||
commits for r.100 through r.199 and use these as the history of branch
|
||||
'sub'. Thus there will be two git commits for each revision from r.100
|
||||
'sub'. Thus there will be two Git commits for each revision from r.100
|
||||
to r.199 (one containing trunk/, one containing trunk/sub/). Finally,
|
||||
it will create a branch 'sub@200' pointing to the new parent commit of
|
||||
branch 'sub' (i.e. the commit for r.200 and trunk/sub/).
|
||||
|
@ -904,13 +904,13 @@ CAVEATS
|
|||
For the sake of simplicity and interoperating with Subversion,
|
||||
it is recommended that all 'git svn' users clone, fetch and dcommit
|
||||
directly from the SVN server, and avoid all 'git clone'/'pull'/'merge'/'push'
|
||||
operations between git repositories and branches. The recommended
|
||||
method of exchanging code between git branches and users is
|
||||
operations between Git repositories and branches. The recommended
|
||||
method of exchanging code between Git branches and users is
|
||||
'git format-patch' and 'git am', or just 'dcommit'ing to the SVN repository.
|
||||
|
||||
Running 'git merge' or 'git pull' is NOT recommended on a branch you
|
||||
plan to 'dcommit' from because Subversion users cannot see any
|
||||
merges you've made. Furthermore, if you merge or pull from a git branch
|
||||
merges you've made. Furthermore, if you merge or pull from a Git branch
|
||||
that is a mirror of an SVN branch, 'dcommit' may commit to the wrong
|
||||
branch.
|
||||
|
||||
|
@ -929,7 +929,7 @@ any 'git svn' metadata, or config. So repositories created and managed with
|
|||
using 'git svn' should use 'rsync' for cloning, if cloning is to be done
|
||||
at all.
|
||||
|
||||
Since 'dcommit' uses rebase internally, any git branches you 'git push' to
|
||||
Since 'dcommit' uses rebase internally, any Git branches you 'git push' to
|
||||
before 'dcommit' on will require forcing an overwrite of the existing ref
|
||||
on the remote repository. This is generally considered bad practice,
|
||||
see the linkgit:git-push[1] documentation for details.
|
||||
|
@ -941,7 +941,7 @@ dcommit with SVN is analogous to that.
|
|||
|
||||
When cloning an SVN repository, if none of the options for describing
|
||||
the repository layout is used (--trunk, --tags, --branches,
|
||||
--stdlayout), 'git svn clone' will create a git repository with
|
||||
--stdlayout), 'git svn clone' will create a Git repository with
|
||||
completely linear history, where branches and tags appear as separate
|
||||
directories in the working copy. While this is the easiest way to get a
|
||||
copy of a complete repository, for projects with many branches it will
|
||||
|
@ -957,7 +957,7 @@ branches and tags is required, the options '--trunk' / '--branches' /
|
|||
When using multiple --branches or --tags, 'git svn' does not automatically
|
||||
handle name collisions (for example, if two branches from different paths have
|
||||
the same name, or if a branch and a tag have the same name). In these cases,
|
||||
use 'init' to set up your git repository then, before your first 'fetch', edit
|
||||
use 'init' to set up your Git repository then, before your first 'fetch', edit
|
||||
the .git/config file so that the branches and tags are associated with
|
||||
different name spaces. For example:
|
||||
|
||||
|
@ -970,12 +970,12 @@ BUGS
|
|||
We ignore all SVN properties except svn:executable. Any unhandled
|
||||
properties are logged to $GIT_DIR/svn/<refname>/unhandled.log
|
||||
|
||||
Renamed and copied directories are not detected by git and hence not
|
||||
Renamed and copied directories are not detected by Git and hence not
|
||||
tracked when committing to SVN. I do not plan on adding support for
|
||||
this as it's quite difficult and time-consuming to get working for all
|
||||
the possible corner cases (git doesn't do it, either). Committing
|
||||
the possible corner cases (Git doesn't do it, either). Committing
|
||||
renamed and copied files is fully supported if they're similar enough
|
||||
for git to detect them.
|
||||
for Git to detect them.
|
||||
|
||||
In SVN, it is possible (though discouraged) to commit changes to a tag
|
||||
(because a tag is just a directory copy, thus technically the same as a
|
||||
|
@ -987,7 +987,7 @@ CONFIGURATION
|
|||
-------------
|
||||
|
||||
'git svn' stores [svn-remote] configuration information in the
|
||||
repository .git/config file. It is similar the core git
|
||||
repository .git/config file. It is similar the core Git
|
||||
[remote] sections except 'fetch' keys do not accept glob
|
||||
arguments; but they are instead handled by the 'branches'
|
||||
and 'tags' keys. Since some SVN repositories are oddly
|
||||
|
|
|
@ -242,7 +242,7 @@ $ git pull git://git..../proj.git master
|
|||
In such a case, you do not want to automatically follow the other
|
||||
person's tags.
|
||||
|
||||
One important aspect of git is its distributed nature, which
|
||||
One important aspect of Git is its distributed nature, which
|
||||
largely means there is no inherent "upstream" or
|
||||
"downstream" in the system. On the face of it, the above
|
||||
example might seem to indicate that the tag namespace is owned
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
A short git tools survey
|
||||
A short Git tools survey
|
||||
========================
|
||||
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
Apart from git contrib/ area there are some others third-party tools
|
||||
Apart from Git contrib/ area there are some others third-party tools
|
||||
you may want to look.
|
||||
|
||||
This document presents a brief summary of each tool and the corresponding
|
||||
|
@ -17,26 +17,26 @@ Alternative/Augmentative Porcelains
|
|||
|
||||
- *Cogito* (http://www.kernel.org/pub/software/scm/cogito/)
|
||||
|
||||
Cogito is a version control system layered on top of the git tree history
|
||||
Cogito is a version control system layered on top of the Git tree history
|
||||
storage system. It aims at seamless user interface and ease of use,
|
||||
providing generally smoother user experience than the "raw" Core GIT
|
||||
providing generally smoother user experience than the "raw" Core Git
|
||||
itself and indeed many other version control systems.
|
||||
|
||||
Cogito is no longer maintained as most of its functionality
|
||||
is now in core GIT.
|
||||
is now in core Git.
|
||||
|
||||
|
||||
- *pg* (http://www.spearce.org/category/projects/scm/pg/)
|
||||
|
||||
pg is a shell script wrapper around GIT to help the user manage a set of
|
||||
patches to files. pg is somewhat like quilt or StGIT, but it does have a
|
||||
pg is a shell script wrapper around Git to help the user manage a set of
|
||||
patches to files. pg is somewhat like quilt or StGit, but it does have a
|
||||
slightly different feature set.
|
||||
|
||||
|
||||
- *StGit* (http://www.procode.org/stgit/)
|
||||
|
||||
Stacked GIT provides a quilt-like patch management functionality in the
|
||||
GIT environment. You can easily manage your patches in the scope of GIT
|
||||
Stacked Git provides a quilt-like patch management functionality in the
|
||||
Git environment. You can easily manage your patches in the scope of Git
|
||||
until they get merged upstream.
|
||||
|
||||
|
||||
|
@ -45,33 +45,33 @@ History Viewers
|
|||
|
||||
- *gitk* (shipped with git-core)
|
||||
|
||||
gitk is a simple Tk GUI for browsing history of GIT repositories easily.
|
||||
gitk is a simple Tk GUI for browsing history of Git repositories easily.
|
||||
|
||||
|
||||
- *gitview* (contrib/)
|
||||
|
||||
gitview is a GTK based repository browser for git
|
||||
gitview is a GTK based repository browser for Git
|
||||
|
||||
|
||||
- *gitweb* (shipped with git-core)
|
||||
|
||||
GITweb provides full-fledged web interface for GIT repositories.
|
||||
Gitweb provides full-fledged web interface for Git repositories.
|
||||
|
||||
|
||||
- *qgit* (http://digilander.libero.it/mcostalba/)
|
||||
|
||||
QGit is a git/StGIT GUI viewer built on Qt/C++. QGit could be used
|
||||
QGit is a git/StGit GUI viewer built on Qt/C++. QGit could be used
|
||||
to browse history and directory tree, view annotated files, commit
|
||||
changes cherry picking single files or applying patches.
|
||||
Currently it is the fastest and most feature rich among the git
|
||||
Currently it is the fastest and most feature rich among the Git
|
||||
viewers and commit tools.
|
||||
|
||||
- *tig* (http://jonas.nitro.dk/tig/)
|
||||
|
||||
tig by Jonas Fonseca is a simple git repository browser
|
||||
tig by Jonas Fonseca is a simple Git repository browser
|
||||
written using ncurses. Basically, it just acts as a front-end
|
||||
for git-log and git-show/git-diff. Additionally, you can also
|
||||
use it as a pager for git commands.
|
||||
use it as a pager for Git commands.
|
||||
|
||||
|
||||
Foreign SCM interface
|
||||
|
@ -80,20 +80,20 @@ Foreign SCM interface
|
|||
- *git-svn* (shipped with git-core)
|
||||
|
||||
git-svn is a simple conduit for changesets between a single Subversion
|
||||
branch and git.
|
||||
branch and Git.
|
||||
|
||||
|
||||
- *quilt2git / git2quilt* (http://home-tj.org/wiki/index.php/Misc)
|
||||
|
||||
These utilities convert patch series in a quilt repository and commit
|
||||
series in git back and forth.
|
||||
series in Git back and forth.
|
||||
|
||||
|
||||
- *hg-to-git* (contrib/)
|
||||
|
||||
hg-to-git converts a Mercurial repository into a git one, and
|
||||
hg-to-git converts a Mercurial repository into a Git one, and
|
||||
preserves the full branch history in the process. hg-to-git can
|
||||
also be used in an incremental way to keep the git repository
|
||||
also be used in an incremental way to keep the Git repository
|
||||
in sync with the master Mercurial repository.
|
||||
|
||||
|
||||
|
@ -102,14 +102,14 @@ Others
|
|||
|
||||
- *(h)gct* (http://www.cyd.liu.se/users/~freku045/gct/)
|
||||
|
||||
Commit Tool or (h)gct is a GUI enabled commit tool for git and
|
||||
Commit Tool or (h)gct is a GUI enabled commit tool for Git and
|
||||
Mercurial (hg). It allows the user to view diffs, select which files
|
||||
to committed (or ignored / reverted) write commit messages and
|
||||
perform the commit itself.
|
||||
|
||||
- *git.el* (contrib/)
|
||||
|
||||
This is an Emacs interface for git. The user interface is modeled on
|
||||
This is an Emacs interface for Git. The user interface is modeled on
|
||||
pcl-cvs. It has been developed on Emacs 21 and will probably need some
|
||||
tweaking to work on XEmacs.
|
||||
|
||||
|
|
|
@ -82,10 +82,10 @@ OPTIONS
|
|||
When these flags are specified, the object names recorded
|
||||
for the paths are not updated. Instead, these options
|
||||
set and unset the "assume unchanged" bit for the
|
||||
paths. When the "assume unchanged" bit is on, git stops
|
||||
paths. When the "assume unchanged" bit is on, Git stops
|
||||
checking the working tree files for possible
|
||||
modifications, so you need to manually unset the bit to
|
||||
tell git when you change the working tree file. This is
|
||||
tell Git when you change the working tree file. This is
|
||||
sometimes helpful when working with a big project on a
|
||||
filesystem that has very slow lstat(2) system call
|
||||
(e.g. cifs).
|
||||
|
@ -253,18 +253,18 @@ $ git ls-files -s
|
|||
Using ``assume unchanged'' bit
|
||||
------------------------------
|
||||
|
||||
Many operations in git depend on your filesystem to have an
|
||||
Many operations in Git depend on your filesystem to have an
|
||||
efficient `lstat(2)` implementation, so that `st_mtime`
|
||||
information for working tree files can be cheaply checked to see
|
||||
if the file contents have changed from the version recorded in
|
||||
the index file. Unfortunately, some filesystems have
|
||||
inefficient `lstat(2)`. If your filesystem is one of them, you
|
||||
can set "assume unchanged" bit to paths you have not changed to
|
||||
cause git not to do this check. Note that setting this bit on a
|
||||
path does not mean git will check the contents of the file to
|
||||
see if it has changed -- it makes git to omit any checking and
|
||||
cause Git not to do this check. Note that setting this bit on a
|
||||
path does not mean Git will check the contents of the file to
|
||||
see if it has changed -- it makes Git to omit any checking and
|
||||
assume it has *not* changed. When you make changes to working
|
||||
tree files, you have to explicitly tell git about it by dropping
|
||||
tree files, you have to explicitly tell Git about it by dropping
|
||||
"assume unchanged" bit, either before or after you modify them.
|
||||
|
||||
In order to set "assume unchanged" bit, use `--assume-unchanged`
|
||||
|
@ -274,7 +274,7 @@ have the "assume unchanged" bit set, use `git ls-files -v`
|
|||
|
||||
The command looks at `core.ignorestat` configuration variable. When
|
||||
this is true, paths updated with `git update-index paths...` and
|
||||
paths updated with other git commands that update both index and
|
||||
paths updated with other Git commands that update both index and
|
||||
working tree (e.g. 'git apply --index', 'git checkout-index -u',
|
||||
and 'git read-tree -u') are automatically marked as "assume
|
||||
unchanged". Note that "assume unchanged" bit is *not* set if
|
||||
|
|
|
@ -73,7 +73,7 @@ in ref value. Log lines are formatted as:
|
|||
Where "oldsha1" is the 40 character hexadecimal value previously
|
||||
stored in <ref>, "newsha1" is the 40 character hexadecimal value of
|
||||
<newvalue> and "committer" is the committer's name, email address
|
||||
and date in the standard GIT committer ident format.
|
||||
and date in the standard Git committer ident format.
|
||||
|
||||
Optionally with -m:
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ SYNOPSIS
|
|||
DESCRIPTION
|
||||
-----------
|
||||
Invoked by 'git archive --remote' and sends a generated archive to the
|
||||
other end over the git protocol.
|
||||
other end over the Git protocol.
|
||||
|
||||
This command is usually not invoked directly by the end user. The UI
|
||||
for the protocol is on the 'git archive' side, and the program pair
|
||||
|
|
|
@ -26,7 +26,7 @@ OPTIONS
|
|||
-------
|
||||
|
||||
--strict::
|
||||
Do not try <directory>/.git/ if <directory> is no git directory.
|
||||
Do not try <directory>/.git/ if <directory> is no Git directory.
|
||||
|
||||
--timeout=<n>::
|
||||
Interrupt transfer after <n> seconds of inactivity.
|
||||
|
|
|
@ -3,7 +3,7 @@ git-var(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-var - Show a git logical variable
|
||||
git-var - Show a Git logical variable
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
|
@ -13,13 +13,13 @@ SYNOPSIS
|
|||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Prints a git logical variable.
|
||||
Prints a Git logical variable.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-l::
|
||||
Cause the logical variables to be listed. In addition, all the
|
||||
variables of the git configuration file .git/config are listed
|
||||
variables of the Git configuration file .git/config are listed
|
||||
as well. (However, the configuration variables listing functionality
|
||||
is deprecated in favor of `git config -l`.)
|
||||
|
||||
|
@ -35,10 +35,10 @@ GIT_AUTHOR_IDENT::
|
|||
The author of a piece of code.
|
||||
|
||||
GIT_COMMITTER_IDENT::
|
||||
The person who put a piece of code into git.
|
||||
The person who put a piece of code into Git.
|
||||
|
||||
GIT_EDITOR::
|
||||
Text editor for use by git commands. The value is meant to be
|
||||
Text editor for use by Git commands. The value is meant to be
|
||||
interpreted by the shell when it is used. Examples: `~/bin/vi`,
|
||||
`$SOME_ENVIRONMENT_VARIABLE`, `"C:\Program Files\Vim\gvim.exe"
|
||||
--nofork`. The order of preference is the `$GIT_EDITOR`
|
||||
|
@ -50,7 +50,7 @@ ifdef::git-default-editor[]
|
|||
endif::git-default-editor[]
|
||||
|
||||
GIT_PAGER::
|
||||
Text viewer for use by git commands (e.g., 'less'). The value
|
||||
Text viewer for use by Git commands (e.g., 'less'). The value
|
||||
is meant to be interpreted by the shell. The order of preference
|
||||
is the `$GIT_PAGER` environment variable, then `core.pager`
|
||||
configuration, then `$PAGER`, and then the default chosen at
|
||||
|
|
|
@ -3,7 +3,7 @@ git-verify-pack(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-verify-pack - Validate packed git archive files
|
||||
git-verify-pack - Validate packed Git archive files
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
|
@ -14,7 +14,7 @@ SYNOPSIS
|
|||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Reads given idx file for packed git archive created with the
|
||||
Reads given idx file for packed Git archive created with the
|
||||
'git pack-objects' command and verifies idx file and the
|
||||
corresponding pack file.
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ OPTIONS
|
|||
Print the contents of the tag object before validating it.
|
||||
|
||||
<tag>...::
|
||||
SHA1 identifiers of git tag objects.
|
||||
SHA1 identifiers of Git tag objects.
|
||||
|
||||
GIT
|
||||
---
|
||||
|
|
|
@ -3,7 +3,7 @@ git-web{litdd}browse(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
git-web--browse - git helper script to launch a web browser
|
||||
git-web--browse - Git helper script to launch a web browser
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -50,7 +50,7 @@ OPTIONS
|
|||
|
||||
-c <conf.var>::
|
||||
--config=<conf.var>::
|
||||
CONF.VAR is looked up in the git config files. If it's set,
|
||||
CONF.VAR is looked up in the Git config files. If it's set,
|
||||
then its value specifies the browser that should be used.
|
||||
|
||||
CONFIGURATION VARIABLES
|
||||
|
|
|
@ -24,7 +24,7 @@ This manual page describes only the most frequently used options.
|
|||
OPTIONS
|
||||
-------
|
||||
-p::
|
||||
Show textual diffs, instead of the git internal diff
|
||||
Show textual diffs, instead of the Git internal diff
|
||||
output format that is useful only to tell the changed
|
||||
paths and their nature of changes.
|
||||
|
||||
|
@ -36,7 +36,7 @@ OPTIONS
|
|||
exclusive, top inclusive).
|
||||
|
||||
-r::
|
||||
Show git internal diff output, but for the whole tree,
|
||||
Show Git internal diff output, but for the whole tree,
|
||||
not just the top level.
|
||||
|
||||
-m::
|
||||
|
|
|
@ -27,11 +27,11 @@ commands. The link:user-manual.html[Git User's Manual] has a more
|
|||
in-depth introduction.
|
||||
|
||||
After you mastered the basic concepts, you can come back to this
|
||||
page to learn what commands git offers. You can learn more about
|
||||
individual git commands with "git help command". linkgit:gitcli[7]
|
||||
page to learn what commands Git offers. You can learn more about
|
||||
individual Git commands with "git help command". linkgit:gitcli[7]
|
||||
manual page gives you an overview of the command line command syntax.
|
||||
|
||||
Formatted and hyperlinked version of the latest git documentation
|
||||
Formatted and hyperlinked version of the latest Git documentation
|
||||
can be viewed at `http://git-htmldocs.googlecode.com/git/git.html`.
|
||||
|
||||
ifdef::stalenotes[]
|
||||
|
@ -39,7 +39,7 @@ ifdef::stalenotes[]
|
|||
============
|
||||
|
||||
You are reading the documentation for the latest (possibly
|
||||
unreleased) version of git, that is available from 'master'
|
||||
unreleased) version of Git, that is available from 'master'
|
||||
branch of the `git.git` repository.
|
||||
Documentation for older releases are available here:
|
||||
|
||||
|
@ -355,12 +355,12 @@ endif::stalenotes[]
|
|||
OPTIONS
|
||||
-------
|
||||
--version::
|
||||
Prints the git suite version that the 'git' program came from.
|
||||
Prints the Git suite version that the 'git' program came from.
|
||||
|
||||
--help::
|
||||
Prints the synopsis and a list of the most commonly used
|
||||
commands. If the option '--all' or '-a' is given then all
|
||||
available commands are printed. If a git command is named this
|
||||
available commands are printed. If a Git command is named this
|
||||
option will bring up the manual page for that command.
|
||||
+
|
||||
Other options are available to control how the manual page is
|
||||
|
@ -375,22 +375,22 @@ help ...`.
|
|||
'git config' (subkeys separated by dots).
|
||||
|
||||
--exec-path[=<path>]::
|
||||
Path to wherever your core git programs are installed.
|
||||
Path to wherever your core Git programs are installed.
|
||||
This can also be controlled by setting the GIT_EXEC_PATH
|
||||
environment variable. If no path is given, 'git' will print
|
||||
the current setting and then exit.
|
||||
|
||||
--html-path::
|
||||
Print the path, without trailing slash, where git's HTML
|
||||
Print the path, without trailing slash, where Git's HTML
|
||||
documentation is installed and exit.
|
||||
|
||||
--man-path::
|
||||
Print the manpath (see `man(1)`) for the man pages for
|
||||
this version of git and exit.
|
||||
this version of Git and exit.
|
||||
|
||||
--info-path::
|
||||
Print the path where the Info files documenting this
|
||||
version of git are installed and exit.
|
||||
version of Git are installed and exit.
|
||||
|
||||
-p::
|
||||
--paginate::
|
||||
|
@ -400,7 +400,7 @@ help ...`.
|
|||
below).
|
||||
|
||||
--no-pager::
|
||||
Do not pipe git output into a pager.
|
||||
Do not pipe Git output into a pager.
|
||||
|
||||
--git-dir=<path>::
|
||||
Set the path to the repository. This can also be controlled by
|
||||
|
@ -416,7 +416,7 @@ help ...`.
|
|||
more detailed discussion).
|
||||
|
||||
--namespace=<path>::
|
||||
Set the git namespace. See linkgit:gitnamespaces[7] for more
|
||||
Set the Git namespace. See linkgit:gitnamespaces[7] for more
|
||||
details. Equivalent to setting the `GIT_NAMESPACE` environment
|
||||
variable.
|
||||
|
||||
|
@ -426,7 +426,7 @@ help ...`.
|
|||
directory.
|
||||
|
||||
--no-replace-objects::
|
||||
Do not use replacement refs to replace git objects. See
|
||||
Do not use replacement refs to replace Git objects. See
|
||||
linkgit:git-replace[1] for more information.
|
||||
|
||||
--literal-pathspecs::
|
||||
|
@ -438,7 +438,7 @@ help ...`.
|
|||
GIT COMMANDS
|
||||
------------
|
||||
|
||||
We divide git into high level ("porcelain") commands and low level
|
||||
We divide Git into high level ("porcelain") commands and low level
|
||||
("plumbing") commands.
|
||||
|
||||
High-level commands (porcelain)
|
||||
|
@ -475,7 +475,7 @@ include::cmds-foreignscminterface.txt[]
|
|||
Low-level commands (plumbing)
|
||||
-----------------------------
|
||||
|
||||
Although git includes its
|
||||
Although Git includes its
|
||||
own porcelain layer, its low-level commands are sufficient to support
|
||||
development of alternative porcelains. Developers of such porcelains
|
||||
might start by reading about linkgit:git-update-index[1] and
|
||||
|
@ -596,7 +596,7 @@ Identifier Terminology
|
|||
|
||||
Symbolic Identifiers
|
||||
--------------------
|
||||
Any git command accepting any <object> can also use the following
|
||||
Any Git command accepting any <object> can also use the following
|
||||
symbolic notation:
|
||||
|
||||
HEAD::
|
||||
|
@ -632,13 +632,13 @@ Please see linkgit:gitglossary[7].
|
|||
|
||||
Environment Variables
|
||||
---------------------
|
||||
Various git commands use the following environment variables:
|
||||
Various Git commands use the following environment variables:
|
||||
|
||||
The git Repository
|
||||
The Git Repository
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
These environment variables apply to 'all' core git commands. Nb: it
|
||||
These environment variables apply to 'all' core Git commands. Nb: it
|
||||
is worth noting that they may be used/overridden by SCMS sitting above
|
||||
git so take care if using Cogito etc.
|
||||
Git so take care if using Cogito etc.
|
||||
|
||||
'GIT_INDEX_FILE'::
|
||||
This environment allows the specification of an alternate
|
||||
|
@ -652,10 +652,10 @@ git so take care if using Cogito etc.
|
|||
directory is used.
|
||||
|
||||
'GIT_ALTERNATE_OBJECT_DIRECTORIES'::
|
||||
Due to the immutable nature of git objects, old objects can be
|
||||
Due to the immutable nature of Git objects, old objects can be
|
||||
archived into shared, read-only directories. This variable
|
||||
specifies a ":" separated (on Windows ";" separated) list
|
||||
of git object directories which can be used to search for git
|
||||
of Git object directories which can be used to search for Git
|
||||
objects. New objects will not be written to these directories.
|
||||
|
||||
'GIT_DIR'::
|
||||
|
@ -672,12 +672,12 @@ git so take care if using Cogito etc.
|
|||
option and the core.worktree configuration variable.
|
||||
|
||||
'GIT_NAMESPACE'::
|
||||
Set the git namespace; see linkgit:gitnamespaces[7] for details.
|
||||
Set the Git namespace; see linkgit:gitnamespaces[7] for details.
|
||||
The '--namespace' command-line option also sets this value.
|
||||
|
||||
'GIT_CEILING_DIRECTORIES'::
|
||||
This should be a colon-separated list of absolute paths.
|
||||
If set, it is a list of directories that git should not chdir
|
||||
If set, it is a list of directories that Git should not chdir
|
||||
up into while looking for a repository directory.
|
||||
It will not exclude the current working directory or
|
||||
a GIT_DIR set on the command line or in the environment.
|
||||
|
@ -685,15 +685,15 @@ git so take care if using Cogito etc.
|
|||
|
||||
'GIT_DISCOVERY_ACROSS_FILESYSTEM'::
|
||||
When run in a directory that does not have ".git" repository
|
||||
directory, git tries to find such a directory in the parent
|
||||
directory, Git tries to find such a directory in the parent
|
||||
directories to find the top of the working tree, but by default it
|
||||
does not cross filesystem boundaries. This environment variable
|
||||
can be set to true to tell git not to stop at filesystem
|
||||
can be set to true to tell Git not to stop at filesystem
|
||||
boundaries. Like 'GIT_CEILING_DIRECTORIES', this will not affect
|
||||
an explicit repository directory set via 'GIT_DIR' or on the
|
||||
command line.
|
||||
|
||||
git Commits
|
||||
Git Commits
|
||||
~~~~~~~~~~~
|
||||
'GIT_AUTHOR_NAME'::
|
||||
'GIT_AUTHOR_EMAIL'::
|
||||
|
@ -704,13 +704,13 @@ git Commits
|
|||
'EMAIL'::
|
||||
see linkgit:git-commit-tree[1]
|
||||
|
||||
git Diffs
|
||||
Git Diffs
|
||||
~~~~~~~~~
|
||||
'GIT_DIFF_OPTS'::
|
||||
Only valid setting is "--unified=??" or "-u??" to set the
|
||||
number of context lines shown when a unified diff is created.
|
||||
This takes precedence over any "-U" or "--unified" option
|
||||
value passed on the git diff command line.
|
||||
value passed on the Git diff command line.
|
||||
|
||||
'GIT_EXTERNAL_DIFF'::
|
||||
When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
|
||||
|
@ -745,13 +745,13 @@ other
|
|||
|
||||
'GIT_PAGER'::
|
||||
This environment variable overrides `$PAGER`. If it is set
|
||||
to an empty string or to the value "cat", git will not launch
|
||||
to an empty string or to the value "cat", Git will not launch
|
||||
a pager. See also the `core.pager` option in
|
||||
linkgit:git-config[1].
|
||||
|
||||
'GIT_EDITOR'::
|
||||
This environment variable overrides `$EDITOR` and `$VISUAL`.
|
||||
It is used by several git commands when, on interactive mode,
|
||||
It is used by several Git commands when, on interactive mode,
|
||||
an editor is to be launched. See also linkgit:git-var[1]
|
||||
and the `core.editor` option in linkgit:git-config[1].
|
||||
|
||||
|
@ -772,7 +772,7 @@ personal `.ssh/config` file. Please consult your ssh documentation
|
|||
for further details.
|
||||
|
||||
'GIT_ASKPASS'::
|
||||
If this environment variable is set, then git commands which need to
|
||||
If this environment variable is set, then Git commands which need to
|
||||
acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
|
||||
will call this program with a suitable prompt as command line argument
|
||||
and read the password from its STDOUT. See also the 'core.askpass'
|
||||
|
@ -793,30 +793,30 @@ for further details.
|
|||
after each commit-oriented record have been flushed. If this
|
||||
variable is set to "0", the output of these commands will be done
|
||||
using completely buffered I/O. If this environment variable is
|
||||
not set, git will choose buffered or record-oriented flushing
|
||||
not set, Git will choose buffered or record-oriented flushing
|
||||
based on whether stdout appears to be redirected to a file or not.
|
||||
|
||||
'GIT_TRACE'::
|
||||
If this variable is set to "1", "2" or "true" (comparison
|
||||
is case insensitive), git will print `trace:` messages on
|
||||
is case insensitive), Git will print `trace:` messages on
|
||||
stderr telling about alias expansion, built-in command
|
||||
execution and external command execution.
|
||||
If this variable is set to an integer value greater than 1
|
||||
and lower than 10 (strictly) then git will interpret this
|
||||
and lower than 10 (strictly) then Git will interpret this
|
||||
value as an open file descriptor and will try to write the
|
||||
trace messages into this file descriptor.
|
||||
Alternatively, if this variable is set to an absolute path
|
||||
(starting with a '/' character), git will interpret this
|
||||
(starting with a '/' character), Git will interpret this
|
||||
as a file path and will try to write the trace messages
|
||||
into it.
|
||||
|
||||
GIT_LITERAL_PATHSPECS::
|
||||
Setting this variable to `1` will cause git to treat all
|
||||
Setting this variable to `1` will cause Git to treat all
|
||||
pathspecs literally, rather than as glob patterns. For example,
|
||||
running `GIT_LITERAL_PATHSPECS=1 git log -- '*.c'` will search
|
||||
for commits that touch the path `*.c`, not any paths that the
|
||||
glob `*.c` matches. You might want this if you are feeding
|
||||
literal paths to git (e.g., paths previously given to you by
|
||||
literal paths to Git (e.g., paths previously given to you by
|
||||
`git ls-tree`, `--raw` diff output, etc).
|
||||
|
||||
|
||||
|
@ -824,10 +824,10 @@ Discussion[[Discussion]]
|
|||
------------------------
|
||||
|
||||
More detail on the following is available from the
|
||||
link:user-manual.html#git-concepts[git concepts chapter of the
|
||||
link:user-manual.html#git-concepts[Git concepts chapter of the
|
||||
user-manual] and linkgit:gitcore-tutorial[7].
|
||||
|
||||
A git project normally consists of a working directory with a ".git"
|
||||
A Git project normally consists of a working directory with a ".git"
|
||||
subdirectory at the top level. The .git directory contains, among other
|
||||
things, a compressed object database representing the complete history
|
||||
of the project, an "index" file which links that history to the current
|
||||
|
@ -877,12 +877,12 @@ FURTHER DOCUMENTATION
|
|||
---------------------
|
||||
|
||||
See the references in the "description" section to get started
|
||||
using git. The following is probably more detail than necessary
|
||||
using Git. The following is probably more detail than necessary
|
||||
for a first-time user.
|
||||
|
||||
The link:user-manual.html#git-concepts[git concepts chapter of the
|
||||
The link:user-manual.html#git-concepts[Git concepts chapter of the
|
||||
user-manual] and linkgit:gitcore-tutorial[7] both provide
|
||||
introductions to the underlying git architecture.
|
||||
introductions to the underlying Git architecture.
|
||||
|
||||
See linkgit:gitworkflows[7] for an overview of recommended workflows.
|
||||
|
||||
|
@ -890,7 +890,7 @@ See also the link:howto-index.html[howto] documents for some useful
|
|||
examples.
|
||||
|
||||
The internals are documented in the
|
||||
link:technical/api-index.html[GIT API documentation].
|
||||
link:technical/api-index.html[Git API documentation].
|
||||
|
||||
Users migrating from CVS may also want to
|
||||
read linkgit:gitcvs-migration[7].
|
||||
|
@ -899,7 +899,7 @@ read linkgit:gitcvs-migration[7].
|
|||
Authors
|
||||
-------
|
||||
Git was started by Linus Torvalds, and is currently maintained by Junio
|
||||
C Hamano. Numerous contributions have come from the git mailing list
|
||||
C Hamano. Numerous contributions have come from the Git mailing list
|
||||
<git@vger.kernel.org>. http://www.ohloh.net/p/git/contributors/summary
|
||||
gives you a more complete list of contributors.
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ attribute. The rules how the pattern matches paths are the
|
|||
same as in `.gitignore` files; see linkgit:gitignore[5].
|
||||
Unlike `.gitignore`, negative patterns are forbidden.
|
||||
|
||||
When deciding what attributes are assigned to a path, git
|
||||
When deciding what attributes are assigned to a path, Git
|
||||
consults `$GIT_DIR/info/attributes` file (which has the highest
|
||||
precedence), `.gitattributes` file in the same directory as the
|
||||
path in question, and its parent directories up to the toplevel of the
|
||||
|
@ -94,7 +94,7 @@ the name of the attribute prefixed with an exclamation point `!`.
|
|||
EFFECTS
|
||||
-------
|
||||
|
||||
Certain operations by git can be influenced by assigning
|
||||
Certain operations by Git can be influenced by assigning
|
||||
particular attributes to a path. Currently, the following
|
||||
operations are attributes-aware.
|
||||
|
||||
|
@ -104,7 +104,7 @@ Checking-out and checking-in
|
|||
These attributes affect how the contents stored in the
|
||||
repository are copied to the working tree files when commands
|
||||
such as 'git checkout' and 'git merge' run. They also affect how
|
||||
git stores the contents you prepare in the working tree in the
|
||||
Git stores the contents you prepare in the working tree in the
|
||||
repository upon 'git add' and 'git commit'.
|
||||
|
||||
`text`
|
||||
|
@ -124,22 +124,22 @@ Set::
|
|||
|
||||
Unset::
|
||||
|
||||
Unsetting the `text` attribute on a path tells git not to
|
||||
Unsetting the `text` attribute on a path tells Git not to
|
||||
attempt any end-of-line conversion upon checkin or checkout.
|
||||
|
||||
Set to string value "auto"::
|
||||
|
||||
When `text` is set to "auto", the path is marked for automatic
|
||||
end-of-line normalization. If git decides that the content is
|
||||
end-of-line normalization. If Git decides that the content is
|
||||
text, its line endings are normalized to LF on checkin.
|
||||
|
||||
Unspecified::
|
||||
|
||||
If the `text` attribute is unspecified, git uses the
|
||||
If the `text` attribute is unspecified, Git uses the
|
||||
`core.autocrlf` configuration variable to determine if the
|
||||
file should be converted.
|
||||
|
||||
Any other value causes git to act as if `text` has been left
|
||||
Any other value causes Git to act as if `text` has been left
|
||||
unspecified.
|
||||
|
||||
`eol`
|
||||
|
@ -151,13 +151,13 @@ content checks, effectively setting the `text` attribute.
|
|||
|
||||
Set to string value "crlf"::
|
||||
|
||||
This setting forces git to normalize line endings for this
|
||||
This setting forces Git to normalize line endings for this
|
||||
file on checkin and convert them to CRLF when the file is
|
||||
checked out.
|
||||
|
||||
Set to string value "lf"::
|
||||
|
||||
This setting forces git to normalize line endings to LF on
|
||||
This setting forces Git to normalize line endings to LF on
|
||||
checkin and prevents conversion to CRLF when the file is
|
||||
checked out.
|
||||
|
||||
|
@ -176,11 +176,11 @@ crlf=input eol=lf
|
|||
End-of-line conversion
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
While git normally leaves file contents alone, it can be configured to
|
||||
While Git normally leaves file contents alone, it can be configured to
|
||||
normalize line endings to LF in the repository and, optionally, to
|
||||
convert them to CRLF when files are checked out.
|
||||
|
||||
Here is an example that will make git normalize .txt, .vcproj and .sh
|
||||
Here is an example that will make Git normalize .txt, .vcproj and .sh
|
||||
files, ensure that .vcproj files have CRLF and .sh files have LF in
|
||||
the working directory, and prevent .jpg files from being normalized
|
||||
regardless of their content.
|
||||
|
@ -194,7 +194,7 @@ regardless of their content.
|
|||
|
||||
Other source code management systems normalize all text files in their
|
||||
repositories, and there are two ways to enable similar automatic
|
||||
normalization in git.
|
||||
normalization in Git.
|
||||
|
||||
If you simply want to have CRLF line endings in your working directory
|
||||
regardless of the repository you are working with, you can set the
|
||||
|
@ -219,9 +219,9 @@ attribute to "auto" for _all_ files.
|
|||
* text=auto
|
||||
------------------------
|
||||
|
||||
This ensures that all files that git considers to be text will have
|
||||
This ensures that all files that Git considers to be text will have
|
||||
normalized (LF) line endings in the repository. The `core.eol`
|
||||
configuration variable controls which line endings git will use for
|
||||
configuration variable controls which line endings Git will use for
|
||||
normalized files in your working directory; the default is to use the
|
||||
native line ending for your platform, or CRLF if `core.autocrlf` is
|
||||
set.
|
||||
|
@ -234,7 +234,7 @@ directory:
|
|||
|
||||
-------------------------------------------------
|
||||
$ echo "* text=auto" >>.gitattributes
|
||||
$ rm .git/index # Remove the index to force git to
|
||||
$ rm .git/index # Remove the index to force Git to
|
||||
$ git reset # re-scan the working directory
|
||||
$ git status # Show files that will be normalized
|
||||
$ git add -u
|
||||
|
@ -249,17 +249,17 @@ unset their `text` attribute before running 'git add -u'.
|
|||
manual.pdf -text
|
||||
------------------------
|
||||
|
||||
Conversely, text files that git does not detect can have normalization
|
||||
Conversely, text files that Git does not detect can have normalization
|
||||
enabled manually.
|
||||
|
||||
------------------------
|
||||
weirdchars.txt text
|
||||
------------------------
|
||||
|
||||
If `core.safecrlf` is set to "true" or "warn", git verifies if
|
||||
If `core.safecrlf` is set to "true" or "warn", Git verifies if
|
||||
the conversion is reversible for the current setting of
|
||||
`core.autocrlf`. For "true", git rejects irreversible
|
||||
conversions; for "warn", git only prints a warning but accepts
|
||||
`core.autocrlf`. For "true", Git rejects irreversible
|
||||
conversions; for "warn", Git only prints a warning but accepts
|
||||
an irreversible conversion. The safety triggers to prevent such
|
||||
a conversion done to the files in the work tree, but there are a
|
||||
few exceptions. Even though...
|
||||
|
@ -280,7 +280,7 @@ few exceptions. Even though...
|
|||
`ident`
|
||||
^^^^^^^
|
||||
|
||||
When the attribute `ident` is set for a path, git replaces
|
||||
When the attribute `ident` is set for a path, Git replaces
|
||||
`$Id$` in the blob object with `$Id:`, followed by the
|
||||
40-character hexadecimal blob object name, followed by a dollar
|
||||
sign `$` upon checkout. Any byte sequence that begins with
|
||||
|
@ -311,7 +311,7 @@ the appropriate filter program, the project should still be usable.
|
|||
|
||||
Another use of the content filtering is to store the content that cannot
|
||||
be directly used in the repository (e.g. a UUID that refers to the true
|
||||
content stored outside git, or an encrypted content) and turn it into a
|
||||
content stored outside Git, or an encrypted content) and turn it into a
|
||||
usable form upon checkout (e.g. download the external content, or decrypt
|
||||
the encrypted content).
|
||||
|
||||
|
@ -397,7 +397,7 @@ clean/smudge filter or text/eol/ident attributes, merging anything
|
|||
where the attribute is not in place would normally cause merge
|
||||
conflicts.
|
||||
|
||||
To prevent these unnecessary merge conflicts, git can be told to run a
|
||||
To prevent these unnecessary merge conflicts, Git can be told to run a
|
||||
virtual check-out and check-in of all three stages of a file when
|
||||
resolving a three-way merge by setting the `merge.renormalize`
|
||||
configuration variable. This prevents changes caused by check-in
|
||||
|
@ -417,11 +417,11 @@ Generating diff text
|
|||
`diff`
|
||||
^^^^^^
|
||||
|
||||
The attribute `diff` affects how 'git' generates diffs for particular
|
||||
files. It can tell git whether to generate a textual patch for the path
|
||||
The attribute `diff` affects how Git generates diffs for particular
|
||||
files. It can tell Git whether to generate a textual patch for the path
|
||||
or to treat the path as a binary file. It can also affect what line is
|
||||
shown on the hunk header `@@ -k,l +n,m @@` line, tell git to use an
|
||||
external command to generate the diff, or ask git to convert binary
|
||||
shown on the hunk header `@@ -k,l +n,m @@` line, tell Git to use an
|
||||
external command to generate the diff, or ask Git to convert binary
|
||||
files to a text format before generating the diff.
|
||||
|
||||
Set::
|
||||
|
@ -449,7 +449,7 @@ String::
|
|||
specify one or more options, as described in the following
|
||||
section. The options for the diff driver "foo" are defined
|
||||
by the configuration variables in the "diff.foo" section of the
|
||||
git config file.
|
||||
Git config file.
|
||||
|
||||
|
||||
Defining an external diff driver
|
||||
|
@ -467,7 +467,7 @@ To define an external diff driver `jcdiff`, add a section to your
|
|||
command = j-c-diff
|
||||
----------------------------------------------------------------
|
||||
|
||||
When git needs to show you a diff for the path with `diff`
|
||||
When Git needs to show you a diff for the path with `diff`
|
||||
attribute set to `jcdiff`, it calls the command you specified
|
||||
with the above configuration, i.e. `j-c-diff`, with 7
|
||||
parameters, just like `GIT_EXTERNAL_DIFF` program is called.
|
||||
|
@ -606,7 +606,7 @@ should generate it separately and send it as a comment _in
|
|||
addition to_ the usual binary diff that you might send.
|
||||
|
||||
Because text conversion can be slow, especially when doing a
|
||||
large number of them with `git log -p`, git provides a mechanism
|
||||
large number of them with `git log -p`, Git provides a mechanism
|
||||
to cache the output and use it in future diffs. To enable
|
||||
caching, set the "cachetextconv" variable in your diff driver's
|
||||
config. For example:
|
||||
|
@ -619,7 +619,7 @@ config. For example:
|
|||
|
||||
This will cache the result of running "exif" on each blob
|
||||
indefinitely. If you change the textconv config variable for a
|
||||
diff driver, git will automatically invalidate the cache entries
|
||||
diff driver, Git will automatically invalidate the cache entries
|
||||
and re-run the textconv filter. If you want to invalidate the
|
||||
cache manually (e.g., because your version of "exif" was updated
|
||||
and now produces better output), you can remove the cache
|
||||
|
@ -640,7 +640,7 @@ output to resemble unified diff. You are free to locate and report
|
|||
changes in the most appropriate way for your data format.
|
||||
|
||||
A textconv, by comparison, is much more limiting. You provide a
|
||||
transformation of the data into a line-oriented text format, and git
|
||||
transformation of the data into a line-oriented text format, and Git
|
||||
uses its regular diff tools to generate the output. There are several
|
||||
advantages to choosing this method:
|
||||
|
||||
|
@ -650,7 +650,7 @@ advantages to choosing this method:
|
|||
odt2txt).
|
||||
|
||||
2. Git diff features. By performing only the transformation step
|
||||
yourself, you can still utilize many of git's diff features,
|
||||
yourself, you can still utilize many of Git's diff features,
|
||||
including colorization, word-diff, and combined diffs for merges.
|
||||
|
||||
3. Caching. Textconv caching can speed up repeated diffs, such as those
|
||||
|
@ -675,7 +675,7 @@ attribute in the `.gitattributes` file:
|
|||
*.ps -diff
|
||||
------------------------
|
||||
|
||||
This will cause git to generate `Binary files differ` (or a binary
|
||||
This will cause Git to generate `Binary files differ` (or a binary
|
||||
patch, if binary patches are enabled) instead of a regular diff.
|
||||
|
||||
However, one may also want to specify other diff driver attributes. For
|
||||
|
@ -831,7 +831,7 @@ control per path.
|
|||
|
||||
Set::
|
||||
|
||||
Notice all types of potential whitespace errors known to git.
|
||||
Notice all types of potential whitespace errors known to Git.
|
||||
The tab width is taken from the value of the `core.whitespace`
|
||||
configuration variable.
|
||||
|
||||
|
@ -863,7 +863,7 @@ archive files.
|
|||
`export-subst`
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
If the attribute `export-subst` is set for a file then git will expand
|
||||
If the attribute `export-subst` is set for a file then Git will expand
|
||||
several placeholders when adding this file to an archive. The
|
||||
expansion depends on the availability of a commit ID, i.e., if
|
||||
linkgit:git-archive[1] has been given a tree instead of a commit or a
|
||||
|
@ -961,7 +961,7 @@ abc -foo -bar
|
|||
the attributes given to path `t/abc` are computed as follows:
|
||||
|
||||
1. By examining `t/.gitattributes` (which is in the same
|
||||
directory as the path in question), git finds that the first
|
||||
directory as the path in question), Git finds that the first
|
||||
line matches. `merge` attribute is set. It also finds that
|
||||
the second line matches, and attributes `foo` and `bar`
|
||||
are unset.
|
||||
|
|
|
@ -3,7 +3,7 @@ gitcli(7)
|
|||
|
||||
NAME
|
||||
----
|
||||
gitcli - git command line interface and conventions
|
||||
gitcli - Git command line interface and conventions
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -13,7 +13,7 @@ gitcli
|
|||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
This manual describes the convention used throughout git CLI.
|
||||
This manual describes the convention used throughout Git CLI.
|
||||
|
||||
Many commands take revisions (most often "commits", but sometimes
|
||||
"tree-ish", depending on the context and command) and paths as their
|
||||
|
@ -32,7 +32,7 @@ arguments. Here are the rules:
|
|||
between the HEAD commit and the work tree as a whole". You can say
|
||||
`git diff HEAD --` to ask for the latter.
|
||||
|
||||
* Without disambiguating `--`, git makes a reasonable guess, but errors
|
||||
* Without disambiguating `--`, Git makes a reasonable guess, but errors
|
||||
out and asking you to disambiguate when ambiguous. E.g. if you have a
|
||||
file called HEAD in your work tree, `git diff HEAD` is ambiguous, and
|
||||
you have to say either `git diff HEAD --` or `git diff -- HEAD` to
|
||||
|
@ -60,9 +60,9 @@ see `hello.c` in your working tree with the former, but with the latter
|
|||
you will.
|
||||
|
||||
Here are the rules regarding the "flags" that you should follow when you are
|
||||
scripting git:
|
||||
scripting Git:
|
||||
|
||||
* it's preferred to use the non dashed form of git commands, which means that
|
||||
* it's preferred to use the non dashed form of Git commands, which means that
|
||||
you should prefer `git foo` to `git-foo`.
|
||||
|
||||
* splitting short options to separate words (prefer `git foo -a -b`
|
||||
|
@ -90,7 +90,7 @@ scripting git:
|
|||
|
||||
ENHANCED OPTION PARSER
|
||||
----------------------
|
||||
From the git 1.5.4 series and further, many git commands (not all of them at the
|
||||
From the Git 1.5.4 series and further, many Git commands (not all of them at the
|
||||
time of the writing though) come with an enhanced option parser.
|
||||
|
||||
Here is a list of the facilities provided by this option parser.
|
||||
|
@ -117,7 +117,7 @@ usage: git describe [options] <committish>*
|
|||
---------------------------------------------
|
||||
|
||||
--help-all::
|
||||
Some git commands take options that are only used for plumbing or that
|
||||
Some Git commands take options that are only used for plumbing or that
|
||||
are deprecated, and such options are hidden from the default usage. This
|
||||
option gives the full list of options.
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ gitcore-tutorial(7)
|
|||
|
||||
NAME
|
||||
----
|
||||
gitcore-tutorial - A git core tutorial for developers
|
||||
gitcore-tutorial - A Git core tutorial for developers
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -12,17 +12,17 @@ git *
|
|||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
This tutorial explains how to use the "core" git commands to set up and
|
||||
work with a git repository.
|
||||
This tutorial explains how to use the "core" Git commands to set up and
|
||||
work with a Git repository.
|
||||
|
||||
If you just need to use git as a revision control system you may prefer
|
||||
to start with "A Tutorial Introduction to GIT" (linkgit:gittutorial[7]) or
|
||||
link:user-manual.html[the GIT User Manual].
|
||||
If you just need to use Git as a revision control system you may prefer
|
||||
to start with "A Tutorial Introduction to Git" (linkgit:gittutorial[7]) or
|
||||
link:user-manual.html[the Git User Manual].
|
||||
|
||||
However, an understanding of these low-level tools can be helpful if
|
||||
you want to understand git's internals.
|
||||
you want to understand Git's internals.
|
||||
|
||||
The core git is often called "plumbing", with the prettier user
|
||||
The core Git is often called "plumbing", with the prettier user
|
||||
interfaces on top of it called "porcelain". You may not want to use the
|
||||
plumbing directly very often, but it can be good to know what the
|
||||
plumbing does for when the porcelain isn't flushing.
|
||||
|
@ -40,19 +40,19 @@ Deeper technical details are often marked as Notes, which you can
|
|||
skip on your first reading.
|
||||
|
||||
|
||||
Creating a git repository
|
||||
Creating a Git repository
|
||||
-------------------------
|
||||
|
||||
Creating a new git repository couldn't be easier: all git repositories start
|
||||
Creating a new Git repository couldn't be easier: all Git repositories start
|
||||
out empty, and the only thing you need to do is find yourself a
|
||||
subdirectory that you want to use as a working tree - either an empty
|
||||
one for a totally new project, or an existing working tree that you want
|
||||
to import into git.
|
||||
to import into Git.
|
||||
|
||||
For our first example, we're going to start a totally new repository from
|
||||
scratch, with no pre-existing files, and we'll call it 'git-tutorial'.
|
||||
To start up, create a subdirectory for it, change into that
|
||||
subdirectory, and initialize the git infrastructure with 'git init':
|
||||
subdirectory, and initialize the Git infrastructure with 'git init':
|
||||
|
||||
------------------------------------------------
|
||||
$ mkdir git-tutorial
|
||||
|
@ -60,13 +60,13 @@ $ cd git-tutorial
|
|||
$ git init
|
||||
------------------------------------------------
|
||||
|
||||
to which git will reply
|
||||
to which Git will reply
|
||||
|
||||
----------------
|
||||
Initialized empty Git repository in .git/
|
||||
----------------
|
||||
|
||||
which is just git's way of saying that you haven't been doing anything
|
||||
which is just Git's way of saying that you haven't been doing anything
|
||||
strange, and that it will have created a local `.git` directory setup for
|
||||
your new project. You will now have a `.git` directory, and you can
|
||||
inspect that with 'ls'. For your new empty project, it should show you
|
||||
|
@ -102,7 +102,7 @@ start out expecting to work on the `master` branch.
|
|||
|
||||
However, this is only a convention, and you can name your branches
|
||||
anything you want, and don't have to ever even 'have' a `master`
|
||||
branch. A number of the git tools will assume that `.git/HEAD` is
|
||||
branch. A number of the Git tools will assume that `.git/HEAD` is
|
||||
valid, though.
|
||||
|
||||
[NOTE]
|
||||
|
@ -119,18 +119,18 @@ populating your tree.
|
|||
An advanced user may want to take a look at linkgit:gitrepository-layout[5]
|
||||
after finishing this tutorial.
|
||||
|
||||
You have now created your first git repository. Of course, since it's
|
||||
You have now created your first Git repository. Of course, since it's
|
||||
empty, that's not very useful, so let's start populating it with data.
|
||||
|
||||
|
||||
Populating a git repository
|
||||
Populating a Git repository
|
||||
---------------------------
|
||||
|
||||
We'll keep this simple and stupid, so we'll start off with populating a
|
||||
few trivial files just to get a feel for it.
|
||||
|
||||
Start off with just creating any random files that you want to maintain
|
||||
in your git repository. We'll start off with a few bad examples, just to
|
||||
in your Git repository. We'll start off with a few bad examples, just to
|
||||
get a feel for how this works:
|
||||
|
||||
------------------------------------------------
|
||||
|
@ -146,7 +146,7 @@ but to actually check in your hard work, you will have to go through two steps:
|
|||
|
||||
- commit that index file as an object.
|
||||
|
||||
The first step is trivial: when you want to tell git about any changes
|
||||
The first step is trivial: when you want to tell Git about any changes
|
||||
to your working tree, you use the 'git update-index' program. That
|
||||
program normally just takes a list of filenames you want to update, but
|
||||
to avoid trivial mistakes, it refuses to add new entries to the index
|
||||
|
@ -160,10 +160,10 @@ So to populate the index with the two files you just created, you can do
|
|||
$ git update-index --add hello example
|
||||
------------------------------------------------
|
||||
|
||||
and you have now told git to track those two files.
|
||||
and you have now told Git to track those two files.
|
||||
|
||||
In fact, as you did that, if you now look into your object directory,
|
||||
you'll notice that git will have added two new objects to the object
|
||||
you'll notice that Git will have added two new objects to the object
|
||||
database. If you did exactly the steps above, you should now be able to do
|
||||
|
||||
|
||||
|
@ -189,7 +189,7 @@ $ git cat-file -t 557db03de997c86a4a028e1ebd3a1ceb225be238
|
|||
----------------
|
||||
|
||||
where the `-t` tells 'git cat-file' to tell you what the "type" of the
|
||||
object is. git will tell you that you have a "blob" object (i.e., just a
|
||||
object is. Git will tell you that you have a "blob" object (i.e., just a
|
||||
regular file), and you can see the contents with
|
||||
|
||||
----------------
|
||||
|
@ -214,28 +214,28 @@ Anyway, as we mentioned previously, you normally never actually take a
|
|||
look at the objects themselves, and typing long 40-character hex
|
||||
names is not something you'd normally want to do. The above digression
|
||||
was just to show that 'git update-index' did something magical, and
|
||||
actually saved away the contents of your files into the git object
|
||||
actually saved away the contents of your files into the Git object
|
||||
database.
|
||||
|
||||
Updating the index did something else too: it created a `.git/index`
|
||||
file. This is the index that describes your current working tree, and
|
||||
something you should be very aware of. Again, you normally never worry
|
||||
about the index file itself, but you should be aware of the fact that
|
||||
you have not actually really "checked in" your files into git so far,
|
||||
you've only *told* git about them.
|
||||
you have not actually really "checked in" your files into Git so far,
|
||||
you've only *told* Git about them.
|
||||
|
||||
However, since git knows about them, you can now start using some of the
|
||||
most basic git commands to manipulate the files or look at their status.
|
||||
However, since Git knows about them, you can now start using some of the
|
||||
most basic Git commands to manipulate the files or look at their status.
|
||||
|
||||
In particular, let's not even check in the two files into git yet, we'll
|
||||
In particular, let's not even check in the two files into Git yet, we'll
|
||||
start off by adding another line to `hello` first:
|
||||
|
||||
------------------------------------------------
|
||||
$ echo "It's a new day for git" >>hello
|
||||
------------------------------------------------
|
||||
|
||||
and you can now, since you told git about the previous state of `hello`, ask
|
||||
git what has changed in the tree compared to your old index, using the
|
||||
and you can now, since you told Git about the previous state of `hello`, ask
|
||||
Git what has changed in the tree compared to your old index, using the
|
||||
'git diff-files' command:
|
||||
|
||||
------------
|
||||
|
@ -282,11 +282,11 @@ index 557db03..263414f 100644
|
|||
------------
|
||||
|
||||
|
||||
Committing git state
|
||||
Committing Git state
|
||||
--------------------
|
||||
|
||||
Now, we want to go to the next stage in git, which is to take the files
|
||||
that git knows about in the index, and commit them as a real tree. We do
|
||||
Now, we want to go to the next stage in Git, which is to take the files
|
||||
that Git knows about in the index, and commit them as a real tree. We do
|
||||
that in two phases: creating a 'tree' object, and committing that 'tree'
|
||||
object as a 'commit' object together with an explanation of what the
|
||||
tree was all about, along with information of how we came to that state.
|
||||
|
@ -296,7 +296,7 @@ There are no options or other input: `git write-tree` will take the
|
|||
current index state, and write an object that describes that whole
|
||||
index. In other words, we're now tying together all the different
|
||||
filenames with their contents (and their permissions), and we're
|
||||
creating the equivalent of a git "directory" object:
|
||||
creating the equivalent of a Git "directory" object:
|
||||
|
||||
------------------------------------------------
|
||||
$ git write-tree
|
||||
|
@ -415,9 +415,9 @@ regardless of whether the `--cached` flag is used or not. The `--cached`
|
|||
flag really only determines whether the file *contents* to be compared
|
||||
come from the working tree or not.
|
||||
|
||||
This is not hard to understand, as soon as you realize that git simply
|
||||
This is not hard to understand, as soon as you realize that Git simply
|
||||
never knows (or cares) about files that it is not told about
|
||||
explicitly. git will never go *looking* for files to compare, it
|
||||
explicitly. Git will never go *looking* for files to compare, it
|
||||
expects you to tell it what the files are, and that's what the index
|
||||
is there for.
|
||||
================
|
||||
|
@ -433,7 +433,7 @@ update the index cache:
|
|||
$ git update-index hello
|
||||
------------------------------------------------
|
||||
|
||||
(note how we didn't need the `--add` flag this time, since git knew
|
||||
(note how we didn't need the `--add` flag this time, since Git knew
|
||||
about the file already).
|
||||
|
||||
Note what happens to the different 'git diff-{asterisk}' versions here.
|
||||
|
@ -464,7 +464,7 @@ this point (you can continue to edit things and update the index), you
|
|||
can just leave an empty message. Otherwise `git commit` will commit
|
||||
the change for you.
|
||||
|
||||
You've now made your first real git commit. And if you're interested in
|
||||
You've now made your first real Git commit. And if you're interested in
|
||||
looking at what `git commit` really does, feel free to investigate:
|
||||
it's a few very simple shell scripts to generate the helpful (?) commit
|
||||
message headers, and a few one-liners that actually do the
|
||||
|
@ -535,7 +535,7 @@ all, but just show the actual commit message.
|
|||
In fact, together with the 'git rev-list' program (which generates a
|
||||
list of revisions), 'git diff-tree' ends up being a veritable fount of
|
||||
changes. A trivial (but very useful) script called 'git whatchanged' is
|
||||
included with git which does exactly this, and shows a log of recent
|
||||
included with Git which does exactly this, and shows a log of recent
|
||||
activities.
|
||||
|
||||
To see the whole history of our pitiful little git-tutorial project, you
|
||||
|
@ -563,19 +563,19 @@ the log.showroot configuration variable to false. Having this, you
|
|||
can still show it for each command just adding the `--root` option,
|
||||
which is a flag for 'git diff-tree' accepted by both commands.
|
||||
|
||||
With that, you should now be having some inkling of what git does, and
|
||||
With that, you should now be having some inkling of what Git does, and
|
||||
can explore on your own.
|
||||
|
||||
[NOTE]
|
||||
Most likely, you are not directly using the core
|
||||
git Plumbing commands, but using Porcelain such as 'git add', `git-rm'
|
||||
Git Plumbing commands, but using Porcelain such as 'git add', `git-rm'
|
||||
and `git-commit'.
|
||||
|
||||
|
||||
Tagging a version
|
||||
-----------------
|
||||
|
||||
In git, there are two kinds of tags, a "light" one, and an "annotated tag".
|
||||
In Git, there are two kinds of tags, a "light" one, and an "annotated tag".
|
||||
|
||||
A "light" tag is technically nothing more than a branch, except we put
|
||||
it in the `.git/refs/tags/` subdirectory instead of calling it a `head`.
|
||||
|
@ -598,7 +598,7 @@ obviously be an empty diff, but if you continue to develop and commit
|
|||
stuff, you can use your tag as an "anchor-point" to see what has changed
|
||||
since you tagged it.
|
||||
|
||||
An "annotated tag" is actually a real git object, and contains not only a
|
||||
An "annotated tag" is actually a real Git object, and contains not only a
|
||||
pointer to the state you want to tag, but also a small tag name and
|
||||
message, along with optionally a PGP signature that says that yes,
|
||||
you really did
|
||||
|
@ -623,17 +623,17 @@ name for the state at that point.
|
|||
Copying repositories
|
||||
--------------------
|
||||
|
||||
git repositories are normally totally self-sufficient and relocatable.
|
||||
Git repositories are normally totally self-sufficient and relocatable.
|
||||
Unlike CVS, for example, there is no separate notion of
|
||||
"repository" and "working tree". A git repository normally *is* the
|
||||
working tree, with the local git information hidden in the `.git`
|
||||
"repository" and "working tree". A Git repository normally *is* the
|
||||
working tree, with the local Git information hidden in the `.git`
|
||||
subdirectory. There is nothing else. What you see is what you got.
|
||||
|
||||
[NOTE]
|
||||
You can tell git to split the git internal information from
|
||||
You can tell Git to split the Git internal information from
|
||||
the directory that it tracks, but we'll ignore that for now: it's not
|
||||
how normal projects work, and it's really only meant for special uses.
|
||||
So the mental model of "the git information is always tied directly to
|
||||
So the mental model of "the Git information is always tied directly to
|
||||
the working tree that it describes" may not be technically 100%
|
||||
accurate, but it's a good model for all normal use.
|
||||
|
||||
|
@ -649,13 +649,13 @@ $ rm -rf git-tutorial
|
|||
and it will be gone. There's no external repository, and there's no
|
||||
history outside the project you created.
|
||||
|
||||
- if you want to move or duplicate a git repository, you can do so. There
|
||||
- if you want to move or duplicate a Git repository, you can do so. There
|
||||
is 'git clone' command, but if all you want to do is just to
|
||||
create a copy of your repository (with all the full history that
|
||||
went along with it), you can do so with a regular
|
||||
`cp -a git-tutorial new-git-tutorial`.
|
||||
+
|
||||
Note that when you've moved or copied a git repository, your git index
|
||||
Note that when you've moved or copied a Git repository, your Git index
|
||||
file (which caches various information, notably some of the "stat"
|
||||
information for the files involved) will likely need to be refreshed.
|
||||
So after you do a `cp -a` to create a new copy, you'll want to do
|
||||
|
@ -667,7 +667,7 @@ $ git update-index --refresh
|
|||
in the new repository to make sure that the index file is up-to-date.
|
||||
|
||||
Note that the second point is true even across machines. You can
|
||||
duplicate a remote git repository with *any* regular copy mechanism, be it
|
||||
duplicate a remote Git repository with *any* regular copy mechanism, be it
|
||||
'scp', 'rsync' or 'wget'.
|
||||
|
||||
When copying a remote repository, you'll want to at a minimum update the
|
||||
|
@ -694,23 +694,23 @@ The above can also be written as simply
|
|||
$ git reset
|
||||
----------------
|
||||
|
||||
and in fact a lot of the common git command combinations can be scripted
|
||||
and in fact a lot of the common Git command combinations can be scripted
|
||||
with the `git xyz` interfaces. You can learn things by just looking
|
||||
at what the various git scripts do. For example, `git reset` used to be
|
||||
the above two lines implemented in 'git reset', but some things like
|
||||
'git status' and 'git commit' are slightly more complex scripts around
|
||||
the basic git commands.
|
||||
the basic Git commands.
|
||||
|
||||
Many (most?) public remote repositories will not contain any of
|
||||
the checked out files or even an index file, and will *only* contain the
|
||||
actual core git files. Such a repository usually doesn't even have the
|
||||
`.git` subdirectory, but has all the git files directly in the
|
||||
actual core Git files. Such a repository usually doesn't even have the
|
||||
`.git` subdirectory, but has all the Git files directly in the
|
||||
repository.
|
||||
|
||||
To create your own local live copy of such a "raw" git repository, you'd
|
||||
To create your own local live copy of such a "raw" Git repository, you'd
|
||||
first create your own subdirectory for the project, and then copy the
|
||||
raw repository contents into the `.git` directory. For example, to
|
||||
create your own copy of the git repository, you'd do the following
|
||||
create your own copy of the Git repository, you'd do the following
|
||||
|
||||
----------------
|
||||
$ mkdir my-git
|
||||
|
@ -725,7 +725,7 @@ $ git read-tree HEAD
|
|||
----------------
|
||||
|
||||
to populate the index. However, now you have populated the index, and
|
||||
you have all the git internal files, but you will notice that you don't
|
||||
you have all the Git internal files, but you will notice that you don't
|
||||
actually have any of the working tree files to work on. To get
|
||||
those, you'd check them out with
|
||||
|
||||
|
@ -757,7 +757,7 @@ repository, and checked it out.
|
|||
Creating a new branch
|
||||
---------------------
|
||||
|
||||
Branches in git are really nothing more than pointers into the git
|
||||
Branches in Git are really nothing more than pointers into the Git
|
||||
object database from within the `.git/refs/` subdirectory, and as we
|
||||
already discussed, the `HEAD` branch is nothing but a symlink to one of
|
||||
these object pointers.
|
||||
|
@ -849,7 +849,7 @@ $ git commit -m "Some work." -i hello
|
|||
Here, we just added another line to `hello`, and we used a shorthand for
|
||||
doing both `git update-index hello` and `git commit` by just giving the
|
||||
filename directly to `git commit`, with an `-i` flag (it tells
|
||||
git to 'include' that file in addition to what you have done to
|
||||
Git to 'include' that file in addition to what you have done to
|
||||
the index file so far when making the commit). The `-m` flag is to give the
|
||||
commit log message from the command line.
|
||||
|
||||
|
@ -900,7 +900,7 @@ where the first argument is going to be used as the commit message if
|
|||
the merge can be resolved automatically.
|
||||
|
||||
Now, in this case we've intentionally created a situation where the
|
||||
merge will need to be fixed up by hand, though, so git will do as much
|
||||
merge will need to be fixed up by hand, though, so Git will do as much
|
||||
of it as it can automatically (which in this case is just merge the `example`
|
||||
file, which had no differences in the `mybranch` branch), and say:
|
||||
|
||||
|
@ -939,7 +939,7 @@ After you're done, start up `gitk --all` to see graphically what the
|
|||
history looks like. Notice that `mybranch` still exists, and you can
|
||||
switch to it, and continue to work with it if you want to. The
|
||||
`mybranch` branch will not contain the merge, but next time you merge it
|
||||
from the `master` branch, git will know how you merged it, so you'll not
|
||||
from the `master` branch, Git will know how you merged it, so you'll not
|
||||
have to do _that_ merge again.
|
||||
|
||||
Another useful tool, especially if you do not always work in X-Window
|
||||
|
@ -1028,7 +1028,7 @@ Merging external work
|
|||
---------------------
|
||||
|
||||
It's usually much more common that you merge with somebody else than
|
||||
merging with your own branches, so it's worth pointing out that git
|
||||
merging with your own branches, so it's worth pointing out that Git
|
||||
makes that very easy too, and in fact, it's not that different from
|
||||
doing a 'git merge'. In fact, a remote merge ends up being nothing
|
||||
more than "fetch the work from a remote repository into a temporary tag"
|
||||
|
@ -1068,7 +1068,7 @@ and requires you to have a log-in privilege over `ssh` to the
|
|||
remote machine. It finds out the set of objects the other side
|
||||
lacks by exchanging the head commits both ends have and
|
||||
transfers (close to) minimum set of objects. It is by far the
|
||||
most efficient way to exchange git objects between repositories.
|
||||
most efficient way to exchange Git objects between repositories.
|
||||
|
||||
Local directory::
|
||||
`/path/to/repo.git/`
|
||||
|
@ -1077,7 +1077,7 @@ This transport is the same as SSH transport but uses 'sh' to run
|
|||
both ends on the local machine instead of running other end on
|
||||
the remote machine via 'ssh'.
|
||||
|
||||
git Native::
|
||||
Git Native::
|
||||
`git://remote.machine/path/to/repo.git/`
|
||||
+
|
||||
This transport was designed for anonymous downloading. Like SSH
|
||||
|
@ -1099,8 +1099,8 @@ necessary objects. Because of this behavior, they are
|
|||
sometimes also called 'commit walkers'.
|
||||
+
|
||||
The 'commit walkers' are sometimes also called 'dumb
|
||||
transports', because they do not require any git aware smart
|
||||
server like git Native transport does. Any stock HTTP server
|
||||
transports', because they do not require any Git aware smart
|
||||
server like Git Native transport does. Any stock HTTP server
|
||||
that does not even support directory index would suffice. But
|
||||
you must prepare your repository with 'git update-server-info'
|
||||
to help dumb transport downloaders.
|
||||
|
@ -1321,7 +1321,7 @@ update the public repository from it. This is often called
|
|||
|
||||
[NOTE]
|
||||
This public repository could further be mirrored, and that is
|
||||
how git repositories at `kernel.org` are managed.
|
||||
how Git repositories at `kernel.org` are managed.
|
||||
|
||||
Publishing the changes from your local (private) repository to
|
||||
your remote (public) repository requires a write privilege on
|
||||
|
@ -1340,7 +1340,7 @@ done only once.
|
|||
on the remote machine. The communication between the two over
|
||||
the network internally uses an SSH connection.
|
||||
|
||||
Your private repository's git directory is usually `.git`, but
|
||||
Your private repository's Git directory is usually `.git`, but
|
||||
your public repository is often named after the project name,
|
||||
i.e. `<project>.git`. Let's create such a public repository for
|
||||
project `my-git`. After logging into the remote machine, create
|
||||
|
@ -1350,7 +1350,7 @@ an empty directory:
|
|||
$ mkdir my-git.git
|
||||
------------
|
||||
|
||||
Then, make that directory into a git repository by running
|
||||
Then, make that directory into a Git repository by running
|
||||
'git init', but this time, since its name is not the usual
|
||||
`.git`, we do things slightly differently:
|
||||
|
||||
|
@ -1389,7 +1389,7 @@ This synchronizes your public repository to match the named
|
|||
branch head (i.e. `master` in this case) and objects reachable
|
||||
from them in your current repository.
|
||||
|
||||
As a real example, this is how I update my public git
|
||||
As a real example, this is how I update my public Git
|
||||
repository. Kernel.org mirror network takes care of the
|
||||
propagation to other publicly visible machines:
|
||||
|
||||
|
@ -1402,9 +1402,9 @@ Packing your repository
|
|||
-----------------------
|
||||
|
||||
Earlier, we saw that one file under `.git/objects/??/` directory
|
||||
is stored for each git object you create. This representation
|
||||
is stored for each Git object you create. This representation
|
||||
is efficient to create atomically and safely, but
|
||||
not so convenient to transport over the network. Since git objects are
|
||||
not so convenient to transport over the network. Since Git objects are
|
||||
immutable once they are created, there is a way to optimize the
|
||||
storage by "packing them together". The command
|
||||
|
||||
|
@ -1472,14 +1472,14 @@ repositories every once in a while.
|
|||
Working with Others
|
||||
-------------------
|
||||
|
||||
Although git is a truly distributed system, it is often
|
||||
Although Git is a truly distributed system, it is often
|
||||
convenient to organize your project with an informal hierarchy
|
||||
of developers. Linux kernel development is run this way. There
|
||||
is a nice illustration (page 17, "Merges to Mainline") in
|
||||
link:http://www.xenotime.net/linux/mentor/linux-mentoring-2006.pdf[Randy Dunlap's presentation].
|
||||
|
||||
It should be stressed that this hierarchy is purely *informal*.
|
||||
There is nothing fundamental in git that enforces the "chain of
|
||||
There is nothing fundamental in Git that enforces the "chain of
|
||||
patch flow" this hierarchy implies. You do not have to pull
|
||||
from only one remote repository.
|
||||
|
||||
|
@ -1592,7 +1592,7 @@ Working with Others, Shared Repository Style
|
|||
|
||||
If you are coming from CVS background, the style of cooperation
|
||||
suggested in the previous section may be new to you. You do not
|
||||
have to worry. git supports "shared public repository" style of
|
||||
have to worry. Git supports "shared public repository" style of
|
||||
cooperation you are probably more familiar with as well.
|
||||
|
||||
See linkgit:gitcvs-migration[7] for the details.
|
||||
|
@ -1602,7 +1602,7 @@ Bundling your work together
|
|||
|
||||
It is likely that you will be working on more than one thing at
|
||||
a time. It is easy to manage those more-or-less independent tasks
|
||||
using branches with git.
|
||||
using branches with Git.
|
||||
|
||||
We have already seen how branches work previously,
|
||||
with "fun and work" example using two branches. The idea is the
|
||||
|
|
|
@ -3,7 +3,7 @@ gitcredentials(7)
|
|||
|
||||
NAME
|
||||
----
|
||||
gitcredentials - providing usernames and passwords to git
|
||||
gitcredentials - providing usernames and passwords to Git
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -18,13 +18,13 @@ DESCRIPTION
|
|||
Git will sometimes need credentials from the user in order to perform
|
||||
operations; for example, it may need to ask for a username and password
|
||||
in order to access a remote repository over HTTP. This manual describes
|
||||
the mechanisms git uses to request these credentials, as well as some
|
||||
the mechanisms Git uses to request these credentials, as well as some
|
||||
features to avoid inputting these credentials repeatedly.
|
||||
|
||||
REQUESTING CREDENTIALS
|
||||
----------------------
|
||||
|
||||
Without any credential helpers defined, git will try the following
|
||||
Without any credential helpers defined, Git will try the following
|
||||
strategies to ask the user for usernames and passwords:
|
||||
|
||||
1. If the `GIT_ASKPASS` environment variable is set, the program
|
||||
|
@ -59,7 +59,7 @@ for a password. It is generally configured by adding this to your config:
|
|||
username = me
|
||||
---------------------------------------
|
||||
|
||||
Credential helpers, on the other hand, are external programs from which git can
|
||||
Credential helpers, on the other hand, are external programs from which Git can
|
||||
request both usernames and passwords; they typically interface with secure
|
||||
storage provided by the OS or other programs.
|
||||
|
||||
|
@ -79,7 +79,7 @@ store::
|
|||
You may also have third-party helpers installed; search for
|
||||
`credential-*` in the output of `git help -a`, and consult the
|
||||
documentation of individual helpers. Once you have selected a helper,
|
||||
you can tell git to use it by putting its name into the
|
||||
you can tell Git to use it by putting its name into the
|
||||
credential.helper variable.
|
||||
|
||||
1. Find a helper.
|
||||
|
@ -95,7 +95,7 @@ credential-foo
|
|||
$ git help credential-foo
|
||||
-------------------------------------------
|
||||
|
||||
3. Tell git to use it.
|
||||
3. Tell Git to use it.
|
||||
+
|
||||
-------------------------------------------
|
||||
$ git config --global credential.helper foo
|
||||
|
@ -103,7 +103,7 @@ $ git config --global credential.helper foo
|
|||
|
||||
If there are multiple instances of the `credential.helper` configuration
|
||||
variable, each helper will be tried in turn, and may provide a username,
|
||||
password, or nothing. Once git has acquired both a username and a
|
||||
password, or nothing. Once Git has acquired both a username and a
|
||||
password, no more helpers will be tried.
|
||||
|
||||
|
||||
|
@ -114,7 +114,7 @@ Git considers each credential to have a context defined by a URL. This context
|
|||
is used to look up context-specific configuration, and is passed to any
|
||||
helpers, which may use it as an index into secure storage.
|
||||
|
||||
For instance, imagine we are accessing `https://example.com/foo.git`. When git
|
||||
For instance, imagine we are accessing `https://example.com/foo.git`. When Git
|
||||
looks into a config file to see if a section matches this context, it will
|
||||
consider the two a match if the context is a more-specific subset of the
|
||||
pattern in the config file. For example, if you have this in your config file:
|
||||
|
@ -133,10 +133,10 @@ context would not match:
|
|||
username = foo
|
||||
--------------------------------------
|
||||
|
||||
because the hostnames differ. Nor would it match `foo.example.com`; git
|
||||
because the hostnames differ. Nor would it match `foo.example.com`; Git
|
||||
compares hostnames exactly, without considering whether two hosts are part of
|
||||
the same domain. Likewise, a config entry for `http://example.com` would not
|
||||
match: git compares the protocols exactly.
|
||||
match: Git compares the protocols exactly.
|
||||
|
||||
|
||||
CONFIGURATION OPTIONS
|
||||
|
@ -164,7 +164,7 @@ username::
|
|||
|
||||
useHttpPath::
|
||||
|
||||
By default, git does not consider the "path" component of an http URL
|
||||
By default, Git does not consider the "path" component of an http URL
|
||||
to be worth matching via external helpers. This means that a credential
|
||||
stored for `https://example.com/foo.git` will also be used for
|
||||
`https://example.com/bar.git`. If you do want to distinguish these
|
||||
|
@ -175,7 +175,7 @@ CUSTOM HELPERS
|
|||
--------------
|
||||
|
||||
You can write your own custom helpers to interface with any system in
|
||||
which you keep credentials. See the documentation for git's
|
||||
which you keep credentials. See the documentation for Git's
|
||||
link:technical/api-credentials.html[credentials API] for details.
|
||||
|
||||
GIT
|
||||
|
|
|
@ -3,7 +3,7 @@ gitcvs-migration(7)
|
|||
|
||||
NAME
|
||||
----
|
||||
gitcvs-migration - git for CVS users
|
||||
gitcvs-migration - Git for CVS users
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -19,7 +19,7 @@ important than any other. However, you can emulate the CVS model by
|
|||
designating a single shared repository which people can synchronize with;
|
||||
this document explains how to do that.
|
||||
|
||||
Some basic familiarity with git is required. Having gone through
|
||||
Some basic familiarity with Git is required. Having gone through
|
||||
linkgit:gittutorial[7] and
|
||||
linkgit:gitglossary[7] should be sufficient.
|
||||
|
||||
|
@ -81,7 +81,7 @@ other than `master`.
|
|||
Setting Up a Shared Repository
|
||||
------------------------------
|
||||
|
||||
We assume you have already created a git repository for your project,
|
||||
We assume you have already created a Git repository for your project,
|
||||
possibly created from scratch or from a tarball (see
|
||||
linkgit:gittutorial[7]), or imported from an already existing CVS
|
||||
repository (see the next section).
|
||||
|
@ -101,7 +101,7 @@ Next, give every team member read/write access to this repository. One
|
|||
easy way to do this is to give all the team members ssh access to the
|
||||
machine where the repository is hosted. If you don't want to give them a
|
||||
full shell on the machine, there is a restricted shell which only allows
|
||||
users to do git pushes and pulls; see linkgit:git-shell[1].
|
||||
users to do Git pushes and pulls; see linkgit:git-shell[1].
|
||||
|
||||
Put all the committers in the same group, and make the repository
|
||||
writable by that group:
|
||||
|
@ -125,7 +125,7 @@ of the project you are interested in and run linkgit:git-cvsimport[1]:
|
|||
$ git cvsimport -C <destination> <module>
|
||||
-------------------------------------------
|
||||
|
||||
This puts a git archive of the named CVS module in the directory
|
||||
This puts a Git archive of the named CVS module in the directory
|
||||
<destination>, which will be created if necessary.
|
||||
|
||||
The import checks out from CVS every revision of every file. Reportedly
|
||||
|
@ -133,8 +133,8 @@ cvsimport can average some twenty revisions per second, so for a
|
|||
medium-sized project this should not take more than a couple of minutes.
|
||||
Larger projects or remote repositories may take longer.
|
||||
|
||||
The main trunk is stored in the git branch named `origin`, and additional
|
||||
CVS branches are stored in git branches with the same names. The most
|
||||
The main trunk is stored in the Git branch named `origin`, and additional
|
||||
CVS branches are stored in Git branches with the same names. The most
|
||||
recent version of the main trunk is also left checked out on the `master`
|
||||
branch, so you can start adding your own changes right away.
|
||||
|
||||
|
@ -160,10 +160,10 @@ You can enforce finer grained permissions using update hooks. See
|
|||
link:howto/update-hook-example.txt[Controlling access to branches using
|
||||
update hooks].
|
||||
|
||||
Providing CVS Access to a git Repository
|
||||
Providing CVS Access to a Git Repository
|
||||
----------------------------------------
|
||||
|
||||
It is also possible to provide true CVS access to a git repository, so
|
||||
It is also possible to provide true CVS access to a Git repository, so
|
||||
that developers can still use CVS; see linkgit:git-cvsserver[1] for
|
||||
details.
|
||||
|
||||
|
@ -171,8 +171,8 @@ Alternative Development Models
|
|||
------------------------------
|
||||
|
||||
CVS users are accustomed to giving a group of developers commit access to
|
||||
a common repository. As we've seen, this is also possible with git.
|
||||
However, the distributed nature of git allows other development models,
|
||||
a common repository. As we've seen, this is also possible with Git.
|
||||
However, the distributed nature of Git allows other development models,
|
||||
and you may want to first consider whether one of them might be a better
|
||||
fit for your project.
|
||||
|
||||
|
|
|
@ -254,7 +254,7 @@ pattern. Filepairs that match a glob pattern on an earlier line
|
|||
in the file are output before ones that match a later line, and
|
||||
filepairs that do not match any glob pattern are output last.
|
||||
|
||||
As an example, a typical orderfile for the core git probably
|
||||
As an example, a typical orderfile for the core Git probably
|
||||
would look like this:
|
||||
|
||||
------------------------------------------------
|
||||
|
|
|
@ -3,7 +3,7 @@ gitglossary(7)
|
|||
|
||||
NAME
|
||||
----
|
||||
gitglossary - A GIT Glossary
|
||||
gitglossary - A Git Glossary
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -19,7 +19,7 @@ SEE ALSO
|
|||
linkgit:gittutorial[7],
|
||||
linkgit:gittutorial-2[7],
|
||||
linkgit:gitcvs-migration[7],
|
||||
link:everyday.html[Everyday git],
|
||||
link:everyday.html[Everyday Git],
|
||||
link:user-manual.html[The Git User's Manual]
|
||||
|
||||
GIT
|
||||
|
|
|
@ -3,7 +3,7 @@ githooks(5)
|
|||
|
||||
NAME
|
||||
----
|
||||
githooks - Hooks used by git
|
||||
githooks - Hooks used by Git
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -108,7 +108,7 @@ it is not suppressed by the `--no-verify` option. A non-zero exit
|
|||
means a failure of the hook and aborts the commit. It should not
|
||||
be used as replacement for pre-commit hook.
|
||||
|
||||
The sample `prepare-commit-msg` hook that comes with git comments
|
||||
The sample `prepare-commit-msg` hook that comes with Git comments
|
||||
out the `Conflicts:` part of a merge's commit message.
|
||||
|
||||
commit-msg
|
||||
|
@ -304,7 +304,7 @@ for the user.
|
|||
|
||||
The default 'post-receive' hook is empty, but there is
|
||||
a sample script `post-receive-email` provided in the `contrib/hooks`
|
||||
directory in git distribution, which implements sending commit
|
||||
directory in Git distribution, which implements sending commit
|
||||
emails.
|
||||
|
||||
[[post-update]]
|
||||
|
@ -332,7 +332,7 @@ them.
|
|||
When enabled, the default 'post-update' hook runs
|
||||
'git update-server-info' to keep the information used by dumb
|
||||
transports (e.g., HTTP) up-to-date. If you are publishing
|
||||
a git repository that is accessible via HTTP, you should
|
||||
a Git repository that is accessible via HTTP, you should
|
||||
probably enable this hook.
|
||||
|
||||
Both standard output and standard error output are forwarded to
|
||||
|
|
|
@ -13,12 +13,12 @@ DESCRIPTION
|
|||
-----------
|
||||
|
||||
A `gitignore` file specifies intentionally untracked files that
|
||||
git should ignore.
|
||||
Files already tracked by git are not affected; see the NOTES
|
||||
Git should ignore.
|
||||
Files already tracked by Git are not affected; see the NOTES
|
||||
below for details.
|
||||
|
||||
Each line in a `gitignore` file specifies a pattern.
|
||||
When deciding whether to ignore a path, git normally checks
|
||||
When deciding whether to ignore a path, Git normally checks
|
||||
`gitignore` patterns from multiple sources, with the following
|
||||
order of precedence, from highest to lowest (within one level of
|
||||
precedence, the last matching pattern decides the outcome):
|
||||
|
@ -53,17 +53,17 @@ be used.
|
|||
the repository but are specific to one user's workflow) should go into
|
||||
the `$GIT_DIR/info/exclude` file.
|
||||
|
||||
* Patterns which a user wants git to
|
||||
* Patterns which a user wants Git to
|
||||
ignore in all situations (e.g., backup or temporary files generated by
|
||||
the user's editor of choice) generally go into a file specified by
|
||||
`core.excludesfile` in the user's `~/.gitconfig`. Its default value is
|
||||
$XDG_CONFIG_HOME/git/ignore. If $XDG_CONFIG_HOME is either not set or
|
||||
empty, $HOME/.config/git/ignore is used instead.
|
||||
|
||||
The underlying git plumbing tools, such as
|
||||
The underlying Git plumbing tools, such as
|
||||
'git ls-files' and 'git read-tree', read
|
||||
`gitignore` patterns specified by command-line options, or from
|
||||
files specified by command-line options. Higher-level git
|
||||
files specified by command-line options. Higher-level Git
|
||||
tools, such as 'git status' and 'git add',
|
||||
use patterns from the sources specified above.
|
||||
|
||||
|
@ -89,15 +89,15 @@ PATTERN FORMAT
|
|||
a match with a directory. In other words, `foo/` will match a
|
||||
directory `foo` and paths underneath it, but will not match a
|
||||
regular file or a symbolic link `foo` (this is consistent
|
||||
with the way how pathspec works in general in git).
|
||||
with the way how pathspec works in general in Git).
|
||||
|
||||
- If the pattern does not contain a slash '/', git treats it as
|
||||
- If the pattern does not contain a slash '/', Git treats it as
|
||||
a shell glob pattern and checks for a match against the
|
||||
pathname relative to the location of the `.gitignore` file
|
||||
(relative to the toplevel of the work tree if not from a
|
||||
`.gitignore` file).
|
||||
|
||||
- Otherwise, git treats the pattern as a shell glob suitable
|
||||
- Otherwise, Git treats the pattern as a shell glob suitable
|
||||
for consumption by fnmatch(3) with the FNM_PATHNAME flag:
|
||||
wildcards in the pattern will not match a / in the pathname.
|
||||
For example, "Documentation/{asterisk}.html" matches
|
||||
|
@ -131,7 +131,7 @@ NOTES
|
|||
-----
|
||||
|
||||
The purpose of gitignore files is to ensure that certain files
|
||||
not tracked by git remain untracked.
|
||||
not tracked by Git remain untracked.
|
||||
|
||||
To ignore uncommitted changes in a file that is already tracked,
|
||||
use 'git update-index {litdd}assume-unchanged'.
|
||||
|
@ -179,7 +179,7 @@ Another example:
|
|||
$ echo '!/vmlinux*' >arch/foo/kernel/.gitignore
|
||||
--------------------------------------------------------------
|
||||
|
||||
The second .gitignore prevents git from ignoring
|
||||
The second .gitignore prevents Git from ignoring
|
||||
`arch/foo/kernel/vmlinux.lds.S`.
|
||||
|
||||
SEE ALSO
|
||||
|
|
|
@ -3,7 +3,7 @@ gitk(1)
|
|||
|
||||
NAME
|
||||
----
|
||||
gitk - The git repository browser
|
||||
gitk - The Git repository browser
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
@ -18,7 +18,7 @@ the files in the trees of each revision.
|
|||
|
||||
Historically, gitk was the first repository browser. It's written in tcl/tk
|
||||
and started off in a separate repository but was later merged into the main
|
||||
git repository.
|
||||
Git repository.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
@ -108,10 +108,10 @@ SEE ALSO
|
|||
|
||||
'gitview(1)'::
|
||||
A repository browser written in Python using Gtk. It's based on
|
||||
'bzrk(1)' and distributed in the contrib area of the git repository.
|
||||
'bzrk(1)' and distributed in the contrib area of the Git repository.
|
||||
|
||||
'tig(1)'::
|
||||
A minimal repository browser and git tool output highlighter written
|
||||
A minimal repository browser and Git tool output highlighter written
|
||||
in C using Ncurses.
|
||||
|
||||
GIT
|
||||
|
|
|
@ -13,7 +13,7 @@ $GIT_WORK_DIR/.gitmodules
|
|||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
The `.gitmodules` file, located in the top-level directory of a git
|
||||
The `.gitmodules` file, located in the top-level directory of a Git
|
||||
working tree, is a text file with a syntax matching the requirements
|
||||
of linkgit:git-config[1].
|
||||
|
||||
|
@ -24,7 +24,7 @@ option of 'git submodule add'. Each submodule section also contains the
|
|||
following required keys:
|
||||
|
||||
submodule.<name>.path::
|
||||
Defines the path, relative to the top-level directory of the git
|
||||
Defines the path, relative to the top-level directory of the Git
|
||||
working tree, where the submodule is expected to be checked out.
|
||||
The path name must not end with a `/`. All submodule paths must
|
||||
be unique within the .gitmodules file.
|
||||
|
|
|
@ -29,7 +29,7 @@ prevent duplication between new objects added to the repositories
|
|||
without ongoing maintenance, while namespaces do.
|
||||
|
||||
To specify a namespace, set the `GIT_NAMESPACE` environment variable to
|
||||
the namespace. For each ref namespace, git stores the corresponding
|
||||
the namespace. For each ref namespace, Git stores the corresponding
|
||||
refs in a directory under `refs/namespaces/`. For example,
|
||||
`GIT_NAMESPACE=foo` will store refs under `refs/namespaces/foo/`. You
|
||||
can also specify namespaces via the `--namespace` option to
|
||||
|
|
|
@ -12,12 +12,24 @@ $GIT_DIR/*
|
|||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
You may find these things in your git repository (`.git`
|
||||
directory for a repository associated with your working tree, or
|
||||
`<project>.git` directory for a public 'bare' repository. It is
|
||||
also possible to have a working tree where `.git` is a plain
|
||||
ASCII file containing `gitdir: <path>`, i.e. the path to the
|
||||
real git repository).
|
||||
A Git repository comes in two different flavours:
|
||||
|
||||
* a `.git` directory at the root of the working tree;
|
||||
|
||||
* a `<project>.git` directory that is a 'bare' repository
|
||||
(i.e. without its own working tree), that is typically used for
|
||||
exchanging histories with others by pushing into it and fetching
|
||||
from it.
|
||||
|
||||
*Note*: Also you can have a plain text file `.git` at the root of
|
||||
your working tree, containing `gitdir: <path>` to point at the real
|
||||
directory that has the repository. This mechanism is often used for
|
||||
a working tree of a submodule checkout, to allow you in the
|
||||
containing superproject to `git checkout` a branch that does not
|
||||
have the submodule. The `checkout` has to remove the entire
|
||||
submodule working tree, without losing the submodule repository.
|
||||
|
||||
These things may exist in a Git repository.
|
||||
|
||||
objects::
|
||||
Object store associated with this repository. Usually
|
||||
|
@ -108,7 +120,7 @@ HEAD::
|
|||
A symref (see glossary) to the `refs/heads/` namespace
|
||||
describing the currently active branch. It does not mean
|
||||
much if the repository is not associated with any working tree
|
||||
(i.e. a 'bare' repository), but a valid git repository
|
||||
(i.e. a 'bare' repository), but a valid Git repository
|
||||
*must* have the HEAD file; some porcelains may use it to
|
||||
guess the designated "default" branch of the repository
|
||||
(usually 'master'). It is legal if the named branch
|
||||
|
@ -131,7 +143,7 @@ branches::
|
|||
and not likely to be found in modern repositories.
|
||||
|
||||
hooks::
|
||||
Hooks are customization scripts used by various git
|
||||
Hooks are customization scripts used by various Git
|
||||
commands. A handful of sample hooks are installed when
|
||||
'git init' is run, but all of them are disabled by
|
||||
default. To enable, the `.sample` suffix has to be
|
||||
|
@ -169,7 +181,7 @@ info/exclude::
|
|||
This file, by convention among Porcelains, stores the
|
||||
exclude pattern list. `.gitignore` is the per-directory
|
||||
ignore file. 'git status', 'git add', 'git rm' and
|
||||
'git clean' look at it but the core git commands do not look
|
||||
'git clean' look at it but the core Git commands do not look
|
||||
at it. See also: linkgit:gitignore[5].
|
||||
|
||||
remotes::
|
||||
|
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче