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