X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit.txt;h=61331ab12140c43c3b043aab7e6dd21294678041;hb=34925d35ff278c7377e0cf3fce0227d5eceffeb5;hp=de3934d098d0bf7bb81930b2aca1fbeded5667f6;hpb=8a414ad50cd9edfe6c8f0a6b9b08df4aaa9ccb75;p=git.git diff --git a/Documentation/git.txt b/Documentation/git.txt index de3934d0..61331ab1 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 ~~~~~~~~~~~~~~~~~~~~~ @@ -113,6 +100,9 @@ gitlink:git-merge-index[1]:: gitlink:git-mktag[1]:: Creates a tag object. +gitlink:git-mktree[1]:: + Build a tree-object from ls-tree formatted text. + gitlink:git-pack-objects[1]:: Creates a packed archive of objects. @@ -247,9 +237,19 @@ gitlink:git-upload-pack[1]:: Invoked by 'git-clone-pack' and 'git-fetch-pack' to push what are asked for. +gitlink:git-upload-tar[1]:: + Invoked by 'git-tar-tree --remote' to return the tar + archive the other end 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. @@ -272,6 +272,9 @@ gitlink:git-checkout[1]:: gitlink:git-cherry-pick[1]:: Cherry-pick the effect of an existing commit. +gitlink:git-clean[1]:: + Remove untracked files from the working tree. + gitlink:git-clone[1]:: Clones a repository into a new directory. @@ -326,6 +329,9 @@ gitlink:git-resolve[1]:: gitlink:git-revert[1]:: Revert an existing commit. +gitlink:git-rm[1]:: + Remove files from the working tree and from the index. + gitlink:git-shortlog[1]:: Summarizes 'git log' output. @@ -346,7 +352,7 @@ gitlink:git-whatchanged[1]:: Ancillary Commands ------------------- +~~~~~~~~~~~~~~~~~~ Manipulators: gitlink:git-applypatch[1]:: @@ -364,6 +370,9 @@ gitlink:git-cvsimport[1]:: gitlink:git-cvsexportcommit[1]:: Export a single commit to a CVS checkout. +gitlink:git-cvsserver[1]:: + A CVS server emulator for git. + gitlink:git-lost-found[1]:: Recover lost refs that luckily have not yet been pruned. @@ -373,6 +382,9 @@ gitlink:git-merge-one-file[1]:: gitlink:git-prune[1]:: Prunes all unreachable objects from the object database. +gitlink:git-quiltimport[1]:: + Applies a quilt patchset onto the current branch. + gitlink:git-relink[1]:: Hardlink common objects in local repositories. @@ -394,6 +406,12 @@ gitlink:git-update-ref[1]:: Interrogators: +gitlink:git-annotate[1]:: + Annotate file lines with commit info. + +gitlink:git-blame[1]:: + Blame file lines on commits. + gitlink:git-check-ref-format[1]:: Make sure ref name is well formed. @@ -406,9 +424,15 @@ gitlink:git-count-objects[1]:: gitlink:git-daemon[1]:: A really simple server for git repositories. +gitlink:git-fmt-merge-msg[1]:: + Produce a merge commit message. + gitlink:git-get-tar-commit-id[1]:: Extract commit ID from an archive created using git-tar-tree. +gitlink:git-imap-send[1]:: + Dump a mailbox from stdin into an imap folder. + gitlink:git-mailinfo[1]:: Extracts patch and authorship information from a single e-mail message, optionally transliterating the commit @@ -418,6 +442,9 @@ gitlink:git-mailsplit[1]:: A stupid program to split UNIX mbox format mailbox into individual pieces of e-mail. +gitlink:git-merge-tree[1]:: + Show three-way merge without touching index. + gitlink:git-patch-id[1]:: Compute unique ID for a patch. @@ -521,16 +548,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`.