X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=Documentation%2Fgit.txt;h=971012bf830c23cd9267da881cc2d08ad4468260;hb=180926636e47ecfe28d03cec493af75899994f0f;hp=66b68b89d58a6110489d354c04dd900d9be5fc1e;hpb=204ee6a91ba35740d6417cf64bde4d117d40b07d;p=git.git diff --git a/Documentation/git.txt b/Documentation/git.txt index 66b68b89..971012bf 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -1,6 +1,6 @@ -git(1) +git(7) ====== -v0.1, May 2005 +May 2005 NAME ---- @@ -16,9 +16,10 @@ DESCRIPTION This is reference information for the core git commands. -The link:README[] contains much useful definition and clarification -info - read that first. And of the commands, I suggest reading -'git-update-cache' and 'git-read-tree' first - I wish I had! +The Discussion section below contains much useful definition and +clarification info - read that first. And of the commands, I suggest +reading link:git-update-cache.html[git-update-cache] and +link:git-read-tree.html[git-read-tree] first - I wish I had! David Greaves 08/05/05 @@ -50,6 +51,9 @@ link:git-init-db.html[git-init-db]:: link:git-merge-base.html[git-merge-base]:: Finds as good a common ancestor as possible for a merge +link:git-mkdelta.html[git-mkdelta]:: + Creates a delta object + link:git-mktag.html[git-mktag]:: Creates a tag object @@ -144,27 +148,23 @@ link:git-resolve-script.html[git-resolve-script]:: link:git-tag-script.html[git-tag-script]:: An example script to create a tag object signed with GPG -link:git-rpull.html[git-rpull]:: +link:git-ssh-pull.html[git-ssh-pull]:: Pulls from a remote repository over ssh connection Interogators: -link:git-diff-tree-helper.html[git-diff-tree-helper]:: +link:git-diff-helper.html[git-diff-helper]:: Generates patch format output for git-diff-* -link:git-rpush.html[git-rpush]:: - Helper "server-side" program used by git-rpull - +link:git-ssh-push.html[git-ssh-push]:: + Helper "server-side" program used by git-ssh-pull -Terminology ------------ -see README for description -Identifier terminology +Identifier Terminology ---------------------- :: - Indicates any object sha1 identifier + Indicates the sha1 identifier for any type of object :: Indicates a blob object sha1 identifier @@ -176,11 +176,10 @@ Identifier terminology Indicates a commit object sha1 identifier :: - Indicates a tree, commit or tag object sha1 identifier. - A command that takes a argument ultimately - wants to operate on a object but automatically - dereferences and that points at a - . + Indicates a tree, commit or tag object sha1 identifier. A + command that takes a argument ultimately wants to + operate on a object but automatically dereferences + and objects that point at a . :: Indicates that an object type is required. @@ -190,41 +189,114 @@ Identifier terminology Indicates a filename - always relative to the root of the tree structure GIT_INDEX_FILE describes. +Symbolic Identifiers +-------------------- +Any git comand accepting any can also use the following +symbolic notation: + +HEAD:: + indicates the head of the repository (ie the contents of + `$GIT_DIR/HEAD`) +:: + a valid tag 'name'+ + (ie the contents of `$GIT_DIR/refs/tags/`) +:: + a valid head 'name'+ + (ie the contents of `$GIT_DIR/refs/heads/`) +:: + a valid snapshot 'name'+ + (ie the contents of `$GIT_DIR/refs/snap/`) + + +File/Directory Structure +------------------------ +The git-core manipulates the following areas in the directory: + + .git/ The base (overridden with $GIT_DIR) + objects/ The object base (overridden with $GIT_OBJECT_DIRECTORY) + ??/ 'First 2 chars of object' directories + +It can interrogate (but never updates) the following areas: + + refs/ Directories containing symbolic names for objects + (each file contains the hex SHA1 + newline) + heads/ Commits which are heads of various sorts + tags/ Tags, by the tag name (or some local renaming of it) + snap/ ???? + ... Everything else isn't shared + HEAD Symlink to refs/heads/ + +Higher level SCMs may provide and manage additional information in the +GIT_DIR. + Terminology ----------- -Each line contains terms used interchangeably +Each line contains terms which you may see used interchangeably object database, .git directory directory cache, index id, sha1, sha1-id, sha1 hash type, tag - blob, blob object - tree, tree object - commit, commit object - parent - root object - changeset Environment Variables --------------------- Various git commands use the following environment variables: -- 'GIT_AUTHOR_NAME' -- 'GIT_AUTHOR_EMAIL' -- 'GIT_AUTHOR_DATE' -- 'GIT_COMMITTER_NAME' -- 'GIT_COMMITTER_EMAIL' -- 'GIT_DIFF_OPTS' -- 'GIT_EXTERNAL_DIFF' -- 'GIT_INDEX_FILE' -- 'GIT_OBJECT_DIRECTORY' -- 'GIT_ALTERNATE_OBJECT_DIRECTORIES' - +The git Repository +~~~~~~~~~~~~~~~~~~ +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_INDEX_FILE':: + This environment allows the specification of an alternate + cache/index file. If not specified, the default of + `$GIT_DIR/index` is used. + +'GIT_OBJECT_DIRECTORY':: + If the object storage directory is specified via this + environment variable then the sha1 directories are created + underneath - otherwise the default `$GIT_DIR/objects` + directory is used. + +'GIT_ALTERNATE_OBJECT_DIRECTORIES':: + Due to the immutable nature of git objects, old objects can be + archived into shared, read-only directories. This variable + specifies a ":" seperated list of git object directories which + can be used to search for git objects. New objects will not be + written to these directories. + +'GIT_DIR':: + If the 'GIT_DIR' environment variable is set then it specifies + a path to use instead of `./.git` for the base of the + repository. + +git Commits +~~~~~~~~~~~ +'GIT_AUTHOR_NAME':: +'GIT_AUTHOR_EMAIL':: +'GIT_AUTHOR_DATE':: +'GIT_COMMITTER_NAME':: +'GIT_COMMITTER_EMAIL':: + see link:git-commit-tree.html[git-commit-tree] + +git Diffs +~~~~~~~~~ +'GIT_DIFF_OPTS':: +'GIT_EXTERNAL_DIFF':: + see the "generating patches" section in : + link:git-diff-cache.html[git-diff-cache]; + link:git-diff-files.html[git-diff-files]; + link:git-diff-tree.html[git-diff-tree] + +Discussion +---------- +include::../README[] Author ------ -Written by Linus Torvalds +Written by Linus Torvalds and the git-list . Documentation --------------