|  | git-status(1) | 
|  | ============= | 
|  |  | 
|  | NAME | 
|  | ---- | 
|  | git-status - Show the working tree status | 
|  |  | 
|  |  | 
|  | SYNOPSIS | 
|  | -------- | 
|  | 'git status' [<options>...] [--] [<pathspec>...] | 
|  |  | 
|  | DESCRIPTION | 
|  | ----------- | 
|  | Displays paths that have differences between the index file and the | 
|  | current HEAD commit, paths that have differences between the working | 
|  | tree and the index file, and paths in the working tree that are not | 
|  | tracked by git (and are not ignored by linkgit:gitignore[5]). The first | 
|  | are what you _would_ commit by running `git commit`; the second and | 
|  | third are what you _could_ commit by running 'git add' before running | 
|  | `git commit`. | 
|  |  | 
|  | OPTIONS | 
|  | ------- | 
|  |  | 
|  | -s:: | 
|  | --short:: | 
|  | Give the output in the short-format. | 
|  |  | 
|  | --porcelain:: | 
|  | Give the output in a stable, easy-to-parse format for scripts. | 
|  | Currently this is identical to --short output, but is guaranteed | 
|  | not to change in the future, making it safe for scripts. | 
|  |  | 
|  | -u[<mode>]:: | 
|  | --untracked-files[=<mode>]:: | 
|  | Show untracked files (Default: 'all'). | 
|  | + | 
|  | The mode parameter is optional, and is used to specify | 
|  | the handling of untracked files. The possible options are: | 
|  | + | 
|  | -- | 
|  | - 'no'     - Show no untracked files | 
|  | - 'normal' - Shows untracked files and directories | 
|  | - 'all'    - Also shows individual files in untracked directories. | 
|  | -- | 
|  | + | 
|  | See linkgit:git-config[1] for configuration variable | 
|  | used to change the default for when the option is not | 
|  | specified. | 
|  |  | 
|  | -z:: | 
|  | Terminate entries with NUL, instead of LF.  This implies | 
|  | the `--porcelain` output format if no other format is given. | 
|  |  | 
|  |  | 
|  | OUTPUT | 
|  | ------ | 
|  | The output from this command is designed to be used as a commit | 
|  | template comment, and all the output lines are prefixed with '#'. | 
|  | The default, long format, is designed to be human readable, | 
|  | verbose and descriptive.  They are subject to change in any time. | 
|  |  | 
|  | The paths mentioned in the output, unlike many other git commands, are | 
|  | made relative to the current directory if you are working in a | 
|  | subdirectory (this is on purpose, to help cutting and pasting). See | 
|  | the status.relativePaths config option below. | 
|  |  | 
|  | In short-format, the status of each path is shown as | 
|  |  | 
|  | XY PATH1 -> PATH2 | 
|  |  | 
|  | where `PATH1` is the path in the `HEAD`, and ` -> PATH2` part is | 
|  | shown only when `PATH1` corresponds to a different path in the | 
|  | index/worktree (i.e. renamed). | 
|  |  | 
|  | For unmerged entries, `X` shows the status of stage #2 (i.e. ours) and `Y` | 
|  | shows the status of stage #3 (i.e. theirs). | 
|  |  | 
|  | For entries that do not have conflicts, `X` shows the status of the index, | 
|  | and `Y` shows the status of the work tree.  For untracked paths, `XY` are | 
|  | `??`. | 
|  |  | 
|  | X          Y     Meaning | 
|  | ------------------------------------------------- | 
|  | [MD]   not updated | 
|  | M        [ MD]   updated in index | 
|  | A        [ MD]   added to index | 
|  | D        [ MD]   deleted from index | 
|  | R        [ MD]   renamed in index | 
|  | C        [ MD]   copied in index | 
|  | [MARC]           index and work tree matches | 
|  | [ MARC]     M    work tree changed since index | 
|  | [ MARC]     D    deleted in work tree | 
|  | ------------------------------------------------- | 
|  | D           D    unmerged, both deleted | 
|  | A           U    unmerged, added by us | 
|  | U           D    unmerged, deleted by them | 
|  | U           A    unmerged, added by them | 
|  | D           U    unmerged, deleted by us | 
|  | A           A    unmerged, both added | 
|  | U           U    unmerged, both modified | 
|  | ------------------------------------------------- | 
|  | ?           ?    untracked | 
|  | ------------------------------------------------- | 
|  |  | 
|  |  | 
|  | CONFIGURATION | 
|  | ------------- | 
|  |  | 
|  | The command honors `color.status` (or `status.color` -- they | 
|  | mean the same thing and the latter is kept for backward | 
|  | compatibility) and `color.status.<slot>` configuration variables | 
|  | to colorize its output. | 
|  |  | 
|  | If the config variable `status.relativePaths` is set to false, then all | 
|  | paths shown are relative to the repository root, not to the current | 
|  | directory. | 
|  |  | 
|  | If `status.submodulesummary` is set to a non zero number or true (identical | 
|  | to -1 or an unlimited number), the submodule summary will be enabled for | 
|  | the long format and a summary of commits for modified submodules will be | 
|  | shown (see --summary-limit option of linkgit:git-submodule[1]). | 
|  |  | 
|  | SEE ALSO | 
|  | -------- | 
|  | linkgit:gitignore[5] | 
|  |  | 
|  | Author | 
|  | ------ | 
|  | Written by Junio C Hamano <gitster@pobox.com>. | 
|  |  | 
|  | Documentation | 
|  | -------------- | 
|  | Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>. | 
|  |  | 
|  | GIT | 
|  | --- | 
|  | Part of the linkgit:git[1] suite |