Documentation / git-status.txton commit git status: not "commit --dry-run" anymore (9e4b7ab)
   1git-status(1)
   2=============
   3
   4NAME
   5----
   6git-status - Show the working tree status
   7
   8
   9SYNOPSIS
  10--------
  11'git status' [<options>...] [--] [<pathspec>...]
  12
  13DESCRIPTION
  14-----------
  15Displays paths that have differences between the index file and the
  16current HEAD commit, paths that have differences between the working
  17tree and the index file, and paths in the working tree that are not
  18tracked by git (and are not ignored by linkgit:gitignore[5]). The first
  19are what you _would_ commit by running `git commit`; the second and
  20third are what you _could_ commit by running 'git-add' before running
  21`git commit`.
  22
  23OPTIONS
  24-------
  25
  26-s::
  27--short::
  28        Give the output in the short-format.
  29
  30-u[<mode>]::
  31--untracked-files[=<mode>]::
  32        Show untracked files (Default: 'all').
  33+
  34The mode parameter is optional, and is used to specify
  35the handling of untracked files. The possible options are:
  36+
  37--
  38        - 'no'     - Show no untracked files
  39        - 'normal' - Shows untracked files and directories
  40        - 'all'    - Also shows individual files in untracked directories.
  41--
  42+
  43See linkgit:git-config[1] for configuration variable
  44used to change the default for when the option is not
  45specified.
  46
  47-z::
  48        Terminate entries with NUL, instead of LF.  This implies `-s`
  49        (short status) output format.
  50
  51
  52OUTPUT
  53------
  54The output from this command is designed to be used as a commit
  55template comment, and all the output lines are prefixed with '#'.
  56The default, long format, is designed to be human readable,
  57verbose and descriptive.  They are subject to change in any time.
  58
  59The paths mentioned in the output, unlike many other git commands, are
  60made relative to the current directory if you are working in a
  61subdirectory (this is on purpose, to help cutting and pasting). See
  62the status.relativePaths config option below.
  63
  64In short-format, the status of each path is shown as
  65
  66        XY PATH1 -> PATH2
  67
  68where `PATH1` is the path in the `HEAD`, and ` -> PATH2` part is
  69shown only when `PATH1` corresponds to a different path in the
  70index/worktree (i.e. renamed).
  71
  72For unmerged entries, `X` shows the status of stage #2 (i.e. ours) and `Y`
  73shows the status of stage #3 (i.e. theirs).
  74
  75For entries that do not have conflicts, `X` shows the status of the index,
  76and `Y` shows the status of the work tree.  For untracked paths, `XY` are
  77`??`.
  78
  79    X          Y     Meaning
  80    -------------------------------------------------
  81              [MD]   not updated
  82    M        [ MD]   updated in index
  83    A        [ MD]   added to index
  84    D        [ MD]   deleted from index
  85    R        [ MD]   renamed in index
  86    C        [ MD]   copied in index
  87    [MARC]           index and work tree matches
  88    [ MARC]     M    work tree changed since index
  89    [ MARC]     D    deleted in work tree
  90    -------------------------------------------------
  91    D           D    unmerged, both deleted
  92    A           U    unmerged, added by us
  93    U           D    unmerged, deleted by them
  94    U           A    unmerged, added by them
  95    D           U    unmerged, deleted by us
  96    A           A    unmerged, both added
  97    U           U    unmerged, both modified
  98    -------------------------------------------------
  99    ?           ?    untracked
 100    -------------------------------------------------
 101
 102
 103CONFIGURATION
 104-------------
 105
 106The command honors `color.status` (or `status.color` -- they
 107mean the same thing and the latter is kept for backward
 108compatibility) and `color.status.<slot>` configuration variables
 109to colorize its output.
 110
 111If the config variable `status.relativePaths` is set to false, then all
 112paths shown are relative to the repository root, not to the current
 113directory.
 114
 115If `status.submodulesummary` is set to a non zero number or true (identical
 116to -1 or an unlimited number), the submodule summary will be enabled and a
 117summary of commits for modified submodules will be shown (see --summary-limit
 118option of linkgit:git-submodule[1]).
 119
 120SEE ALSO
 121--------
 122linkgit:gitignore[5]
 123
 124Author
 125------
 126Written by Junio C Hamano <gitster@pobox.com>.
 127
 128Documentation
 129--------------
 130Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
 131
 132GIT
 133---
 134Part of the linkgit:git[1] suite