]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/git-status.txt
git status: not "commit --dry-run" anymore
[thirdparty/git.git] / Documentation / git-status.txt
CommitLineData
215a7ad1
JH
1git-status(1)
2=============
3f971fc4
JH
3
4NAME
5----
c3f0baac 6git-status - Show the working tree status
3f971fc4
JH
7
8
9SYNOPSIS
10--------
9e4b7ab6 11'git status' [<options>...] [--] [<pathspec>...]
3f971fc4
JH
12
13DESCRIPTION
14-----------
2099bca9
JK
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
5162e697 18tracked by git (and are not ignored by linkgit:gitignore[5]). The first
2099bca9 19are what you _would_ commit by running `git commit`; the second and
ba020ef5 20third are what you _could_ commit by running 'git-add' before running
2099bca9 21`git commit`.
3f971fc4 22
9e4b7ab6
JH
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.
2099bca9 50
3f971fc4
JH
51
52OUTPUT
53------
54The output from this command is designed to be used as a commit
2099bca9 55template comment, and all the output lines are prefixed with '#'.
9e4b7ab6
JH
56The default, long format, is designed to be human readable,
57verbose and descriptive. They are subject to change in any time.
3f971fc4 58
c7860507 59The paths mentioned in the output, unlike many other git commands, are
2099bca9 60made relative to the current directory if you are working in a
46f721c8
JK
61subdirectory (this is on purpose, to help cutting and pasting). See
62the status.relativePaths config option below.
c7860507 63
9e4b7ab6
JH
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
3f971fc4 102
31fcd63c
JH
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
46f721c8
JK
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
ac8d5afc
PY
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
56ae8df5 120SEE ALSO
cedb8d5d 121--------
5162e697 122linkgit:gitignore[5]
31fcd63c 123
3f971fc4
JH
124Author
125------
9e4b7ab6 126Written by Junio C Hamano <gitster@pobox.com>.
3f971fc4
JH
127
128Documentation
129--------------
130Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
131
132GIT
133---
9e1f0a85 134Part of the linkgit:git[1] suite