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