X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit.txt;h=916a0b7f0829b6a11ac09c0228912e436b58fc40;hb=87a81c834bf48f8cbf8778cae78ed553f3bbd32c;hp=a02ed6f42696bd274a631ab33640a35bbc3e350f;hpb=c1bdacf97e3f51ac5c239a16e300e0986a5da53d;p=git.git diff --git a/Documentation/git.txt b/Documentation/git.txt index a02ed6f4..916a0b7f 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 @@ -29,8 +30,9 @@ reflect recent changes. Commands Overview ----------------- The git commands can helpfully be split into those that manipulate -the repository, the cache and the working fileset and those that -interrogate and compare them. +the repository, the cache and the working fileset, those that +interrogate and compare them, and those that moves objects and +references between repositories. There are also some ancilliary programs that can be viewed as useful aids for using the core commands but which are unlikely to be used by @@ -59,8 +61,8 @@ link:git-read-tree.html[git-read-tree]:: link:git-update-cache.html[git-update-cache]:: Modifies the index or directory cache -link:git-write-blob.html[git-write-blob]:: - Creates a blob from a file +link:git-hash-object.html[git-hash-object]:: + Computes the object ID from a file. link:git-write-tree.html[git-write-tree]:: Creates a tree from the current cache @@ -109,10 +111,53 @@ link:git-tar-tree.html[git-tar-tree]:: link:git-unpack-file.html[git-unpack-file]:: Creates a temporary file with a blob's contents +link:git-var.html[git-var]:: + Displays a git logical variable + +link:git-verify-pack.html[git-verify-pack]:: + Validates packed GIT archive files + The interrogate commands may create files - and you can force them to touch the working file set - but in general they don't +link:git-clone-script.html[git-clone-script]:: + Clones a repository into the current repository (user interface) + +link:git-clone-pack.html[git-clone-pack]:: + Clones a repository into the current repository (engine + for ssh and local transport) + +link:git-pull-script.html[git-pull-script]:: + Pull from a repote repository via various protocols + (user interface). + +link:git-http-pull.html[git-http-pull]:: + Downloads a remote GIT repository via HTTP + +link:git-local-pull.html[git-local-pull]:: + Duplicates another GIT repository on a local system + +link:git-ssh-pull.html[git-ssh-pull]:: + Pulls from a remote repository over ssh connection + +link:git-send-pack.html[git-send-pack]:: + Pushes to a remote repository, intelligently. + +link:git-receive-pack.html[git-receive-pack]:: + Invoked by 'git-send-pack' to receive what is pushed to it. + +link:git-clone-pack.html[git-clone-pack]:: + Clones from a remote repository. + +link:git-fetch-pack.html[git-fetch-pack]:: + Updates from a remote repository. + +link:git-upload-pack.html[git-upload-pack]:: + Invoked by 'git-clone-pack' and 'git-fetch-pack' to push + what are asked for. + + Ancilliary Commands ------------------- Manipulators: @@ -123,18 +168,9 @@ link:git-apply-patch-script.html[git-apply-patch-script]:: link:git-convert-cache.html[git-convert-cache]:: Converts old-style GIT repository -link:git-http-pull.html[git-http-pull]:: - Downloads a remote GIT repository via HTTP - -link:git-local-pull.html[git-local-pull]:: - Duplicates another GIT repository on a local system - link:git-merge-one-file-script.html[git-merge-one-file-script]:: The standard helper program to use with "git-merge-cache" -link:git-pull-script.html[git-pull-script]:: - Script used by Linus to pull and merge a remote repository - link:git-prune-script.html[git-prune-script]:: Prunes all unreachable objects from the object database @@ -144,27 +180,21 @@ 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]:: - 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 +206,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. @@ -192,10 +221,12 @@ Identifier terminology Symbolic Identifiers -------------------- -Any git comand accepting any can also use the following symbolic notation: +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`) + 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/`) @@ -213,35 +244,28 @@ 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: + ??/ 'First 2 chars of object' directories. + pack/ Packed archives. 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/ + */ Any other subdirectory of refs/ can be used to store + files similar to what are under refs/heads/. + 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 @@ -288,16 +312,20 @@ git Commits git Diffs ~~~~~~~~~ -GIT_DIFF_OPTS:: -GIT_EXTERNAL_DIFF:: +'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 --------------