X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=Documentation%2Fgit.txt;h=06b2e5303edea64f1a33767c3d9d474fdef3a6e4;hb=521a3f676794987bfd03703fe58fbec46ed69d49;hp=de3934d098d0bf7bb81930b2aca1fbeded5667f6;hpb=d293b281276ea6c160ed9589cbf06a44698158e2;p=git.git diff --git a/Documentation/git.txt b/Documentation/git.txt index de3934d0..06b2e530 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -12,10 +12,14 @@ SYNOPSIS DESCRIPTION ----------- -'git' is both a program and a directory content tracker system. -The program 'git' is just a wrapper to reach the core git programs -(or a potty if you like, as it's not exactly porcelain but still -brings your stuff to the plumbing). +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 this link:tutorial.html[tutorial] to get started, then see +link:everyday.html[Everyday Git] for a useful minimum set of commands, and +"man git-commandname" for documentation of each command. CVS users may +also want to read link:cvs-migration.html[CVS migration]. OPTIONS ------- @@ -35,55 +39,38 @@ OPTIONS the current setting and then exit. -NOT LEARNING CORE GIT COMMANDS ------------------------------- - -This manual is intended to give complete background information -and internal workings of git, which may be too much for most -people. The <> section below contains much useful -definition and clarification - read that first. - -If you are interested in using git to manage (version control) -projects, use link:tutorial.html[The Tutorial] to get you started, -and then link:everyday.html[Everyday GIT] as a guide to the -minimum set of commands you need to know for day-to-day work. -Most likely, that will get you started, and you can go a long -way without knowing the low level details too much. - -The link:core-tutorial.html[Core tutorial] document covers how things -internally work. - -If you are migrating from CVS, link:cvs-migration.html[cvs -migration] document may be helpful after you finish the -tutorial. +FURTHER DOCUMENTATION +--------------------- -After you get the general feel from the tutorial and this -overview page, you may want to take a look at the -link:howto-index.html[howto] documents. +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. -CORE GIT COMMANDS ------------------ +See also the link:howto-index.html[howto] documents for some useful +examples. -If you are writing your own Porcelain, you need to be familiar -with most of the low level commands --- I suggest starting from -gitlink:git-update-index[1] and gitlink:git-read-tree[1]. +GIT COMMANDS +------------ +We divide git into high level ("porcelain") commands and low level +("plumbing") commands. -Commands Overview ------------------ -The git commands can helpfully be split into those that manipulate -the repository, the index and the files in the working tree, those that -interrogate and compare them, and those that moves objects and -references between repositories. +Low-level commands (plumbing) +----------------------------- -In addition, git itself comes with a spartan set of porcelain -commands. They are usable but are not meant to compete with real -Porcelains. +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 gitlink:git-update-index[1] and +gitlink:git-read-tree[1]. -There are also some ancillary programs that can be viewed as useful -aids for using the core commands but which are unlikely to be used by -SCMs layered over git. +We divide 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. Manipulation commands ~~~~~~~~~~~~~~~~~~~~~ @@ -248,8 +235,14 @@ gitlink:git-upload-pack[1]:: what are asked for. -Porcelain-ish Commands ----------------------- +High-level commands (porcelain) +------------------------------- + +We separate the porcelain commands into the main commands and some +ancillary user utilities. + +Main porcelain commands +~~~~~~~~~~~~~~~~~~~~~~~ gitlink:git-add[1]:: Add paths to the index. @@ -346,7 +339,7 @@ gitlink:git-whatchanged[1]:: Ancillary Commands ------------------- +~~~~~~~~~~~~~~~~~~ Manipulators: gitlink:git-applypatch[1]:: @@ -521,16 +514,14 @@ HEAD:: a valid head 'name' (i.e. the contents of `$GIT_DIR/refs/heads/`). -:: - a valid snapshot 'name' - (i.e. the contents of `$GIT_DIR/refs/snap/`). - File/Directory Structure ------------------------ Please see link:repository-layout.html[repository layout] document. +Read link:hooks.html[hooks] for more details about each hook. + Higher level SCMs may provide and manage additional information in the `$GIT_DIR`.