X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit.txt;h=d4472b56d1b11227bc20b8ad3f69a3d42278dd42;hb=HEAD;hp=92cfe0ee31a3ce6fc85ac4041ae9bb17e6419a8d;hpb=5a2282de13c4da13f979185e652c8a08e2481fd1;p=git.git diff --git a/Documentation/git.txt b/Documentation/git.txt index 92cfe0ee..d4472b56 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -12,76 +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. -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: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:tutorial.html[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 ~~~~~~~~~~~~~~~~~~~~~ @@ -111,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. @@ -245,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. @@ -270,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. @@ -312,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. @@ -321,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. @@ -338,7 +355,7 @@ gitlink:git-whatchanged[1]:: Ancillary Commands ------------------- +~~~~~~~~~~~~~~~~~~ Manipulators: gitlink:git-applypatch[1]:: @@ -356,6 +373,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. @@ -365,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. @@ -386,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. @@ -398,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 @@ -410,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. @@ -513,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`. @@ -585,7 +621,7 @@ git Diffs Discussion[[Discussion]] ------------------------ -include::../README[] +include::README[] Authors -------