]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/git-status.txt
commit: support alternate status formats
[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
6f157871
JK
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
9e4b7ab6
JH
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::
6f157871
JK
53 Terminate entries with NUL, instead of LF. This implies
54 the `--porcelain` output format if no other format is given.
2099bca9 55
3f971fc4
JH
56
57OUTPUT
58------
59The output from this command is designed to be used as a commit
2099bca9 60template comment, and all the output lines are prefixed with '#'.
9e4b7ab6
JH
61The default, long format, is designed to be human readable,
62verbose and descriptive. They are subject to change in any time.
3f971fc4 63
c7860507 64The paths mentioned in the output, unlike many other git commands, are
2099bca9 65made relative to the current directory if you are working in a
46f721c8
JK
66subdirectory (this is on purpose, to help cutting and pasting). See
67the status.relativePaths config option below.
c7860507 68
9e4b7ab6
JH
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
3f971fc4 107
31fcd63c
JH
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
46f721c8
JK
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
ac8d5afc
PY
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 and a
122summary of commits for modified submodules will be shown (see --summary-limit
123option of linkgit:git-submodule[1]).
124
56ae8df5 125SEE ALSO
cedb8d5d 126--------
5162e697 127linkgit:gitignore[5]
31fcd63c 128
3f971fc4
JH
129Author
130------
9e4b7ab6 131Written by Junio C Hamano <gitster@pobox.com>.
3f971fc4
JH
132
133Documentation
134--------------
135Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
136
137GIT
138---
9e1f0a85 139Part of the linkgit:git[1] suite