git status 简写参考

max*_*nan 4 git

是否有所有状态符号(例如ADMM??)输出的参考git status --porcelain?我正在解析此输出,并需要确保我已涵盖所有排列。通读 git 源代码,看起来输出是动态组装的,而不是模板化的,而且我对找到每个边缘情况的能力没有信心。

这是我所拥有的:

??: 'untracked',
A: 'staged',
AD: 'staged_deleted',
AM: 'staged_modified',
D: 'deleted',
M: 'modified',
MM: 'staged_modified',
R: 'renamed',
UU: 'conflicted'
Run Code Online (Sandbox Code Playgroud)

Yu *_*Hao 7

它位于以下的短格式部分下git status

或存在合并冲突的路径,XY显示合并每一侧的修改状态。对于没有合并冲突的路径,X显示索引的状态,并Y显示工作树的状态。对于未跟踪的路径,XY??. 其他状态码可以解释如下:

' ' = 未修改

M = 修改

A = 添加

D = 已删除

R = 重命名

C = 复制

U = 已更新但未合并

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
-------------------------------------------------
Run Code Online (Sandbox Code Playgroud)