【问题标题】:For git diff --name-status, what does the output mean?对于 git diff --name-status,输出是什么意思?
【发布时间】:2019-02-22 14:02:55
【问题描述】:

当我跑步时 git diff --name-status 我看到这样的行:

MM  mm/Jenkinsfile

“MM”是什么意思?

mkreiger1 的“可能重复”确实提供了有用的信息,但就像 Koop4 的回答一样,它在没有引用回答这个特定问题的 git 文档的情况下提供信息。

在哪里专门描述了多个字母(如“M”)? “可能的重复”描述了为什么(感谢您),但这是在哪里记录的?

【问题讨论】:

  • 你在看合并提交吗?
  • 您的问题是“M”是什么意思(与“A”相反),还是为什么有多个字母?
  • 在此区分git status(运行two git diffs)和git diffgit show(运行one)很重要i> git diff,在某些特殊情况下是一个组合 diff。
  • 它就在 diff 手册页中,标题为 DIFF FORMAT FOR MERGES 的部分说明了 diff 显示的合并内容。毫不奇怪,它显示了来自每个父级的合并差异的串联状态摘要。

标签: git


【解决方案1】:

正如Doc 解释的那样,该选项

仅显示更改文件的名称和状态。

短格式是两个字母的状态码,后跟路径:

XY PATH

  • 对于存在合并冲突的路径,X 和 Y 显示合并每一侧的修改状态。

  • 对于没有合并冲突的路径,X 显示索引的状态,Y 显示工作树的状态。

  • 对于未跟踪的路径,XY 是 ??。

其他状态码可以解释如下:

' ' = unmodified
M = modified
A = added
D = deleted
R = renamed
C = copied
U = updated but unmerged

您可以在相关部分阅读有关short format 状态的更多信息。

【讨论】:

  • OP 想知道状态的 MM 约定的含义。我想这就是 -1 的原因?
  • 是的,它说明了很多关于人们的想法。他们甚至无法打开链接并自行阅读
  • 另外,问题状态:输出是什么意思?
  • @NoBrassRing 您是否在他的回答末尾检查了文档 Koop4 linked 的部分?当然,第一个链接(到差异页面)没有回答 那个 部分。但他不久后编辑添加了第二个链接和扩展说明。
  • 很好的答案,但它错过了原始路径的可能性。文档说“XY ORIG_PATH -> PATH”
【解决方案2】:

使用 Git 2.30.1(2021 年第一季度),文档更加清晰:

参见brian m. carlson (bk2204)commit 4eb56b5(2021 年 1 月 10 日)。
(由 Junio C Hamano -- gitster -- 合并到 commit 644d85e,2021 年 1 月 15 日)

docs:改写并澄清git status --short 格式

签字人:brian m.卡尔森

git-status(1) 中描述瓷器格式的表格很有帮助,但是这三个部分的含义并不完全清楚,即使对某些贡献者来说也是如此。

因此,用户无法找到如何以编程方式检测合并冲突等常见情况。

让我们通过重新措辞来更明确地说明表中每个部分的含义,以通俗易懂的语言告诉用户正在发生哪些情况,并描述“未合并”的含义来改善这种情况。

git status 现在包含在其man page 中:

使用这种格式可以显示三种不同类型的状态,并且 每个人都以不同的方式使用XY 语法:

  • 当发生合并并且合并成功时,或在合并之外 情况,X 显示索引的状态,Y 显示索引的状态 工作树。
  • 发生合并冲突但尚未解决时,XY 显示合并的每个头部引入的状态,相对于公共 祖先。
    这些路径被称为未合并
  • 当路径未跟踪时,XY 始终相同,因为它们是 索引未知。 ?? 用于未跟踪的路径。
    被忽略的文件是 除非使用--ignored,否则不会列出;如果是,则指示忽略的文件 !!

请注意,此处的术语 merge 还包括使用默认值的变基 --merge strategy、cherry-picks 和其他任何使用合并机制的东西。

在下表中,这三个类显示在单独的部分中,并且 这些字符用于前两个部分的 XY 字段 显示跟踪路径:

【讨论】:

    猜你喜欢
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 1970-01-01
    • 2013-05-20
    • 2017-05-01
    相关资源
    最近更新 更多