>当我运行时git diff --name-status
我看到这样的台词:
MM mm/Jenkinsfile
"MM"是什么意思?
mkreiger1的"可能的重复"确实提供了有用的信息,但就像Koop4的答案一样,它没有引用回答这个特定问题的git文档。
在哪里具体描述了多个字母(如"M")?"可能的重复"描述了原因(并为此表示感谢),但这在哪里记录?
正如文档所解释的那样,该选项
仅显示已更改文件的名称和状态。
短格式是一个由路径分隔的两个字母的状态代码:
XY PATH
-
对于具有合并冲突的路径,X 和 Y 显示合并每一端的修改状态。
-
对于没有合并冲突的路径,X 显示索引的状态,Y 显示工作树的状态。
-
对于未跟踪的路径,XY 是??.
其他状态代码可以解释如下:
' ' = unmodified
M = modified
A = added
D = deleted
R = renamed
C = copied
U = updated but unmerged
您可以在相关部分中阅读有关短格式状态的更多信息。
在 Git 2.30.1(2021 年第 1 季度)中,文档更加清晰:
参见提交 4eb56b5(2021 年 1 月 10 日),作者:Brian M. Carlson (bk2204
).
(由 Junio C Hamano --gitster
-- 合并于 2021 年 1 月 15 日提交 644d85e)
docs
:改写和澄清git status --short
格式签名者:布莱恩·卡尔森
git-status
(1)中描述瓷器格式的表格很有帮助,但并不完全清楚这三个部分的含义,即使对一些贡献者也是如此。因此,用户无法找到如何以编程方式检测合并冲突等常见情况。
让我们通过改写来改善这种情况,以更明确地说明表中每个部分的含义,用通俗易懂的语言告诉用户正在发生哪些情况,并描述"未合并"的含义。
git status
现在在其手册页中包含:
使用此格式显示三种不同类型的状态,并且 每个人都以不同的方式使用
XY
语法:
- 当合并发生且合并成功时,或在合并之外 情况,
X
显示索引的状态,Y
显示索引的状态 工作树。- 当合并冲突已发生且尚未解决时,
X
并Y
显示合并的每个头相对于公共引入的状态 ancestor.
这些路径被称为未合并的。- 当路径未被跟踪时,
X
和Y
始终相同,因为它们是 索引未知。??
用于未跟踪的路径。
忽略的文件是 除非使用--ignored
否则不列出;如果是,则指示忽略的文件 由!!
.请注意,此处的术语合并还包括使用默认值的变基
--merge
策略、樱桃挑选以及使用合并机制的任何其他内容。在下表中,这三个类显示在单独的部分中,并且 这些字符用于前两个部分的
X
和Y
字段 显示跟踪的路径: