描述Git符号

时间:2013-11-27 14:44:51

标签: git version-control git-status

我已经开始使用Git,因为我认为它是一个更好的版本控制器。

有人可以帮我理解 git status -s 符号的含义吗?

1 个答案:

答案 0 :(得分:6)

如果你写

git help status 

在终端中会出现OPTIONS列表,告诉你-s是指git status的短格式。

如果您转到 OUTPUT->短格式,您会发现所有符号都已解释:

   Short Format
   In the short-format, the status of each path is shown as

       XY PATH1 -> PATH2

   where PATH1 is the path in the HEAD, and the " -> PATH2" part is shown
   only when PATH1 corresponds to a different path in the index/worktree
   (i.e. the file is renamed). The XY is a two-letter status code.

   The fields (including the ->) are separated from each other by a single
   space. If a filename contains whitespace or other nonprintable
   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:

   ·   ' ' = unmodified

   ·    M = modified

   ·    A = added

   ·    D = deleted

   ·    R = renamed

   ·    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
   -------------------------------------------------
             [MD]   not updated
   M        [ MD]   updated in index
   A        [ MD]   added to index
   D         [ M]   deleted from index
   R        [ MD]   renamed in index
   C        [ MD]   copied in index
   [MARC]           index and work tree matches
   [ MARC]     M    work tree changed since index
   [ MARC]     D    deleted in work tree
   -------------------------------------------------

   D           D    unmerged, both deleted
   A           U    unmerged, added by us
   U           D    unmerged, deleted by them
   U           A    unmerged, added by them
   D           U    unmerged, deleted by us
   A           A    unmerged, both added
   U           U    unmerged, both modified
   -------------------------------------------------
   ?           ?    untracked
   !           !    ignored
   -------------------------------------------------