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:
Junio C Hamano 2013-02-05 16:13:32 -08:00
Родитель 6d81ce0543 afeef30c34
Коммит e34c7e2b51
137 изменённых файлов: 982 добавлений и 959 удалений

Просмотреть файл

@ -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::

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше