diff options
Diffstat (limited to 'Documentation/git.txt')
-rw-r--r-- | Documentation/git.txt | 410 |
1 files changed, 31 insertions, 379 deletions
diff --git a/Documentation/git.txt b/Documentation/git.txt index f89d745efa..7cd3467986 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -24,7 +24,7 @@ link:everyday.html[Everyday Git] for a useful minimum set of commands, and 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]). +as defined in the configuration file (see gitlink:git-config[1]). OPTIONS ------- @@ -81,244 +81,26 @@ ancillary user utilities. Main porcelain commands ~~~~~~~~~~~~~~~~~~~~~~~ -gitlink:git-add[1]:: - Add paths to the index. - -gitlink:git-am[1]:: - Apply patches from a mailbox, but cooler. - -gitlink:git-applymbox[1]:: - Apply patches from a mailbox, original version by Linus. - -gitlink:git-archive[1]:: - Creates an archive of files from a named tree. - -gitlink:git-bisect[1]:: - Find the change that introduced a bug by binary search. - -gitlink:git-branch[1]:: - Create and Show branches. - -gitlink:git-checkout[1]:: - Checkout and switch to a branch. - -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. - -gitlink:git-commit[1]:: - Record changes to the repository. - -gitlink:git-diff[1]:: - Show changes between commits, commit and working tree, etc. - -gitlink:git-fetch[1]:: - Download from a remote repository via various protocols. - -gitlink:git-format-patch[1]:: - Prepare patches for e-mail submission. - -gitlink:git-grep[1]:: - Print lines matching a pattern. - -gitlink:gitk[1]:: - The git repository browser. - -gitlink:git-log[1]:: - Shows commit logs. - -gitlink:git-ls-remote[1]:: - Shows references in a remote or local repository. - -gitlink:git-merge[1]:: - Grand unified merge driver. - -gitlink:git-mv[1]:: - Move or rename a file, a directory, or a symlink. - -gitlink:git-pack-refs[1]:: - Pack heads and tags for efficient repository access. - -gitlink:git-pull[1]:: - Fetch from and merge with a remote repository or a local branch. - -gitlink:git-push[1]:: - Update remote refs along with associated objects. - -gitlink:git-rebase[1]:: - Rebase local commits to the updated upstream head. - -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. - -gitlink:git-resolve[1]:: - Merge two commits. - -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. - -gitlink:git-status[1]:: - Shows the working tree status. - -gitlink:git-verify-tag[1]:: - Check the GPG signature of tag. - -gitlink:git-whatchanged[1]:: - Shows commit logs and differences they introduce. - +include::cmds-mainporcelain.txt[] Ancillary Commands ~~~~~~~~~~~~~~~~~~ Manipulators: -gitlink:git-applypatch[1]:: - Apply one patch extracted from an e-mail. - -gitlink:git-archimport[1]:: - Import an arch repository into git. - -gitlink:git-convert-objects[1]:: - Converts old-style git repository. - -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-gc[1]:: - Cleanup unnecessary files and optimize the local repository. - -gitlink:git-lost-found[1]:: - Recover lost refs that luckily have not yet been pruned. - -gitlink:git-merge-one-file[1]:: - The standard helper program to use with `git-merge-index`. - -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-reflog[1]:: - Manage reflog information. - -gitlink:git-relink[1]:: - Hardlink common objects in local repositories. - -gitlink:git-svn[1]:: - Bidirectional operation between a single Subversion branch and git. - -gitlink:git-svnimport[1]:: - Import a SVN repository into git. - -gitlink:git-sh-setup[1]:: - Common git shell script setup code. - -gitlink:git-symbolic-ref[1]:: - Read and modify symbolic refs. - -gitlink:git-tag[1]:: - An example script to create a tag object signed with GPG. - -gitlink:git-update-ref[1]:: - Update the object name stored in a ref safely. - +include::cmds-ancillarymanipulators.txt[] Interrogators: -gitlink:git-annotate[1]:: - Annotate file lines with commit info. - -gitlink:git-blame[1]:: - Find out where each line in a file came from. - -gitlink:git-check-ref-format[1]:: - Make sure ref name is well formed. +include::cmds-ancillaryinterrogators.txt[] -gitlink:git-cherry[1]:: - Find commits not merged upstream. -gitlink:git-count-objects[1]:: - Count unpacked number of objects and their disk consumption. - -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-instaweb[1]:: - Instantly browse your working repository in gitweb. - -gitlink:git-mailinfo[1]:: - Extracts patch and authorship information from a single - e-mail message, optionally transliterating the commit - message into utf-8. - -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. - -gitlink:git-parse-remote[1]:: - Routines to help parsing `$GIT_DIR/remotes/` files. - -gitlink:git-request-pull[1]:: - git-request-pull. - -gitlink:git-rev-parse[1]:: - Pick out and massage parameters. - -gitlink:git-runstatus[1]:: - A helper for git-status and git-commit. - -gitlink:git-send-email[1]:: - Send patch e-mails out of "format-patch --mbox" output. +Interacting with Others +~~~~~~~~~~~~~~~~~~~~~~~ -gitlink:git-symbolic-ref[1]:: - Read and modify symbolic refs. +These commands are to interact with foreign SCM and with other +people via patch over e-mail. -gitlink:git-stripspace[1]:: - Filter out empty lines. +include::cmds-foreignscminterface.txt[] Low-level commands (plumbing) @@ -330,129 +112,30 @@ development of alternative porcelains. Developers of such porcelains might start by reading about gitlink:git-update-index[1] and gitlink:git-read-tree[1]. -We divide the low-level commands into commands that manipulate objects (in +The interface (input, output, set of options and the semantics) +to these low-level commands are meant to be a lot more stable +than Porcelain level commands, because these commands are +primarily for scripted use. The interface to Porcelain commands +on the other hand are subject to change in order to improve the +end user experience. + +The following description divides +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 ~~~~~~~~~~~~~~~~~~~~~ -gitlink:git-apply[1]:: - Reads a "diff -up1" or git generated patch file and - applies it to the working tree. - -gitlink:git-checkout-index[1]:: - Copy files from the index to the working tree. - -gitlink:git-commit-tree[1]:: - Creates a new commit object. - -gitlink:git-hash-object[1]:: - Computes the object ID from a file. - -gitlink:git-index-pack[1]:: - Build pack idx file for an existing packed archive. - -gitlink:git-init[1]:: - Creates an empty git repository, or reinitialize an - existing one. - -gitlink:git-merge-file[1]:: - Runs a threeway merge. - -gitlink:git-merge-index[1]:: - Runs a merge for files needing merging. - -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. - -gitlink:git-prune-packed[1]:: - Remove extra objects that are already in pack files. - -gitlink:git-read-tree[1]:: - Reads tree information into the index. -gitlink:git-repo-config[1]:: - Get and set options in .git/config. - -gitlink:git-unpack-objects[1]:: - Unpacks objects out of a packed archive. - -gitlink:git-update-index[1]:: - Registers files in the working tree to the index. - -gitlink:git-write-tree[1]:: - Creates a tree from the index. +include::cmds-plumbingmanipulators.txt[] 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. - -gitlink:git-diff-files[1]:: - Compares files in the working tree and the index. - -gitlink:git-diff-stages[1]:: - Compares two "merge stages" in the index. - -gitlink:git-diff-tree[1]:: - Compares the content and mode of blobs found via two tree objects. - -gitlink:git-for-each-ref[1]:: - Output information on each ref. - -gitlink:git-fsck-objects[1]:: - Verifies the connectivity and validity of the objects in the database. - -gitlink:git-ls-files[1]:: - Information about files in the index and the working tree. - -gitlink:git-ls-tree[1]:: - Displays a tree object in human readable form. - -gitlink:git-merge-base[1]:: - Finds as good common ancestors as possible for a merge. - -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. - -gitlink:git-show-index[1]:: - Displays contents of a pack idx file. - -gitlink:git-show-ref[1]:: - List references in a local repository. - -gitlink:git-tar-tree[1]:: - Creates a tar archive of the files in the named tree object. - -gitlink:git-unpack-file[1]:: - Creates a temporary file with a blob's contents. - -gitlink:git-var[1]:: - Displays a git logical variable. - -gitlink:git-verify-pack[1]:: - Validates packed git archive files. +include::cmds-plumbinginterrogators.txt[] In general, the interrogate commands do not touch the files in the working tree. @@ -461,52 +144,21 @@ the working tree. Synching repositories ~~~~~~~~~~~~~~~~~~~~~ -gitlink:git-fetch-pack[1]:: - Updates from a remote repository (engine for ssh and - local transport). - -gitlink:git-http-fetch[1]:: - Downloads a remote git repository via HTTP by walking - commit chain. - -gitlink:git-local-fetch[1]:: - Duplicates another git repository on a local system by - walking commit chain. - -gitlink:git-peek-remote[1]:: - Lists references on a remote repository using - upload-pack protocol (engine for ssh and local - transport). - -gitlink:git-receive-pack[1]:: - Invoked by 'git-send-pack' to receive what is pushed to it. - -gitlink:git-send-pack[1]:: - Pushes to a remote repository, intelligently. - -gitlink:git-http-push[1]:: - Push missing objects using HTTP/DAV. +include::cmds-synchingrepositories.txt[] -gitlink:git-shell[1]:: - Restricted shell for GIT-only SSH access. +The following are helper programs used by the above; end users +typically do not use them directly. -gitlink:git-ssh-fetch[1]:: - Pulls from a remote repository over ssh connection by - walking commit chain. +include::cmds-synchelpers.txt[] -gitlink:git-ssh-upload[1]:: - Helper "server-side" program used by git-ssh-fetch. -gitlink:git-update-server-info[1]:: - Updates auxiliary information on a dumb server to help - clients discover references and packs on it. +Internal helper commands +~~~~~~~~~~~~~~~~~~~~~~~~ -gitlink:git-upload-archive[1]:: - Invoked by 'git-archive' to send a generated archive. +These are internal helper commands used by other commands; end +users typically do not use them directly. -gitlink:git-upload-pack[1]:: - Invoked by 'git-fetch-pack' to push - what are asked for. +include::cmds-purehelpers.txt[] Configuration Mechanism @@ -699,7 +351,7 @@ other Discussion[[Discussion]] ------------------------ -include::README[] +include::core-intro.txt[] Authors ------- |