diff options
Diffstat (limited to 'mat/domace_naloge/15/a fast, scalable, distributed revision control system with an')
-rw-r--r-- | mat/domace_naloge/15/a fast, scalable, distributed revision control system with an | 1180 |
1 files changed, 1180 insertions, 0 deletions
diff --git a/mat/domace_naloge/15/a fast, scalable, distributed revision control system with an b/mat/domace_naloge/15/a fast, scalable, distributed revision control system with an new file mode 100644 index 0000000..a786cdd --- /dev/null +++ b/mat/domace_naloge/15/a fast, scalable, distributed revision control system with an @@ -0,0 +1,1180 @@ +GIT(1) Git Manual GIT(1) + +NNAAMMEE + git - the stupid content tracker + +SSYYNNOOPPSSIISS + _g_i_t [--version] [--help] [-C <path>] [-c <name>=<value>] + [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path] + [-p|--paginate|--no-pager] [--no-replace-objects] [--bare] + [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>] + [--super-prefix=<path>] + <command> [<args>] + +DDEESSCCRRIIPPTTIIOONN + Git is a fast, scalable, distributed revision control system with an + unusually rich command set that provides both high-level operations and + full access to internals. + + See ggiittttuuttoorriiaall(7) to get started, then see ggiitteevveerryyddaayy(7) for a useful + minimum set of commands. The GGiitt UUsseerr’’ss MMaannuuaall[1] 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". ggiittccllii(7) manual page gives you + an overview of the command-line command syntax. + + A formatted and hyperlinked copy of the latest Git documentation can be + viewed at hhttttppss::////ggiitt..ggiitthhuubb..iioo//hhttmmllddooccss//ggiitt..hhttmmll. + +OOPPTTIIOONNSS + --version + Prints the Git suite version that the _g_i_t program came from. + + --help + Prints the synopsis and a list of the most commonly used commands. + If the option ----aallll or --aa is given then all 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 + displayed. See ggiitt--hheellpp(1) for more information, because ggiitt ----hheellpp + ...... is converted internally into ggiitt hheellpp ....... + + -C <path> + Run as if git was started in _<_p_a_t_h_> instead of the current working + directory. When multiple --CC options are given, each subsequent + non-absolute --CC <<ppaatthh>> is interpreted relative to the preceding --CC + <<ppaatthh>>. + + This option affects options that expect path name like ----ggiitt--ddiirr + and ----wwoorrkk--ttrreeee in that their interpretations of the path names + would be made relative to the working directory caused by the --CC + option. For example the following invocations are equivalent: + + git --git-dir=a.git --work-tree=b -C c status + git --git-dir=c/a.git --work-tree=c/b status + + -c <name>=<value> + Pass a configuration parameter to the command. The value given will + override values from configuration files. The <name> is expected in + the same format as listed by _g_i_t _c_o_n_f_i_g (subkeys separated by + dots). + + Note that omitting the == in ggiitt --cc ffoooo..bbaarr ...... is allowed and sets + ffoooo..bbaarr to the boolean true value (just like [[ffoooo]]bbaarr would in a + config file). Including the equals but with an empty value (like + ggiitt --cc ffoooo..bbaarr== ......) sets ffoooo..bbaarr to the empty string which ggiitt + ccoonnffiigg ----bbooooll will convert to ffaallssee. + + --exec-path[=<path>] + 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, _g_i_t will print the current setting + and then exit. + + --html-path + Print the path, without trailing slash, where Git’s HTML + documentation is installed and exit. + + --man-path + Print the manpath (see mmaann((11))) for the man pages for this version + of Git and exit. + + --info-path + Print the path where the Info files documenting this version of Git + are installed and exit. + + -p, --paginate + Pipe all output into _l_e_s_s (or if set, $PAGER) if standard output is + a terminal. This overrides the ppaaggeerr..<<ccmmdd>> configuration options + (see the "Configuration Mechanism" section below). + + --no-pager + Do not pipe Git output into a pager. + + --git-dir=<path> + Set the path to the repository. This can also be controlled by + setting the GGIITT__DDIIRR environment variable. It can be an absolute + path or relative path to current working directory. + + --work-tree=<path> + Set the path to the working tree. It can be an absolute path or a + path relative to the current working directory. This can also be + controlled by setting the GIT_WORK_TREE environment variable and + the core.worktree configuration variable (see core.worktree in ggiitt-- + ccoonnffiigg(1) for a more detailed discussion). + + --namespace=<path> + Set the Git namespace. See ggiittnnaammeessppaacceess(7) for more details. + Equivalent to setting the GGIITT__NNAAMMEESSPPAACCEE environment variable. + + --super-prefix=<path> + Currently for internal use only. Set a prefix which gives a path + from above a repository down to its root. One use is to give + submodules context about the superproject that invoked it. + + --bare + Treat the repository as a bare repository. If GIT_DIR environment + is not set, it is set to the current working directory. + + --no-replace-objects + Do not use replacement refs to replace Git objects. See ggiitt-- + rreeppllaaccee(1) for more information. + + --literal-pathspecs + Treat pathspecs literally (i.e. no globbing, no pathspec magic). + This is equivalent to setting the GGIITT__LLIITTEERRAALL__PPAATTHHSSPPEECCSS environment + variable to 11. + + --glob-pathspecs + Add "glob" magic to all pathspec. This is equivalent to setting the + GGIITT__GGLLOOBB__PPAATTHHSSPPEECCSS environment variable to 11. Disabling globbing on + individual pathspecs can be done using pathspec magic ":(literal)" + + --noglob-pathspecs + Add "literal" magic to all pathspec. This is equivalent to setting + the GGIITT__NNOOGGLLOOBB__PPAATTHHSSPPEECCSS environment variable to 11. Enabling + globbing on individual pathspecs can be done using pathspec magic + ":(glob)" + + --icase-pathspecs + Add "icase" magic to all pathspec. This is equivalent to setting + the GGIITT__IICCAASSEE__PPAATTHHSSPPEECCSS environment variable to 11. + + --no-optional-locks + Do not perform optional operations that require locks. This is + equivalent to setting the GGIITT__OOPPTTIIOONNAALL__LLOOCCKKSS to 00. + +GGIITT CCOOMMMMAANNDDSS + We divide Git into high level ("porcelain") commands and low level + ("plumbing") commands. + +HHIIGGHH--LLEEVVEELL CCOOMMMMAANNDDSS ((PPOORRCCEELLAAIINN)) + We separate the porcelain commands into the main commands and some + ancillary user utilities. + + MMaaiinn ppoorrcceellaaiinn ccoommmmaannddss + ggiitt--aadddd(1) + Add file contents to the index. + + ggiitt--aamm(1) + Apply a series of patches from a mailbox. + + ggiitt--aarrcchhiivvee(1) + Create an archive of files from a named tree. + + ggiitt--bbiisseecctt(1) + Use binary search to find the commit that introduced a bug. + + ggiitt--bbrraanncchh(1) + List, create, or delete branches. + + ggiitt--bbuunnddllee(1) + Move objects and refs by archive. + + ggiitt--cchheecckkoouutt(1) + Switch branches or restore working tree files. + + ggiitt--cchheerrrryy--ppiicckk(1) + Apply the changes introduced by some existing commits. + + ggiitt--cciittooooll(1) + Graphical alternative to git-commit. + + ggiitt--cclleeaann(1) + Remove untracked files from the working tree. + + ggiitt--cclloonnee(1) + Clone a repository into a new directory. + + ggiitt--ccoommmmiitt(1) + Record changes to the repository. + + ggiitt--ddeessccrriibbee(1) + Give an object a human readable name based on an available ref. + + ggiitt--ddiiffff(1) + Show changes between commits, commit and working tree, etc. + + ggiitt--ffeettcchh(1) + Download objects and refs from another repository. + + ggiitt--ffoorrmmaatt--ppaattcchh(1) + Prepare patches for e-mail submission. + + ggiitt--ggcc(1) + Cleanup unnecessary files and optimize the local repository. + + ggiitt--ggrreepp(1) + Print lines matching a pattern. + + ggiitt--gguuii(1) + A portable graphical interface to Git. + + ggiitt--iinniitt(1) + Create an empty Git repository or reinitialize an existing one. + + ggiitt--lloogg(1) + Show commit logs. + + ggiitt--mmeerrggee(1) + Join two or more development histories together. + + ggiitt--mmvv(1) + Move or rename a file, a directory, or a symlink. + + ggiitt--nnootteess(1) + Add or inspect object notes. + + ggiitt--ppuullll(1) + Fetch from and integrate with another repository or a local branch. + + ggiitt--ppuusshh(1) + Update remote refs along with associated objects. + + ggiitt--rreebbaassee(1) + Reapply commits on top of another base tip. + + ggiitt--rreesseett(1) + Reset current HEAD to the specified state. + + ggiitt--rreevveerrtt(1) + Revert some existing commits. + + ggiitt--rrmm(1) + Remove files from the working tree and from the index. + + ggiitt--sshhoorrttlloogg(1) + Summarize _g_i_t _l_o_g output. + + ggiitt--sshhooww(1) + Show various types of objects. + + ggiitt--ssttaasshh(1) + Stash the changes in a dirty working directory away. + + ggiitt--ssttaattuuss(1) + Show the working tree status. + + ggiitt--ssuubbmmoodduullee(1) + Initialize, update or inspect submodules. + + ggiitt--ttaagg(1) + Create, list, delete or verify a tag object signed with GPG. + + ggiitt--wwoorrkkttrreeee(1) + Manage multiple working trees. + + ggiittkk(1) + The Git repository browser. + + AAnncciillllaarryy CCoommmmaannddss + Manipulators: + + ggiitt--ccoonnffiigg(1) + Get and set repository or global options. + + ggiitt--ffaasstt--eexxppoorrtt(1) + Git data exporter. + + ggiitt--ffaasstt--iimmppoorrtt(1) + Backend for fast Git data importers. + + ggiitt--ffiilltteerr--bbrraanncchh(1) + Rewrite branches. + + ggiitt--mmeerrggeettooooll(1) + Run merge conflict resolution tools to resolve merge conflicts. + + ggiitt--ppaacckk--rreeffss(1) + Pack heads and tags for efficient repository access. + + ggiitt--pprruunnee(1) + Prune all unreachable objects from the object database. + + ggiitt--rreefflloogg(1) + Manage reflog information. + + ggiitt--rreemmoottee(1) + Manage set of tracked repositories. + + ggiitt--rreeppaacckk(1) + Pack unpacked objects in a repository. + + ggiitt--rreeppllaaccee(1) + Create, list, delete refs to replace objects. + + Interrogators: + + ggiitt--aannnnoottaattee(1) + Annotate file lines with commit information. + + ggiitt--bbllaammee(1) + Show what revision and author last modified each line of a file. + + ggiitt--cchheerrrryy(1) + Find commits yet to be applied to upstream. + + ggiitt--ccoouunntt--oobbjjeeccttss(1) + Count unpacked number of objects and their disk consumption. + + ggiitt--ddiiffffttooooll(1) + Show changes using common diff tools. + + ggiitt--ffsscckk(1) + Verifies the connectivity and validity of the objects in the + database. + + ggiitt--ggeett--ttaarr--ccoommmmiitt--iidd(1) + Extract commit ID from an archive created using git-archive. + + ggiitt--hheellpp(1) + Display help information about Git. + + ggiitt--iinnssttaawweebb(1) + Instantly browse your working repository in gitweb. + + ggiitt--mmeerrggee--ttrreeee(1) + Show three-way merge without touching index. + + ggiitt--rreerreerree(1) + Reuse recorded resolution of conflicted merges. + + ggiitt--rreevv--ppaarrssee(1) + Pick out and massage parameters. + + ggiitt--sshhooww--bbrraanncchh(1) + Show branches and their commits. + + ggiitt--vveerriiffyy--ccoommmmiitt(1) + Check the GPG signature of commits. + + ggiitt--vveerriiffyy--ttaagg(1) + Check the GPG signature of tags. + + ggiitt--wwhhaattcchhaannggeedd(1) + Show logs with difference each commit introduces. + + ggiittwweebb(1) + Git web interface (web frontend to Git repositories). + + IInntteerraaccttiinngg wwiitthh OOtthheerrss + These commands are to interact with foreign SCM and with other people + via patch over e-mail. + + ggiitt--aarrcchhiimmppoorrtt(1) + Import an Arch repository into Git. + + ggiitt--ccvvsseexxppoorrttccoommmmiitt(1) + Export a single commit to a CVS checkout. + + ggiitt--ccvvssiimmppoorrtt(1) + Salvage your data out of another SCM people love to hate. + + ggiitt--ccvvsssseerrvveerr(1) + A CVS server emulator for Git. + + ggiitt--iimmaapp--sseenndd(1) + Send a collection of patches from stdin to an IMAP folder. + + ggiitt--pp44(1) + Import from and submit to Perforce repositories. + + ggiitt--qquuiillttiimmppoorrtt(1) + Applies a quilt patchset onto the current branch. + + ggiitt--rreeqquueesstt--ppuullll(1) + Generates a summary of pending changes. + + ggiitt--sseenndd--eemmaaiill(1) + Send a collection of patches as emails. + + ggiitt--ssvvnn(1) + Bidirectional operation between a Subversion repository and Git. + +LLOOWW--LLEEVVEELL CCOOMMMMAANNDDSS ((PPLLUUMMBBIINNGG)) + 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 ggiitt--uuppddaattee-- + iinnddeexx(1) and ggiitt--rreeaadd--ttrreeee(1). + + The interface (input, output, set of options and the semantics) to + these low-level commands are meant to be a lot more stable than + Porcelain level commands, because these commands are primarily for + scripted use. The interface to Porcelain commands on the other hand are + subject to change in order to improve the end user experience. + + The following description divides the low-level commands into commands + that manipulate objects (in the repository, index, and working tree), + commands that interrogate and compare objects, and commands that move + objects and references between repositories. + + MMaanniippuullaattiioonn ccoommmmaannddss + ggiitt--aappppllyy(1) + Apply a patch to files and/or to the index. + + ggiitt--cchheecckkoouutt--iinnddeexx(1) + Copy files from the index to the working tree. + + ggiitt--ccoommmmiitt--ttrreeee(1) + Create a new commit object. + + ggiitt--hhaasshh--oobbjjeecctt(1) + Compute object ID and optionally creates a blob from a file. + + ggiitt--iinnddeexx--ppaacckk(1) + Build pack index file for an existing packed archive. + + ggiitt--mmeerrggee--ffiillee(1) + Run a three-way file merge. + + ggiitt--mmeerrggee--iinnddeexx(1) + Run a merge for files needing merging. + + ggiitt--mmkkttaagg(1) + Creates a tag object. + + ggiitt--mmkkttrreeee(1) + Build a tree-object from ls-tree formatted text. + + ggiitt--ppaacckk--oobbjjeeccttss(1) + Create a packed archive of objects. + + ggiitt--pprruunnee--ppaacckkeedd(1) + Remove extra objects that are already in pack files. + + ggiitt--rreeaadd--ttrreeee(1) + Reads tree information into the index. + + ggiitt--ssyymmbboolliicc--rreeff(1) + Read, modify and delete symbolic refs. + + ggiitt--uunnppaacckk--oobbjjeeccttss(1) + Unpack objects from a packed archive. + + ggiitt--uuppddaattee--iinnddeexx(1) + Register file contents in the working tree to the index. + + ggiitt--uuppddaattee--rreeff(1) + Update the object name stored in a ref safely. + + ggiitt--wwrriittee--ttrreeee(1) + Create a tree object from the current index. + + IInntteerrrrooggaattiioonn ccoommmmaannddss + ggiitt--ccaatt--ffiillee(1) + Provide content or type and size information for repository + objects. + + ggiitt--ddiiffff--ffiilleess(1) + Compares files in the working tree and the index. + + ggiitt--ddiiffff--iinnddeexx(1) + Compare a tree to the working tree or index. + + ggiitt--ddiiffff--ttrreeee(1) + Compares the content and mode of blobs found via two tree objects. + + ggiitt--ffoorr--eeaacchh--rreeff(1) + Output information on each ref. + + ggiitt--llss--ffiilleess(1) + Show information about files in the index and the working tree. + + ggiitt--llss--rreemmoottee(1) + List references in a remote repository. + + ggiitt--llss--ttrreeee(1) + List the contents of a tree object. + + ggiitt--mmeerrggee--bbaassee(1) + Find as good common ancestors as possible for a merge. + + ggiitt--nnaammee--rreevv(1) + Find symbolic names for given revs. + + ggiitt--ppaacckk--rreedduunnddaanntt(1) + Find redundant pack files. + + ggiitt--rreevv--lliisstt(1) + Lists commit objects in reverse chronological order. + + ggiitt--sshhooww--iinnddeexx(1) + Show packed archive index. + + ggiitt--sshhooww--rreeff(1) + List references in a local repository. + + ggiitt--uunnppaacckk--ffiillee(1) + Creates a temporary file with a blob’s contents. + + ggiitt--vvaarr(1) + Show a Git logical variable. + + ggiitt--vveerriiffyy--ppaacckk(1) + Validate packed Git archive files. + + In general, the interrogate commands do not touch the files in the + working tree. + + SSyynncchhiinngg rreeppoossiittoorriieess + ggiitt--ddaaeemmoonn(1) + A really simple server for Git repositories. + + ggiitt--ffeettcchh--ppaacckk(1) + Receive missing objects from another repository. + + ggiitt--hhttttpp--bbaacckkeenndd(1) + Server side implementation of Git over HTTP. + + ggiitt--sseenndd--ppaacckk(1) + Push objects over Git protocol to another repository. + + ggiitt--uuppddaattee--sseerrvveerr--iinnffoo(1) + Update auxiliary info file to help dumb servers. + + The following are helper commands used by the above; end users + typically do not use them directly. + + ggiitt--hhttttpp--ffeettcchh(1) + Download from a remote Git repository via HTTP. + + ggiitt--hhttttpp--ppuusshh(1) + Push objects over HTTP/DAV to another repository. + + ggiitt--ppaarrssee--rreemmoottee(1) + Routines to help parsing remote repository access parameters. + + ggiitt--rreecceeiivvee--ppaacckk(1) + Receive what is pushed into the repository. + + ggiitt--sshheellll(1) + Restricted login shell for Git-only SSH access. + + ggiitt--uuppllooaadd--aarrcchhiivvee(1) + Send archive back to git-archive. + + ggiitt--uuppllooaadd--ppaacckk(1) + Send objects packed back to git-fetch-pack. + + IInntteerrnnaall hheellppeerr ccoommmmaannddss + These are internal helper commands used by other commands; end users + typically do not use them directly. + + ggiitt--cchheecckk--aattttrr(1) + Display gitattributes information. + + ggiitt--cchheecckk--iiggnnoorree(1) + Debug gitignore / exclude files. + + ggiitt--cchheecckk--mmaaiillmmaapp(1) + Show canonical names and email addresses of contacts. + + ggiitt--cchheecckk--rreeff--ffoorrmmaatt(1) + Ensures that a reference name is well formed. + + ggiitt--ccoolluummnn(1) + Display data in columns. + + ggiitt--ccrreeddeennttiiaall(1) + Retrieve and store user credentials. + + ggiitt--ccrreeddeennttiiaall--ccaacchhee(1) + Helper to temporarily store passwords in memory. + + ggiitt--ccrreeddeennttiiaall--ssttoorree(1) + Helper to store credentials on disk. + + ggiitt--ffmmtt--mmeerrggee--mmssgg(1) + Produce a merge commit message. + + ggiitt--iinntteerrpprreett--ttrraaiilleerrss(1) + add or parse structured information in commit messages. + + ggiitt--mmaaiilliinnffoo(1) + Extracts patch and authorship from a single e-mail message. + + ggiitt--mmaaiillsspplliitt(1) + Simple UNIX mbox splitter program. + + ggiitt--mmeerrggee--oonnee--ffiillee(1) + The standard helper program to use with git-merge-index. + + ggiitt--ppaattcchh--iidd(1) + Compute unique ID for a patch. + + ggiitt--sshh--ii1188nn(1) + Git’s i18n setup code for shell scripts. + + ggiitt--sshh--sseettuupp(1) + Common Git shell script setup code. + + ggiitt--ssttrriippssppaaccee(1) + Remove unnecessary whitespace. + +CCOONNFFIIGGUURRAATTIIOONN MMEECCHHAANNIISSMM + Git uses a simple text format to store customizations that are per + repository and are per user. Such a configuration file may look like + this: + + # + # A '#' or ';' character indicates a comment. + # + + ; core variables + [core] + ; Don't trust file modes + filemode = false + + ; user identity + [user] + name = "Junio C Hamano" + email = "gitster@pobox.com" + + Various commands read from the configuration file and adjust their + operation accordingly. See ggiitt--ccoonnffiigg(1) for a list and more details + about the configuration mechanism. + +IIDDEENNTTIIFFIIEERR TTEERRMMIINNOOLLOOGGYY + <object> + Indicates the object name for any type of object. + + <blob> + Indicates a blob object name. + + <tree> + Indicates a tree object name. + + <commit> + Indicates a commit object name. + + <tree-ish> + Indicates a tree, commit or tag object name. A command that takes a + <tree-ish> argument ultimately wants to operate on a <tree> object + but automatically dereferences <commit> and <tag> objects that + point at a <tree>. + + <commit-ish> + Indicates a commit or tag object name. A command that takes a + <commit-ish> argument ultimately wants to operate on a <commit> + object but automatically dereferences <tag> objects that point at a + <commit>. + + <type> + Indicates that an object type is required. Currently one of: bblloobb, + ttrreeee, ccoommmmiitt, or ttaagg. + + <file> + Indicates a filename - almost always relative to the root of the + tree structure GGIITT__IINNDDEEXX__FFIILLEE describes. + +SSYYMMBBOOLLIICC IIDDEENNTTIIFFIIEERRSS + Any Git command accepting any <object> can also use the following + symbolic notation: + + HEAD + indicates the head of the current branch. + + <tag> + a valid tag _n_a_m_e (i.e. a rreeffss//ttaaggss//<<ttaagg>> reference). + + <head> + a valid head _n_a_m_e (i.e. a rreeffss//hheeaaddss//<<hheeaadd>> reference). + + For a more complete list of ways to spell object names, see "SPECIFYING + REVISIONS" section in ggiittrreevviissiioonnss(7). + +FFIILLEE//DDIIRREECCTTOORRYY SSTTRRUUCCTTUURREE + Please see the ggiittrreeppoossiittoorryy--llaayyoouutt(5) document. + + Read ggiitthhooookkss(5) for more details about each hook. + + Higher level SCMs may provide and manage additional information in the + $$GGIITT__DDIIRR. + +TTEERRMMIINNOOLLOOGGYY + Please see ggiittgglloossssaarryy(7). + +EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS + Various Git commands use the following environment variables: + + TThhee GGiitt RReeppoossiittoorryy + These environment variables apply to _a_l_l core Git commands. Nb: it is + worth noting that they may be used/overridden by SCMS sitting above Git + so take care if using a foreign front-end. + + GGIITT__IINNDDEEXX__FFIILLEE + This environment allows the specification of an alternate index + file. If not specified, the default of $$GGIITT__DDIIRR//iinnddeexx is used. + + GGIITT__IINNDDEEXX__VVEERRSSIIOONN + This environment variable allows the specification of an index + version for new repositories. It won’t affect existing index files. + By default index file version 2 or 3 is used. See ggiitt--uuppddaattee-- + iinnddeexx(1) for more information. + + GGIITT__OOBBJJEECCTT__DDIIRREECCTTOORRYY + If the object storage directory is specified via this environment + variable then the sha1 directories are created underneath - + otherwise the default $$GGIITT__DDIIRR//oobbjjeeccttss directory is used. + + GGIITT__AALLTTEERRNNAATTEE__OOBBJJEECCTT__DDIIRREECCTTOORRIIEESS + 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 objects. New + objects will not be written to these directories. + + Entries that begin with `"` (double-quote) will be interpreted + as C-style quoted paths, removing leading and trailing + double-quotes and respecting backslash escapes. E.g., the value + `"path-with-\"-and-:-in-it":vanilla-path` has two paths: + `path-with-"-and-:-in-it` and `vanilla-path`. + + GGIITT__DDIIRR + If the GGIITT__DDIIRR environment variable is set then it specifies a path + to use instead of the default ..ggiitt for the base of the repository. + The ----ggiitt--ddiirr command-line option also sets this value. + + GGIITT__WWOORRKK__TTRREEEE + Set the path to the root of the working tree. This can also be + controlled by the ----wwoorrkk--ttrreeee command-line option and the + core.worktree configuration variable. + + GGIITT__NNAAMMEESSPPAACCEE + Set the Git namespace; see ggiittnnaammeessppaacceess(7) for details. The + ----nnaammeessppaaccee command-line option also sets this value. + + GGIITT__CCEEIILLIINNGG__DDIIRREECCTTOORRIIEESS + This should be a colon-separated list of absolute paths. If set, it + is a list of directories that Git should not chdir up into while + looking for a repository directory (useful for excluding + slow-loading network directories). It will not exclude the current + working directory or a GIT_DIR set on the command line or in the + environment. Normally, Git has to read the entries in this list and + resolve any symlink that might be present in order to compare them + with the current directory. However, if even this access is slow, + you can add an empty entry to the list to tell Git that the + subsequent entries are not symlinks and needn’t be resolved; e.g., + GGIITT__CCEEIILLIINNGG__DDIIRREECCTTOORRIIEESS==//mmaayybbee//ssyymmlliinnkk:::://vveerryy//ssllooww//nnoonn//ssyymmlliinnkk. + + GGIITT__DDIISSCCOOVVEERRYY__AACCRROOSSSS__FFIILLEESSYYSSTTEEMM + When run in a directory that does not have ".git" repository + 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 boundaries. + Like GGIITT__CCEEIILLIINNGG__DDIIRREECCTTOORRIIEESS, this will not affect an explicit + repository directory set via GGIITT__DDIIRR or on the command line. + + GGIITT__CCOOMMMMOONN__DDIIRR + If this variable is set to a path, non-worktree files that are + normally in $GIT_DIR will be taken from this path instead. + Worktree-specific files such as HEAD or index are taken from + $GIT_DIR. See ggiittrreeppoossiittoorryy--llaayyoouutt(5) and ggiitt--wwoorrkkttrreeee(1) for + details. This variable has lower precedence than other path + variables such as GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY... + + GGiitt CCoommmmiittss + GGIITT__AAUUTTHHOORR__NNAAMMEE, GGIITT__AAUUTTHHOORR__EEMMAAIILL, GGIITT__AAUUTTHHOORR__DDAATTEE, GGIITT__CCOOMMMMIITTTTEERR__NNAAMMEE, + GGIITT__CCOOMMMMIITTTTEERR__EEMMAAIILL, GGIITT__CCOOMMMMIITTTTEERR__DDAATTEE, _E_M_A_I_L + see ggiitt--ccoommmmiitt--ttrreeee(1) + + GGiitt DDiiffffss + GGIITT__DDIIFFFF__OOPPTTSS + 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. + + GGIITT__EEXXTTEERRNNAALL__DDIIFFFF + When the environment variable GGIITT__EEXXTTEERRNNAALL__DDIIFFFF is set, the program + named by it is called, instead of the diff invocation described + above. For a path that is added, removed, or modified, + GGIITT__EEXXTTEERRNNAALL__DDIIFFFF is called with 7 parameters: + + path old-file old-hex old-mode new-file new-hex new-mode + + where: + + <old|new>-file + are files GIT_EXTERNAL_DIFF can use to read the contents of + <old|new>, + + <old|new>-hex + are the 40-hexdigit SHA-1 hashes, + + <old|new>-mode + are the octal representation of the file modes. + + The file parameters can point at the user’s working file (e.g. + nneeww--ffiillee in "git-diff-files"), //ddeevv//nnuullll (e.g. oolldd--ffiillee when a new + file is added), or a temporary file (e.g. oolldd--ffiillee in the index). + GGIITT__EEXXTTEERRNNAALL__DDIIFFFF should not worry about unlinking the temporary + file --- it is removed when GGIITT__EEXXTTEERRNNAALL__DDIIFFFF exits. + + For a path that is unmerged, GGIITT__EEXXTTEERRNNAALL__DDIIFFFF is called with 1 + parameter, <path>. + + For each path GGIITT__EEXXTTEERRNNAALL__DDIIFFFF is called, two environment + variables, GGIITT__DDIIFFFF__PPAATTHH__CCOOUUNNTTEERR and GGIITT__DDIIFFFF__PPAATTHH__TTOOTTAALL are set. + + GGIITT__DDIIFFFF__PPAATTHH__CCOOUUNNTTEERR + A 1-based counter incremented by one for every path. + + GGIITT__DDIIFFFF__PPAATTHH__TTOOTTAALL + The total number of paths. + + ootthheerr + GGIITT__MMEERRGGEE__VVEERRBBOOSSIITTYY + A number controlling the amount of output shown by the recursive + merge strategy. Overrides merge.verbosity. See ggiitt--mmeerrggee(1) + + GGIITT__PPAAGGEERR + This environment variable overrides $$PPAAGGEERR. If it is set to an + empty string or to the value "cat", Git will not launch a pager. + See also the ccoorree..ppaaggeerr option in ggiitt--ccoonnffiigg(1). + + GGIITT__EEDDIITTOORR + This environment variable overrides $$EEDDIITTOORR and $$VVIISSUUAALL. It is used + by several Git commands when, on interactive mode, an editor is to + be launched. See also ggiitt--vvaarr(1) and the ccoorree..eeddiittoorr option in ggiitt-- + ccoonnffiigg(1). + + GGIITT__SSSSHH, GGIITT__SSSSHH__CCOOMMMMAANNDD + If either of these environment variables is set then _g_i_t _f_e_t_c_h and + _g_i_t _p_u_s_h will use the specified command instead of _s_s_h when they + need to connect to a remote system. The command-line parameters + passed to the configured command are determined by the ssh variant. + See sssshh..vvaarriiaanntt option in ggiitt--ccoonnffiigg(1) for details. + + + $$GGIITT__SSSSHH__CCOOMMMMAANNDD takes precedence over $$GGIITT__SSSSHH, and is interpreted + by the shell, which allows additional arguments to be included. + $$GGIITT__SSSSHH on the other hand must be just the path to a program (which + can be a wrapper shell script, if additional arguments are needed). + + + Usually it is easier to configure any desired options through your + personal ..sssshh//ccoonnffiigg file. Please consult your ssh documentation for + further details. + + GGIITT__SSSSHH__VVAARRIIAANNTT + If this environment variable is set, it overrides Git’s + autodetection whether GGIITT__SSSSHH/GGIITT__SSSSHH__CCOOMMMMAANNDD/ccoorree..sssshhCCoommmmaanndd refer + to OpenSSH, plink or tortoiseplink. This variable overrides the + config setting sssshh..vvaarriiaanntt that serves the same purpose. + + GGIITT__AASSKKPPAASSSS + 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 ccoorree..aasskkPPaassss option in ggiitt--ccoonnffiigg(1). + + GGIITT__TTEERRMMIINNAALL__PPRROOMMPPTT + If this environment variable is set to 00, git will not prompt on + the terminal (e.g., when asking for HTTP authentication). + + GGIITT__CCOONNFFIIGG__NNOOSSYYSSTTEEMM + Whether to skip reading settings from the system-wide + $$((pprreeffiixx))//eettcc//ggiittccoonnffiigg file. This environment variable can be used + along with $$HHOOMMEE and $$XXDDGG__CCOONNFFIIGG__HHOOMMEE to create a predictable + environment for a picky script, or you can set it temporarily to + avoid using a buggy //eettcc//ggiittccoonnffiigg file while waiting for someone + with sufficient permissions to fix it. + + GGIITT__FFLLUUSSHH + If this environment variable is set to "1", then commands such as + _g_i_t _b_l_a_m_e (in incremental mode), _g_i_t _r_e_v_-_l_i_s_t, _g_i_t _l_o_g, _g_i_t + _c_h_e_c_k_-_a_t_t_r and _g_i_t _c_h_e_c_k_-_i_g_n_o_r_e will force a flush of the output + stream after each 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 based on whether stdout + appears to be redirected to a file or not. + + GGIITT__TTRRAACCEE + Enables general trace messages, e.g. alias expansion, built-in + command execution and external command execution. + + If this variable is set to "1", "2" or "true" (comparison is case + insensitive), trace messages will be printed to stderr. + + If the variable is set to an integer value greater than 2 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 the variable is set to an absolute path (starting + with a _/ character), Git will interpret this as a file path and + will try to write the trace messages into it. + + Unsetting the variable, or setting it to empty, "0" or "false" + (case insensitive) disables trace messages. + + GGIITT__TTRRAACCEE__FFSSMMOONNIITTOORR + Enables trace messages for the filesystem monitor extension. See + GGIITT__TTRRAACCEE for available trace output options. + + GGIITT__TTRRAACCEE__PPAACCKK__AACCCCEESSSS + Enables trace messages for all accesses to any packs. For each + access, the pack file name and an offset in the pack is recorded. + This may be helpful for troubleshooting some pack-related + performance problems. See GGIITT__TTRRAACCEE for available trace output + options. + + GGIITT__TTRRAACCEE__PPAACCKKEETT + Enables trace messages for all packets coming in or out of a given + program. This can help with debugging object negotiation or other + protocol issues. Tracing is turned off at a packet starting with + "PACK" (but see GGIITT__TTRRAACCEE__PPAACCKKFFIILLEE below). See GGIITT__TTRRAACCEE for + available trace output options. + + GGIITT__TTRRAACCEE__PPAACCKKFFIILLEE + Enables tracing of packfiles sent or received by a given program. + Unlike other trace output, this trace is verbatim: no headers, and + no quoting of binary data. You almost certainly want to direct into + a file (e.g., GGIITT__TTRRAACCEE__PPAACCKKFFIILLEE==//ttmmpp//mmyy..ppaacckk) rather than + displaying it on the terminal or mixing it with other trace output. + + Note that this is currently only implemented for the client side of + clones and fetches. + + GGIITT__TTRRAACCEE__PPEERRFFOORRMMAANNCCEE + Enables performance related trace messages, e.g. total execution + time of each Git command. See GGIITT__TTRRAACCEE for available trace output + options. + + GGIITT__TTRRAACCEE__SSEETTUUPP + Enables trace messages printing the .git, working tree and current + working directory after Git has completed its setup phase. See + GGIITT__TTRRAACCEE for available trace output options. + + GGIITT__TTRRAACCEE__SSHHAALLLLOOWW + Enables trace messages that can help debugging fetching / cloning + of shallow repositories. See GGIITT__TTRRAACCEE for available trace output + options. + + GGIITT__TTRRAACCEE__CCUURRLL + Enables a curl full trace dump of all incoming and outgoing data, + including descriptive information, of the git transport protocol. + This is similar to doing curl ----ttrraaccee--aasscciiii on the command line. + This option overrides setting the GGIITT__CCUURRLL__VVEERRBBOOSSEE environment + variable. See GGIITT__TTRRAACCEE for available trace output options. + + GGIITT__TTRRAACCEE__CCUURRLL__NNOO__DDAATTAA + When a curl trace is enabled (see GGIITT__TTRRAACCEE__CCUURRLL above), do not + dump data (that is, only dump info lines and headers). + + GGIITT__RREEDDAACCTT__CCOOOOKKIIEESS + This can be set to a comma-separated list of strings. When a curl + trace is enabled (see GGIITT__TTRRAACCEE__CCUURRLL above), whenever a "Cookies:" + header sent by the client is dumped, values of cookies whose key is + in that list (case-sensitive) are redacted. + + GGIITT__LLIITTEERRAALL__PPAATTHHSSPPEECCSS + Setting this variable to 11 will cause Git to treat all pathspecs + literally, rather than as glob patterns. For example, running + GGIITT__LLIITTEERRAALL__PPAATTHHSSPPEECCSS==11 ggiitt lloogg ---- ''**..cc'' will search for commits + that touch the path **..cc, not any paths that the glob **..cc matches. + You might want this if you are feeding literal paths to Git (e.g., + paths previously given to you by ggiitt llss--ttrreeee, ----rraaww diff output, + etc). + + GGIITT__GGLLOOBB__PPAATTHHSSPPEECCSS + Setting this variable to 11 will cause Git to treat all pathspecs as + glob patterns (aka "glob" magic). + + GGIITT__NNOOGGLLOOBB__PPAATTHHSSPPEECCSS + Setting this variable to 11 will cause Git to treat all pathspecs as + literal (aka "literal" magic). + + GGIITT__IICCAASSEE__PPAATTHHSSPPEECCSS + Setting this variable to 11 will cause Git to treat all pathspecs as + case-insensitive. + + GGIITT__RREEFFLLOOGG__AACCTTIIOONN + When a ref is updated, reflog entries are created to keep track of + the reason why the ref was updated (which is typically the name of + the high-level command that updated the ref), in addition to the + old and new values of the ref. A scripted Porcelain command can use + set_reflog_action helper function in ggiitt--sshh--sseettuupp to set its name + to this variable when it is invoked as the top level command by the + end user, to be recorded in the body of the reflog. + + GGIITT__RREEFF__PPAARRAANNOOIIAA + If set to 11, include broken or badly named refs when iterating over + lists of refs. In a normal, non-corrupted repository, this does + nothing. However, enabling it may help git to detect and abort some + operations in the presence of broken refs. Git sets this variable + automatically when performing destructive operations like ggiitt-- + pprruunnee(1). You should not need to set it yourself unless you want to + be paranoid about making sure an operation has touched every ref + (e.g., because you are cloning a repository to make a backup). + + GGIITT__AALLLLOOWW__PPRROOTTOOCCOOLL + If set to a colon-separated list of protocols, behave as if + pprroottooccooll..aallllooww is set to nneevveerr, and each of the listed protocols + has pprroottooccooll..<<nnaammee>>..aallllooww set to aallwwaayyss (overriding any existing + configuration). In other words, any protocol not mentioned will be + disallowed (i.e., this is a whitelist, not a blacklist). See the + description of pprroottooccooll..aallllooww in ggiitt--ccoonnffiigg(1) for more details. + + GGIITT__PPRROOTTOOCCOOLL__FFRROOMM__UUSSEERR + Set to 0 to prevent protocols used by fetch/push/clone which are + configured to the uusseerr state. This is useful to restrict recursive + submodule initialization from an untrusted repository or for + programs which feed potentially-untrusted URLS to git commands. See + ggiitt--ccoonnffiigg(1) for more details. + + GGIITT__PPRROOTTOOCCOOLL + For internal use only. Used in handshaking the wire protocol. + Contains a colon _: separated list of keys with optional values + _k_e_y_[_=_v_a_l_u_e_]. Presence of unknown keys and values must be ignored. + + GGIITT__OOPPTTIIOONNAALL__LLOOCCKKSS + If set to 00, Git will complete any requested operation without + performing any optional sub-operations that require taking a lock. + For example, this will prevent ggiitt ssttaattuuss from refreshing the index + as a side effect. This is useful for processes running in the + background which do not want to cause lock contention with other + operations on the repository. Defaults to 11. + + GGIITT__RREEDDIIRREECCTT__SSTTDDIINN, GGIITT__RREEDDIIRREECCTT__SSTTDDOOUUTT, GGIITT__RREEDDIIRREECCTT__SSTTDDEERRRR + Windows-only: allow redirecting the standard input/output/error + handles to paths specified by the environment variables. This is + particularly useful in multi-threaded applications where the + canonical way to pass standard handles via CCrreeaatteePPrroocceessss(()) is not + an option because it would require the handles to be marked + inheritable (and consequently eevveerryy spawned process would inherit + them, possibly blocking regular Git operations). The primary + intended use case is to use named pipes for communication (e.g. + \\\\..\\ppiippee\\mmyy--ggiitt--ssttddiinn--112233). + + Two special values are supported: ooffff will simply close the + corresponding standard handle, and if GGIITT__RREEDDIIRREECCTT__SSTTDDEERRRR is 22>>&&11, + standard error will be redirected to the same handle as standard + output. + + GGIITT__PPRRIINNTT__SSHHAA11__EELLLLIIPPSSIISS (deprecated) + If set to yyeess, print an ellipsis following an (abbreviated) SHA-1 + value. This affects indications of detached HEADs (ggiitt--cchheecckkoouutt(1)) + and the raw diff output (ggiitt--ddiiffff(1)). Printing an ellipsis in the + cases mentioned is no longer considered adequate and support for it + is likely to be removed in the foreseeable future (along with the + variable). + +DDIISSCCUUSSSSIIOONN + More detail on the following is available from the GGiitt ccoonncceeppttss cchhaapptteerr + ooff tthhee uusseerr--mmaannuuaall[2] and ggiittccoorree--ttuuttoorriiaall(7). + + 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 + contents of the working tree, and named pointers into that history such + as tags and branch heads. + + The object database contains objects of three main types: blobs, which + hold file data; trees, which point to blobs and other trees to build up + directory hierarchies; and commits, which each reference a single tree + and some number of parent commits. + + The commit, equivalent to what other systems call a "changeset" or + "version", represents a step in the project’s history, and each parent + represents an immediately preceding step. Commits with more than one + parent represent merges of independent lines of development. + + All objects are named by the SHA-1 hash of their contents, normally + written as a string of 40 hex digits. Such names are globally unique. + The entire history leading up to a commit can be vouched for by signing + just that commit. A fourth object type, the tag, is provided for this + purpose. + + When first created, objects are stored in individual files, but for + efficiency may later be compressed together into "pack files". + + Named pointers called refs mark interesting points in history. A ref + may contain the SHA-1 name of an object or the name of another ref. + Refs with names beginning rreeff//hheeaadd// contain the SHA-1 name of the most + recent commit (or "head") of a branch under development. SHA-1 names of + tags of interest are stored under rreeff//ttaaggss//. A special ref named HHEEAADD + contains the name of the currently checked-out branch. + + The index file is initialized with a list of all paths and, for each + path, a blob object and a set of attributes. The blob object represents + the contents of the file as of the head of the current branch. The + attributes (last modified time, size, etc.) are taken from the + corresponding file in the working tree. Subsequent changes to the + working tree can be found by comparing these attributes. The index may + be updated with new content, and new commits may be created from the + content stored in the index. + + The index is also capable of storing multiple entries (called "stages") + for a given pathname. These stages are used to hold the various + unmerged version of a file when a merge is in progress. + +FFUURRTTHHEERR DDOOCCUUMMEENNTTAATTIIOONN + See the references in the "description" section to get started using + Git. The following is probably more detail than necessary for a + first-time user. + + The GGiitt ccoonncceeppttss cchhaapptteerr ooff tthhee uusseerr--mmaannuuaall[2] and ggiittccoorree--ttuuttoorriiaall(7) + both provide introductions to the underlying Git architecture. + + See ggiittwwoorrkkfflloowwss(7) for an overview of recommended workflows. + + See also the hhoowwttoo[3] documents for some useful examples. + + The internals are documented in the GGiitt AAPPII ddooccuummeennttaattiioonn[4]. + + Users migrating from CVS may also want to read ggiittccvvss--mmiiggrraattiioonn(7). + +AAUUTTHHOORRSS + Git was started by Linus Torvalds, and is currently maintained by Junio + C Hamano. Numerous contributions have come from the Git mailing list + <ggiitt@@vvggeerr..kkeerrnneell..oorrgg[5]>. + hhttttpp::////wwwwww..ooppeennhhuubb..nneett//pp//ggiitt//ccoonnttrriibbuuttoorrss//ssuummmmaarryy gives you a more + complete list of contributors. + + If you have a clone of git.git itself, the output of ggiitt--sshhoorrttlloogg(1) + and ggiitt--bbllaammee(1) can show you the authors for specific parts of the + project. + +RREEPPOORRTTIINNGG BBUUGGSS + Report bugs to the Git mailing list <ggiitt@@vvggeerr..kkeerrnneell..oorrgg[5]> where the + development and maintenance is primarily done. You do not have to be + subscribed to the list to send a message there. + + Issues which are security relevant should be disclosed privately to the + Git Security mailing list <ggiitt--sseeccuurriittyy@@ggoooogglleeggrroouuppss..ccoomm[6]>. + +SSEEEE AALLSSOO + ggiittttuuttoorriiaall(7), ggiittttuuttoorriiaall--22(7), ggiitteevveerryyddaayy(7), ggiittccvvss--mmiiggrraattiioonn(7), + ggiittgglloossssaarryy(7), ggiittccoorree--ttuuttoorriiaall(7), ggiittccllii(7), TThhee GGiitt UUsseerr’’ss + MMaannuuaall[1], ggiittwwoorrkkfflloowwss(7) + +GGIITT + Part of the ggiitt(1) suite + +NNOOTTEESS + 1. Git User’s Manual + file:///usr/share/doc/git/html/user-manual.html + + 2. Git concepts chapter of the user-manual + file:///usr/share/doc/git/html/user-manual.html#git-concepts + + 3. howto + file:///usr/share/doc/git/html/howto-index.html + + 4. Git API documentation + file:///usr/share/doc/git/html/technical/api-index.html + + 5. git@vger.kernel.org + mailto:git@vger.kernel.org + + 6. git-security@googlegroups.com + mailto:git-security@googlegroups.com + +Git 2.17.1 04/20/2020 GIT(1) |