Documentation / git.txton commit git-add: introduce --edit (to edit the diff vs. the index) (c59cb03)
   1git(1)
   2======
   3
   4NAME
   5----
   6git - the stupid content tracker
   7
   8
   9SYNOPSIS
  10--------
  11[verse]
  12'git' [--version] [--exec-path[=GIT_EXEC_PATH]] [--html-path]
  13    [-p|--paginate|--no-pager]
  14    [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE]
  15    [--help] COMMAND [ARGS]
  16
  17DESCRIPTION
  18-----------
  19Git is a fast, scalable, distributed revision control system with an
  20unusually rich command set that provides both high-level operations
  21and full access to internals.
  22
  23See linkgit:gittutorial[7] to get started, then see
  24link:everyday.html[Everyday Git] for a useful minimum set of commands, and
  25"man git-commandname" for documentation of each command.  CVS users may
  26also want to read linkgit:gitcvs-migration[7].  See
  27the link:user-manual.html[Git User's Manual] for a more in-depth
  28introduction.
  29
  30The COMMAND is either a name of a Git command (see below) or an alias
  31as defined in the configuration file (see linkgit:git-config[1]).
  32
  33Formatted and hyperlinked version of the latest git
  34documentation can be viewed at
  35`http://www.kernel.org/pub/software/scm/git/docs/`.
  36
  37ifdef::stalenotes[]
  38[NOTE]
  39============
  40
  41You are reading the documentation for the latest (possibly
  42unreleased) version of git, that is available from 'master'
  43branch of the `git.git` repository.
  44Documentation for older releases are available here:
  45
  46* link:v1.6.2.1/git.html[documentation for release 1.6.2.1]
  47
  48* release notes for
  49  link:RelNotes-1.6.2.1.txt[1.6.2.1],
  50  link:RelNotes-1.6.2.txt[1.6.2].
  51
  52* link:v1.6.1.3/git.html[documentation for release 1.6.1.3]
  53
  54* release notes for
  55  link:RelNotes-1.6.1.3.txt[1.6.1.3],
  56  link:RelNotes-1.6.1.2.txt[1.6.1.2],
  57  link:RelNotes-1.6.1.1.txt[1.6.1.1],
  58  link:RelNotes-1.6.1.txt[1.6.1].
  59
  60* link:v1.6.0.6/git.html[documentation for release 1.6.0.6]
  61
  62* release notes for
  63  link:RelNotes-1.6.0.6.txt[1.6.0.6],
  64  link:RelNotes-1.6.0.5.txt[1.6.0.5],
  65  link:RelNotes-1.6.0.4.txt[1.6.0.4],
  66  link:RelNotes-1.6.0.3.txt[1.6.0.3],
  67  link:RelNotes-1.6.0.2.txt[1.6.0.2],
  68  link:RelNotes-1.6.0.1.txt[1.6.0.1],
  69  link:RelNotes-1.6.0.txt[1.6.0].
  70
  71* link:v1.5.6.6/git.html[documentation for release 1.5.6.6]
  72
  73* release notes for
  74  link:RelNotes-1.5.6.6.txt[1.5.6.6],
  75  link:RelNotes-1.5.6.5.txt[1.5.6.5],
  76  link:RelNotes-1.5.6.4.txt[1.5.6.4],
  77  link:RelNotes-1.5.6.3.txt[1.5.6.3],
  78  link:RelNotes-1.5.6.2.txt[1.5.6.2],
  79  link:RelNotes-1.5.6.1.txt[1.5.6.1],
  80  link:RelNotes-1.5.6.txt[1.5.6].
  81
  82* link:v1.5.5.6/git.html[documentation for release 1.5.5.6]
  83
  84* release notes for
  85  link:RelNotes-1.5.5.6.txt[1.5.5.6],
  86  link:RelNotes-1.5.5.5.txt[1.5.5.5],
  87  link:RelNotes-1.5.5.4.txt[1.5.5.4],
  88  link:RelNotes-1.5.5.3.txt[1.5.5.3],
  89  link:RelNotes-1.5.5.2.txt[1.5.5.2],
  90  link:RelNotes-1.5.5.1.txt[1.5.5.1],
  91  link:RelNotes-1.5.5.txt[1.5.5].
  92
  93* link:v1.5.4.7/git.html[documentation for release 1.5.4.7]
  94
  95* release notes for
  96  link:RelNotes-1.5.4.7.txt[1.5.4.7],
  97  link:RelNotes-1.5.4.6.txt[1.5.4.6],
  98  link:RelNotes-1.5.4.5.txt[1.5.4.5],
  99  link:RelNotes-1.5.4.4.txt[1.5.4.4],
 100  link:RelNotes-1.5.4.3.txt[1.5.4.3],
 101  link:RelNotes-1.5.4.2.txt[1.5.4.2],
 102  link:RelNotes-1.5.4.1.txt[1.5.4.1],
 103  link:RelNotes-1.5.4.txt[1.5.4].
 104
 105* link:v1.5.3.8/git.html[documentation for release 1.5.3.8]
 106
 107* release notes for
 108  link:RelNotes-1.5.3.8.txt[1.5.3.8],
 109  link:RelNotes-1.5.3.7.txt[1.5.3.7],
 110  link:RelNotes-1.5.3.6.txt[1.5.3.6],
 111  link:RelNotes-1.5.3.5.txt[1.5.3.5],
 112  link:RelNotes-1.5.3.4.txt[1.5.3.4],
 113  link:RelNotes-1.5.3.3.txt[1.5.3.3],
 114  link:RelNotes-1.5.3.2.txt[1.5.3.2],
 115  link:RelNotes-1.5.3.1.txt[1.5.3.1],
 116  link:RelNotes-1.5.3.txt[1.5.3].
 117
 118* link:v1.5.2.5/git.html[documentation for release 1.5.2.5]
 119
 120* release notes for
 121  link:RelNotes-1.5.2.5.txt[1.5.2.5],
 122  link:RelNotes-1.5.2.4.txt[1.5.2.4],
 123  link:RelNotes-1.5.2.3.txt[1.5.2.3],
 124  link:RelNotes-1.5.2.2.txt[1.5.2.2],
 125  link:RelNotes-1.5.2.1.txt[1.5.2.1],
 126  link:RelNotes-1.5.2.txt[1.5.2].
 127
 128* link:v1.5.1.6/git.html[documentation for release 1.5.1.6]
 129
 130* release notes for
 131  link:RelNotes-1.5.1.6.txt[1.5.1.6],
 132  link:RelNotes-1.5.1.5.txt[1.5.1.5],
 133  link:RelNotes-1.5.1.4.txt[1.5.1.4],
 134  link:RelNotes-1.5.1.3.txt[1.5.1.3],
 135  link:RelNotes-1.5.1.2.txt[1.5.1.2],
 136  link:RelNotes-1.5.1.1.txt[1.5.1.1],
 137  link:RelNotes-1.5.1.txt[1.5.1].
 138
 139* link:v1.5.0.7/git.html[documentation for release 1.5.0.7]
 140
 141* release notes for
 142  link:RelNotes-1.5.0.7.txt[1.5.0.7],
 143  link:RelNotes-1.5.0.6.txt[1.5.0.6],
 144  link:RelNotes-1.5.0.5.txt[1.5.0.5],
 145  link:RelNotes-1.5.0.3.txt[1.5.0.3],
 146  link:RelNotes-1.5.0.2.txt[1.5.0.2],
 147  link:RelNotes-1.5.0.1.txt[1.5.0.1],
 148  link:RelNotes-1.5.0.txt[1.5.0].
 149
 150* documentation for release link:v1.4.4.4/git.html[1.4.4.4],
 151  link:v1.3.3/git.html[1.3.3],
 152  link:v1.2.6/git.html[1.2.6],
 153  link:v1.0.13/git.html[1.0.13].
 154
 155============
 156
 157endif::stalenotes[]
 158
 159OPTIONS
 160-------
 161--version::
 162        Prints the git suite version that the 'git' program came from.
 163
 164--help::
 165        Prints the synopsis and a list of the most commonly used
 166        commands. If the option '--all' or '-a' is given then all
 167        available commands are printed. If a git command is named this
 168        option will bring up the manual page for that command.
 169+
 170Other options are available to control how the manual page is
 171displayed. See linkgit:git-help[1] for more information,
 172because `git --help ...` is converted internally into `git
 173help ...`.
 174
 175--exec-path::
 176        Path to wherever your core git programs are installed.
 177        This can also be controlled by setting the GIT_EXEC_PATH
 178        environment variable. If no path is given, 'git' will print
 179        the current setting and then exit.
 180
 181--html-path::
 182        Print the path to wherever your git HTML documentation is installed
 183        and exit.
 184
 185-p::
 186--paginate::
 187        Pipe all output into 'less' (or if set, $PAGER).
 188
 189--no-pager::
 190        Do not pipe git output into a pager.
 191
 192--git-dir=<path>::
 193        Set the path to the repository. This can also be controlled by
 194        setting the GIT_DIR environment variable. It can be an absolute
 195        path or relative path to current working directory.
 196
 197--work-tree=<path>::
 198        Set the path to the working tree.  The value will not be
 199        used in combination with repositories found automatically in
 200        a .git directory (i.e. $GIT_DIR is not set).
 201        This can also be controlled by setting the GIT_WORK_TREE
 202        environment variable and the core.worktree configuration
 203        variable. It can be an absolute path or relative path to
 204        the directory specified by --git-dir or GIT_DIR.
 205        Note: If --git-dir or GIT_DIR are specified but none of
 206        --work-tree, GIT_WORK_TREE and core.worktree is specified,
 207        the current working directory is regarded as the top directory
 208        of your working tree.
 209
 210--bare::
 211        Treat the repository as a bare repository.  If GIT_DIR
 212        environment is not set, it is set to the current working
 213        directory.
 214
 215
 216FURTHER DOCUMENTATION
 217---------------------
 218
 219See the references above to get started using git.  The following is
 220probably more detail than necessary for a first-time user.
 221
 222The link:user-manual.html#git-concepts[git concepts chapter of the
 223user-manual] and linkgit:gitcore-tutorial[7] both provide
 224introductions to the underlying git architecture.
 225
 226See also the link:howto-index.html[howto] documents for some useful
 227examples.
 228
 229The internals are documented in the
 230link:technical/api-index.html[GIT API documentation].
 231
 232GIT COMMANDS
 233------------
 234
 235We divide git into high level ("porcelain") commands and low level
 236("plumbing") commands.
 237
 238High-level commands (porcelain)
 239-------------------------------
 240
 241We separate the porcelain commands into the main commands and some
 242ancillary user utilities.
 243
 244Main porcelain commands
 245~~~~~~~~~~~~~~~~~~~~~~~
 246
 247include::cmds-mainporcelain.txt[]
 248
 249Ancillary Commands
 250~~~~~~~~~~~~~~~~~~
 251Manipulators:
 252
 253include::cmds-ancillarymanipulators.txt[]
 254
 255Interrogators:
 256
 257include::cmds-ancillaryinterrogators.txt[]
 258
 259
 260Interacting with Others
 261~~~~~~~~~~~~~~~~~~~~~~~
 262
 263These commands are to interact with foreign SCM and with other
 264people via patch over e-mail.
 265
 266include::cmds-foreignscminterface.txt[]
 267
 268
 269Low-level commands (plumbing)
 270-----------------------------
 271
 272Although git includes its
 273own porcelain layer, its low-level commands are sufficient to support
 274development of alternative porcelains.  Developers of such porcelains
 275might start by reading about linkgit:git-update-index[1] and
 276linkgit:git-read-tree[1].
 277
 278The interface (input, output, set of options and the semantics)
 279to these low-level commands are meant to be a lot more stable
 280than Porcelain level commands, because these commands are
 281primarily for scripted use.  The interface to Porcelain commands
 282on the other hand are subject to change in order to improve the
 283end user experience.
 284
 285The following description divides
 286the low-level commands into commands that manipulate objects (in
 287the repository, index, and working tree), commands that interrogate and
 288compare objects, and commands that move objects and references between
 289repositories.
 290
 291
 292Manipulation commands
 293~~~~~~~~~~~~~~~~~~~~~
 294
 295include::cmds-plumbingmanipulators.txt[]
 296
 297
 298Interrogation commands
 299~~~~~~~~~~~~~~~~~~~~~~
 300
 301include::cmds-plumbinginterrogators.txt[]
 302
 303In general, the interrogate commands do not touch the files in
 304the working tree.
 305
 306
 307Synching repositories
 308~~~~~~~~~~~~~~~~~~~~~
 309
 310include::cmds-synchingrepositories.txt[]
 311
 312The following are helper programs used by the above; end users
 313typically do not use them directly.
 314
 315include::cmds-synchelpers.txt[]
 316
 317
 318Internal helper commands
 319~~~~~~~~~~~~~~~~~~~~~~~~
 320
 321These are internal helper commands used by other commands; end
 322users typically do not use them directly.
 323
 324include::cmds-purehelpers.txt[]
 325
 326
 327Configuration Mechanism
 328-----------------------
 329
 330Starting from 0.99.9 (actually mid 0.99.8.GIT), `.git/config` file
 331is used to hold per-repository configuration options.  It is a
 332simple text file modeled after `.ini` format familiar to some
 333people.  Here is an example:
 334
 335------------
 336#
 337# A '#' or ';' character indicates a comment.
 338#
 339
 340; core variables
 341[core]
 342        ; Don't trust file modes
 343        filemode = false
 344
 345; user identity
 346[user]
 347        name = "Junio C Hamano"
 348        email = "junkio@twinsun.com"
 349
 350------------
 351
 352Various commands read from the configuration file and adjust
 353their operation accordingly.
 354
 355
 356Identifier Terminology
 357----------------------
 358<object>::
 359        Indicates the object name for any type of object.
 360
 361<blob>::
 362        Indicates a blob object name.
 363
 364<tree>::
 365        Indicates a tree object name.
 366
 367<commit>::
 368        Indicates a commit object name.
 369
 370<tree-ish>::
 371        Indicates a tree, commit or tag object name.  A
 372        command that takes a <tree-ish> argument ultimately wants to
 373        operate on a <tree> object but automatically dereferences
 374        <commit> and <tag> objects that point at a <tree>.
 375
 376<commit-ish>::
 377        Indicates a commit or tag object name.  A
 378        command that takes a <commit-ish> argument ultimately wants to
 379        operate on a <commit> object but automatically dereferences
 380        <tag> objects that point at a <commit>.
 381
 382<type>::
 383        Indicates that an object type is required.
 384        Currently one of: `blob`, `tree`, `commit`, or `tag`.
 385
 386<file>::
 387        Indicates a filename - almost always relative to the
 388        root of the tree structure `GIT_INDEX_FILE` describes.
 389
 390Symbolic Identifiers
 391--------------------
 392Any git command accepting any <object> can also use the following
 393symbolic notation:
 394
 395HEAD::
 396        indicates the head of the current branch (i.e. the
 397        contents of `$GIT_DIR/HEAD`).
 398
 399<tag>::
 400        a valid tag 'name'
 401        (i.e. the contents of `$GIT_DIR/refs/tags/<tag>`).
 402
 403<head>::
 404        a valid head 'name'
 405        (i.e. the contents of `$GIT_DIR/refs/heads/<head>`).
 406
 407For a more complete list of ways to spell object names, see
 408"SPECIFYING REVISIONS" section in linkgit:git-rev-parse[1].
 409
 410
 411File/Directory Structure
 412------------------------
 413
 414Please see the linkgit:gitrepository-layout[5] document.
 415
 416Read linkgit:githooks[5] for more details about each hook.
 417
 418Higher level SCMs may provide and manage additional information in the
 419`$GIT_DIR`.
 420
 421
 422Terminology
 423-----------
 424Please see linkgit:gitglossary[7].
 425
 426
 427Environment Variables
 428---------------------
 429Various git commands use the following environment variables:
 430
 431The git Repository
 432~~~~~~~~~~~~~~~~~~
 433These environment variables apply to 'all' core git commands. Nb: it
 434is worth noting that they may be used/overridden by SCMS sitting above
 435git so take care if using Cogito etc.
 436
 437'GIT_INDEX_FILE'::
 438        This environment allows the specification of an alternate
 439        index file. If not specified, the default of `$GIT_DIR/index`
 440        is used.
 441
 442'GIT_OBJECT_DIRECTORY'::
 443        If the object storage directory is specified via this
 444        environment variable then the sha1 directories are created
 445        underneath - otherwise the default `$GIT_DIR/objects`
 446        directory is used.
 447
 448'GIT_ALTERNATE_OBJECT_DIRECTORIES'::
 449        Due to the immutable nature of git objects, old objects can be
 450        archived into shared, read-only directories. This variable
 451        specifies a ":" separated (on Windows ";" separated) list
 452        of git object directories which can be used to search for git
 453        objects. New objects will not be written to these directories.
 454
 455'GIT_DIR'::
 456        If the 'GIT_DIR' environment variable is set then it
 457        specifies a path to use instead of the default `.git`
 458        for the base of the repository.
 459
 460'GIT_WORK_TREE'::
 461        Set the path to the working tree.  The value will not be
 462        used in combination with repositories found automatically in
 463        a .git directory (i.e. $GIT_DIR is not set).
 464        This can also be controlled by the '--work-tree' command line
 465        option and the core.worktree configuration variable.
 466
 467'GIT_CEILING_DIRECTORIES'::
 468        This should be a colon-separated list of absolute paths.
 469        If set, it is a list of directories that git should not chdir
 470        up into while looking for a repository directory.
 471        It will not exclude the current working directory or
 472        a GIT_DIR set on the command line or in the environment.
 473        (Useful for excluding slow-loading network directories.)
 474
 475git Commits
 476~~~~~~~~~~~
 477'GIT_AUTHOR_NAME'::
 478'GIT_AUTHOR_EMAIL'::
 479'GIT_AUTHOR_DATE'::
 480'GIT_COMMITTER_NAME'::
 481'GIT_COMMITTER_EMAIL'::
 482'GIT_COMMITTER_DATE'::
 483'EMAIL'::
 484        see linkgit:git-commit-tree[1]
 485
 486git Diffs
 487~~~~~~~~~
 488'GIT_DIFF_OPTS'::
 489        Only valid setting is "--unified=??" or "-u??" to set the
 490        number of context lines shown when a unified diff is created.
 491        This takes precedence over any "-U" or "--unified" option
 492        value passed on the git diff command line.
 493
 494'GIT_EXTERNAL_DIFF'::
 495        When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
 496        program named by it is called, instead of the diff invocation
 497        described above.  For a path that is added, removed, or modified,
 498        'GIT_EXTERNAL_DIFF' is called with 7 parameters:
 499
 500        path old-file old-hex old-mode new-file new-hex new-mode
 501+
 502where:
 503
 504        <old|new>-file:: are files GIT_EXTERNAL_DIFF can use to read the
 505                         contents of <old|new>,
 506        <old|new>-hex:: are the 40-hexdigit SHA1 hashes,
 507        <old|new>-mode:: are the octal representation of the file modes.
 508
 509+
 510The file parameters can point at the user's working file
 511(e.g. `new-file` in "git-diff-files"), `/dev/null` (e.g. `old-file`
 512when a new file is added), or a temporary file (e.g. `old-file` in the
 513index).  'GIT_EXTERNAL_DIFF' should not worry about unlinking the
 514temporary file --- it is removed when 'GIT_EXTERNAL_DIFF' exits.
 515+
 516For a path that is unmerged, 'GIT_EXTERNAL_DIFF' is called with 1
 517parameter, <path>.
 518
 519other
 520~~~~~
 521'GIT_MERGE_VERBOSITY'::
 522        A number controlling the amount of output shown by
 523        the recursive merge strategy.  Overrides merge.verbosity.
 524        See linkgit:git-merge[1]
 525
 526'GIT_PAGER'::
 527        This environment variable overrides `$PAGER`. If it is set
 528        to an empty string or to the value "cat", git will not launch
 529        a pager.  See also the `core.pager` option in
 530        linkgit:git-config[1].
 531
 532'GIT_SSH'::
 533        If this environment variable is set then 'git-fetch'
 534        and 'git-push' will use this command instead
 535        of 'ssh' when they need to connect to a remote system.
 536        The '$GIT_SSH' command will be given exactly two arguments:
 537        the 'username@host' (or just 'host') from the URL and the
 538        shell command to execute on that remote system.
 539+
 540To pass options to the program that you want to list in GIT_SSH
 541you will need to wrap the program and options into a shell script,
 542then set GIT_SSH to refer to the shell script.
 543+
 544Usually it is easier to configure any desired options through your
 545personal `.ssh/config` file.  Please consult your ssh documentation
 546for further details.
 547
 548'GIT_FLUSH'::
 549        If this environment variable is set to "1", then commands such
 550        as 'git-blame' (in incremental mode), 'git-rev-list', 'git-log',
 551        and 'git-whatchanged' will force a flush of the output stream
 552        after each commit-oriented record have been flushed.   If this
 553        variable is set to "0", the output of these commands will be done
 554        using completely buffered I/O.   If this environment variable is
 555        not set, git will choose buffered or record-oriented flushing
 556        based on whether stdout appears to be redirected to a file or not.
 557
 558'GIT_TRACE'::
 559        If this variable is set to "1", "2" or "true" (comparison
 560        is case insensitive), git will print `trace:` messages on
 561        stderr telling about alias expansion, built-in command
 562        execution and external command execution.
 563        If this variable is set to an integer value greater than 1
 564        and lower than 10 (strictly) then git will interpret this
 565        value as an open file descriptor and will try to write the
 566        trace messages into this file descriptor.
 567        Alternatively, if this variable is set to an absolute path
 568        (starting with a '/' character), git will interpret this
 569        as a file path and will try to write the trace messages
 570        into it.
 571
 572Discussion[[Discussion]]
 573------------------------
 574
 575More detail on the following is available from the
 576link:user-manual.html#git-concepts[git concepts chapter of the
 577user-manual] and linkgit:gitcore-tutorial[7].
 578
 579A git project normally consists of a working directory with a ".git"
 580subdirectory at the top level.  The .git directory contains, among other
 581things, a compressed object database representing the complete history
 582of the project, an "index" file which links that history to the current
 583contents of the working tree, and named pointers into that history such
 584as tags and branch heads.
 585
 586The object database contains objects of three main types: blobs, which
 587hold file data; trees, which point to blobs and other trees to build up
 588directory hierarchies; and commits, which each reference a single tree
 589and some number of parent commits.
 590
 591The commit, equivalent to what other systems call a "changeset" or
 592"version", represents a step in the project's history, and each parent
 593represents an immediately preceding step.  Commits with more than one
 594parent represent merges of independent lines of development.
 595
 596All objects are named by the SHA1 hash of their contents, normally
 597written as a string of 40 hex digits.  Such names are globally unique.
 598The entire history leading up to a commit can be vouched for by signing
 599just that commit.  A fourth object type, the tag, is provided for this
 600purpose.
 601
 602When first created, objects are stored in individual files, but for
 603efficiency may later be compressed together into "pack files".
 604
 605Named pointers called refs mark interesting points in history.  A ref
 606may contain the SHA1 name of an object or the name of another ref.  Refs
 607with names beginning `ref/head/` contain the SHA1 name of the most
 608recent commit (or "head") of a branch under development.  SHA1 names of
 609tags of interest are stored under `ref/tags/`.  A special ref named
 610`HEAD` contains the name of the currently checked-out branch.
 611
 612The index file is initialized with a list of all paths and, for each
 613path, a blob object and a set of attributes.  The blob object represents
 614the contents of the file as of the head of the current branch.  The
 615attributes (last modified time, size, etc.) are taken from the
 616corresponding file in the working tree.  Subsequent changes to the
 617working tree can be found by comparing these attributes.  The index may
 618be updated with new content, and new commits may be created from the
 619content stored in the index.
 620
 621The index is also capable of storing multiple entries (called "stages")
 622for a given pathname.  These stages are used to hold the various
 623unmerged version of a file when a merge is in progress.
 624
 625Authors
 626-------
 627* git's founding father is Linus Torvalds <torvalds@osdl.org>.
 628* The current git nurse is Junio C Hamano <gitster@pobox.com>.
 629* The git potty was written by Andreas Ericsson <ae@op5.se>.
 630* General upbringing is handled by the git-list <git@vger.kernel.org>.
 631
 632Documentation
 633--------------
 634The documentation for git suite was started by David Greaves
 635<david@dgreaves.com>, and later enhanced greatly by the
 636contributors on the git-list <git@vger.kernel.org>.
 637
 638SEE ALSO
 639--------
 640linkgit:gittutorial[7], linkgit:gittutorial-2[7],
 641link:everyday.html[Everyday Git], linkgit:gitcvs-migration[7],
 642linkgit:gitglossary[7], linkgit:gitcore-tutorial[7],
 643linkgit:gitcli[7], link:user-manual.html[The Git User's Manual]
 644
 645GIT
 646---
 647Part of the linkgit:git[1] suite