X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit.txt;h=d4472b56d1b11227bc20b8ad3f69a3d42278dd42;hb=175fb6c0406e63a10791ab793cdac2acf185eab0;hp=fc11516deb04fa525d21df3cdd0a2ed1bff6d0a8;hpb=2fa090b6c145db9f6219a037c773fb63fe727019;p=git.git diff --git a/Documentation/git.txt b/Documentation/git.txt index fc11516d..d4472b56 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -12,68 +12,68 @@ 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]. + +The COMMAND is either a name of a Git command (see below) or an alias +as defined in the configuration file (see gitlink:git-repo-config[1]). OPTIONS ------- --version:: - prints the git suite version that the 'git' program came from. + Prints the git suite version that the 'git' program came from. --help:: - prints the synopsis and a list of available commands. - If a git command is named this option will bring up the - man-page for that command. + Prints the synopsis and a list of the most commonly used + commands. If a git command is named this option will bring up + the man-page for that command. If the option '--all' or '-a' is + given then all available commands are printed. --exec-path:: - path to wherever your core git programs are installed. + Path to wherever your core git programs are installed. This can also be controlled by setting the GIT_EXEC_PATH environment variable. If no path is given 'git' will print the current setting and then exit. -CORE GIT COMMANDS ------------------ -Before reading this cover to cover, you may want to take a look -at the link:tutorial.html[tutorial] document. -The <> section below contains much useful definition -and clarification info - read that first. After that, if you -are interested in using git to manage (version control) -projects, read on commands listed in Porcelain-ish commands -section next. On the other hand, if you are writing your own -Porcelain, I suggest reading gitlink:git-update-index[1] and -gitlink:git-read-tree[1] first. +FURTHER DOCUMENTATION +--------------------- -If you are migrating from CVS, link:cvs-migration.html[cvs migration] -document may be helpful after you finish the tutorial. +See the references above to get started using git. The following is +probably more detail than necessary for a first-time user. -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. +The <> section below 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. -David Greaves -08/05/05 +GIT COMMANDS +------------ -Updated by Junio C Hamano on 2005-05-05 and -further on 2005-12-07 to reflect recent changes. +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 ~~~~~~~~~~~~~~~~~~~~~ @@ -103,6 +103,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. @@ -131,6 +134,9 @@ Interrogation commands gitlink:git-cat-file[1]:: Provide content or type/size information for repository objects. +gitlink:git-describe[1]:: + Show the most recent tag that is reachable from a commit. + gitlink:git-diff-index[1]:: Compares content and mode of blobs between the index and repository. @@ -158,6 +164,9 @@ gitlink:git-merge-base[1]:: gitlink:git-name-rev[1]:: Find symbolic names for given revs. +gitlink:git-pack-redundant[1]:: + Find redundant pack files. + gitlink:git-rev-list[1]:: Lists commit objects in reverse chronological order. @@ -210,6 +219,9 @@ gitlink:git-receive-pack[1]:: gitlink:git-send-pack[1]:: Pushes to a remote repository, intelligently. +gitlink:git-http-push[1]:: + Push missing objects using HTTP/DAV. + gitlink:git-shell[1]:: Restricted shell for GIT-only SSH access. @@ -228,9 +240,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. @@ -253,6 +275,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. @@ -283,9 +308,6 @@ gitlink:git-merge[1]:: gitlink:git-mv[1]:: Move or rename a file, a directory, or a symlink. -gitlink:git-octopus[1]:: - Merge more than two commits. - gitlink:git-pull[1]:: Fetch from and merge with a remote repository. @@ -298,6 +320,9 @@ gitlink:git-rebase[1]:: gitlink:git-repack[1]:: Pack unpacked objects in a repository. +gitlink:git-rerere[1]:: + Reuse recorded resolution of conflicted merges. + gitlink:git-reset[1]:: Reset current HEAD to the specified state. @@ -307,9 +332,15 @@ 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. +gitlink:git-show[1]:: + Show one commit log and its diff. + gitlink:git-show-branch[1]:: Show branches and their commits. @@ -324,7 +355,7 @@ gitlink:git-whatchanged[1]:: Ancillary Commands ------------------- +~~~~~~~~~~~~~~~~~~ Manipulators: gitlink:git-applypatch[1]:: @@ -339,6 +370,12 @@ gitlink:git-convert-objects[1]:: gitlink:git-cvsimport[1]:: Salvage your data out of another SCM people love to hate. +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. @@ -348,6 +385,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. @@ -369,6 +409,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. @@ -381,9 +427,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 @@ -393,6 +445,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. @@ -408,7 +463,7 @@ gitlink:git-rev-parse[1]:: gitlink:git-send-email[1]:: Send patch e-mails out of "format-patch --mbox" output. -gitlink:git-symbolic-refs[1]:: +gitlink:git-symbolic-ref[1]:: Read and modify symbolic refs. gitlink:git-stripspace[1]:: @@ -496,16 +551,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`. @@ -568,18 +621,20 @@ git Diffs Discussion[[Discussion]] ------------------------ -include::../README[] +include::README[] Authors ------- - git's founding father is Linus Torvalds . - The current git nurse is Junio C Hamano . - The git potty was written by Andres Ericsson . - General upbringing is handled by the git-list . +* git's founding father is Linus Torvalds . +* The current git nurse is Junio C Hamano . +* The git potty was written by Andres Ericsson . +* General upbringing is handled by the git-list . Documentation -------------- -Documentation by David Greaves, Junio C Hamano and the git-list . +The documentation for git suite was started by David Greaves +, and later enhanced greatly by the +contributors on the git-list . GIT ---