Documentation / git.txton commit [PATCH 2/4] split core-git.txt and update (204ee6a)
   1git(1)
   2======
   3v0.1, May 2005
   4
   5NAME
   6----
   7git - the stupid content tracker
   8
   9
  10SYNOPSIS
  11--------
  12'git-<command>' <args>
  13
  14DESCRIPTION
  15-----------
  16
  17This is reference information for the core git commands.
  18
  19The link:README[] contains much useful definition and clarification
  20info - read that first.  And of the commands, I suggest reading
  21'git-update-cache' and 'git-read-tree' first - I wish I had!
  22
  23David Greaves <david@dgreaves.com>
  2408/05/05
  25
  26Updated by Junio C Hamano <junkio@cox.net> on 2005-05-05 to
  27reflect recent changes.
  28
  29Commands Overview
  30-----------------
  31The git commands can helpfully be split into those that manipulate
  32the repository, the cache and the working fileset and those that
  33interrogate and compare them.
  34
  35There are also some ancilliary programs that can be viewed as useful
  36aids for using the core commands but which are unlikely to be used by
  37SCMs layered over git.
  38
  39Manipulation commands
  40~~~~~~~~~~~~~~~~~~~~~
  41link:git-checkout-cache.html[git-checkout-cache]::
  42        Copy files from the cache to the working directory
  43
  44link:git-commit-tree.html[git-commit-tree]::
  45        Creates a new commit object
  46
  47link:git-init-db.html[git-init-db]::
  48        Creates an empty git object database
  49
  50link:git-merge-base.html[git-merge-base]::
  51        Finds as good a common ancestor as possible for a merge
  52
  53link:git-mktag.html[git-mktag]::
  54        Creates a tag object
  55
  56link:git-read-tree.html[git-read-tree]::
  57        Reads tree information into the directory cache
  58
  59link:git-update-cache.html[git-update-cache]::
  60        Modifies the index or directory cache
  61
  62link:git-write-blob.html[git-write-blob]::
  63        Creates a blob from a file
  64
  65link:git-write-tree.html[git-write-tree]::
  66        Creates a tree from the current cache
  67
  68Interrogation commands
  69~~~~~~~~~~~~~~~~~~~~~~
  70link:git-cat-file.html[git-cat-file]::
  71        Provide content or type information for repository objects
  72
  73link:git-check-files.html[git-check-files]::
  74        Verify a list of files are up-to-date
  75
  76link:git-diff-cache.html[git-diff-cache]::
  77        Compares content and mode of blobs between the cache and repository
  78
  79link:git-diff-files.html[git-diff-files]::
  80        Compares files in the working tree and the cache
  81
  82link:git-diff-tree.html[git-diff-tree]::
  83        Compares the content and mode of blobs found via two tree objects
  84
  85link:git-export.html[git-export]::
  86        Exports each commit and a diff against each of its parents
  87
  88link:git-fsck-cache.html[git-fsck-cache]::
  89        Verifies the connectivity and validity of the objects in the database
  90
  91link:git-ls-files.html[git-ls-files]::
  92        Information about files in the cache/working directory
  93
  94link:git-ls-tree.html[git-ls-tree]::
  95        Displays a tree object in human readable form
  96
  97link:git-merge-cache.html[git-merge-cache]::
  98        Runs a merge for files needing merging
  99
 100link:git-rev-list.html[git-rev-list]::
 101        Lists commit objects in reverse chronological order
 102
 103link:git-rev-tree.html[git-rev-tree]::
 104        Provides the revision tree for one or more commits
 105
 106link:git-tar-tree.html[git-tar-tree]::
 107        Creates a tar archive of the files in the named tree
 108
 109link:git-unpack-file.html[git-unpack-file]::
 110        Creates a temporary file with a blob's contents
 111
 112The interrogate commands may create files - and you can force them to
 113touch the working file set - but in general they don't
 114
 115
 116Ancilliary Commands
 117-------------------
 118Manipulators:
 119
 120link:git-apply-patch-script.html[git-apply-patch-script]::
 121        Sample script to apply the diffs from git-diff-*
 122
 123link:git-convert-cache.html[git-convert-cache]::
 124        Converts old-style GIT repository
 125
 126link:git-http-pull.html[git-http-pull]::
 127        Downloads a remote GIT repository via HTTP
 128
 129link:git-local-pull.html[git-local-pull]::
 130        Duplicates another GIT repository on a local system
 131
 132link:git-merge-one-file-script.html[git-merge-one-file-script]::
 133        The standard helper program to use with "git-merge-cache"
 134
 135link:git-pull-script.html[git-pull-script]::
 136        Script used by Linus to pull and merge a remote repository
 137
 138link:git-prune-script.html[git-prune-script]::
 139        Prunes all unreachable objects from the object database
 140
 141link:git-resolve-script.html[git-resolve-script]::
 142        Script used to merge two trees
 143
 144link:git-tag-script.html[git-tag-script]::
 145        An example script to create a tag object signed with GPG
 146
 147link:git-rpull.html[git-rpull]::
 148        Pulls from a remote repository over ssh connection
 149
 150Interogators:
 151
 152link:git-diff-tree-helper.html[git-diff-tree-helper]::
 153        Generates patch format output for git-diff-*
 154
 155link:git-rpush.html[git-rpush]::
 156        Helper "server-side" program used by git-rpull
 157
 158
 159
 160Terminology
 161-----------
 162see README for description
 163
 164Identifier terminology
 165----------------------
 166<object>::
 167        Indicates any object sha1 identifier
 168
 169<blob>::
 170        Indicates a blob object sha1 identifier
 171
 172<tree>::
 173        Indicates a tree object sha1 identifier
 174
 175<commit>::
 176        Indicates a commit object sha1 identifier
 177
 178<tree-ish>::
 179        Indicates a tree, commit or tag object sha1 identifier.
 180        A command that takes a <tree-ish> argument ultimately
 181        wants to operate on a <tree> object but automatically
 182        dereferences <commit> and <tag> that points at a
 183        <tree>.
 184
 185<type>::
 186        Indicates that an object type is required.
 187        Currently one of: blob/tree/commit/tag
 188
 189<file>::
 190        Indicates a filename - always relative to the root of
 191        the tree structure GIT_INDEX_FILE describes.
 192
 193Terminology
 194-----------
 195Each line contains terms used interchangeably
 196
 197 object database, .git directory
 198 directory cache, index
 199 id, sha1, sha1-id, sha1 hash
 200 type, tag
 201 blob, blob object
 202 tree, tree object
 203 commit, commit object
 204 parent
 205 root object
 206 changeset
 207
 208
 209Environment Variables
 210---------------------
 211Various git commands use the following environment variables:
 212
 213- 'GIT_AUTHOR_NAME'
 214- 'GIT_AUTHOR_EMAIL'
 215- 'GIT_AUTHOR_DATE'
 216- 'GIT_COMMITTER_NAME'
 217- 'GIT_COMMITTER_EMAIL'
 218- 'GIT_DIFF_OPTS'
 219- 'GIT_EXTERNAL_DIFF'
 220- 'GIT_INDEX_FILE'
 221- 'GIT_OBJECT_DIRECTORY'
 222- 'GIT_ALTERNATE_OBJECT_DIRECTORIES'
 223
 224
 225Author
 226------
 227Written by Linus Torvalds <torvalds@osdl.org>
 228
 229Documentation
 230--------------
 231Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
 232
 233GIT
 234---
 235Part of the link:git.html[git] suite
 236