X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit.txt;h=a7cd91acc1c6551918d54158a1c76321157e97fa;hb=89df580d0a2e97b0c7c072d87e5e815534deed56;hp=3b0d530257c66a5562ced91cc506e49d4ff484d3;hpb=941fd1c041204f30279c175ca9b7252ffcb52ba2;p=git.git diff --git a/Documentation/git.txt b/Documentation/git.txt index 3b0d53025..a7cd91acc 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -43,7 +43,10 @@ unreleased) version of git, that is available from 'master' branch of the `git.git` repository. Documentation for older releases are available here: -* link:v1.5.2.5/git.html[documentation for release 1.5.2.5] +* link:v1.5.3/git.html[documentation for release 1.5.3] + +* release notes for + link:RelNotes-1.5.3.1.txt[1.5.3.1]. * release notes for link:RelNotes-1.5.2.5.txt[1.5.2.5], @@ -120,7 +123,10 @@ OPTIONS variable. --bare:: - Same as --git-dir=`pwd`. + Treat the repository as a bare repository. If GIT_DIR + environment is not set, it is set to the current working + directory. + FURTHER DOCUMENTATION --------------------- @@ -128,9 +134,9 @@ FURTHER DOCUMENTATION See the references above to get started using git. The following is probably more detail than necessary for a first-time user. -The <> section below and the -link:core-tutorial.html[Core tutorial] both provide introductions to the -underlying git architecture. +The link:user-manual.html#git-concepts[git concepts chapter of the +user-manual] and the link:core-tutorial.html[Core tutorial] both provide +introductions to the underlying git architecture. See also the link:howto-index.html[howto] documents for some useful examples. @@ -468,12 +474,61 @@ for further details. Discussion[[Discussion]] ------------------------ -include::core-intro.txt[] + +More detail on the following is available from the +link:user-manual.html#git-concepts[git concepts chapter of the +user-manual] and the link:core-tutorial.html[Core tutorial]. + +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 heirarchies; 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 SHA1 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 SHA1 name of an object or the name of another ref. Refs +with names beginning `ref/head/` contain the SHA1 name of the most +recent commit (or "head") of a branch under developement. SHA1 names of +tags of interest are stored under `ref/tags/`. A special ref named +`HEAD` 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. Authors ------- * git's founding father is Linus Torvalds . -* The current git nurse is Junio C Hamano . +* The current git nurse is Junio C Hamano . * The git potty was written by Andres Ericsson . * General upbringing is handled by the git-list .