diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-02-05 16:31:26 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-02-05 16:31:26 -0800 |
commit | 4f985d5aeb9667475903a3555d6b93f223d9ba8e (patch) | |
tree | 39de4a24a7372ab2e52cd9edb172877f9d3df97c /Documentation | |
parent | Merge branch 'ab/gettext-charset-comment-fix' into maint (diff) | |
parent | docs: rephrase and clarify the git status --short format (diff) | |
download | tgif-4f985d5aeb9667475903a3555d6b93f223d9ba8e.tar.xz |
Merge branch 'bc/doc-status-short' into maint
Doc update.
* bc/doc-status-short:
docs: rephrase and clarify the git status --short format
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/git-status.txt | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt index 7731b45f07..c0764e850a 100644 --- a/Documentation/git-status.txt +++ b/Documentation/git-status.txt @@ -184,11 +184,26 @@ characters, that field will be quoted in the manner of a C string literal: surrounded by ASCII double quote (34) characters, and with interior special characters backslash-escaped. -For paths with merge conflicts, `X` and `Y` show the modification -states of each side of the merge. For paths that do not have merge -conflicts, `X` shows the status of the index, and `Y` shows the status -of the work tree. For untracked paths, `XY` are `??`. Other status -codes can be interpreted as follows: +There are three different types of states that are shown using this format, and +each one uses the `XY` syntax differently: + +* When a merge is occurring and the merge was successful, or outside of a merge + situation, `X` shows the status of the index and `Y` shows the status of the + working tree. +* When a merge conflict has occurred and has not yet been resolved, `X` and `Y` + show the state introduced by each head of the merge, relative to the common + ancestor. These paths are said to be _unmerged_. +* When a path is untracked, `X` and `Y` are always the same, since they are + unknown to the index. `??` is used for untracked paths. Ignored files are + not listed unless `--ignored` is used; if it is, ignored files are indicated + by `!!`. + +Note that the term _merge_ here also includes rebases using the default +`--merge` strategy, cherry-picks, and anything else using the merge machinery. + +In the following table, these three classes are shown in separate sections, and +these characters are used for `X` and `Y` fields for the first two sections that +show tracked paths: * ' ' = unmodified * 'M' = modified @@ -198,9 +213,6 @@ codes can be interpreted as follows: * 'C' = copied * 'U' = updated but unmerged -Ignored files are not listed, unless `--ignored` option is in effect, -in which case `XY` are `!!`. - .... X Y Meaning ------------------------------------------------- |