【问题标题】:git diff --name-status : What does R100 mean?git diff --name-status :R100 是什么意思?
【发布时间】:2019-04-03 01:26:52
【问题描述】:

当我这样做时git diff master --name-status 我看到一些带有R100 前缀的行。

R100究竟是什么意思?


我假设R 的意思是“移动”。我在what I found in the documentation 下方发帖,但本文中没有提及100 或数字本身。

--name-status 仅显示更改文件的名称和状态。有关状态字母的含义,请参阅 --diff-filter 选项的说明。

然后

--diff-filter=[(A|C|D|M|R|T|U|X|B)…​[*]] 仅选择已添加 (A)、已复制 (C)、已删除 (D)、已修改 (M)、已重命名 (R) 的文件,其类型(即常规文件、符号链接、子模块……)已更改 (T),未合并 (U)、未知 (X) 或配对已损坏 (B)。可以使用过滤字符的任意组合(包括无)。在组合中添加 *(All-or-none)时,如果在比较中存在与其他条件匹配的任何文件,则选择所有路径;如果没有符合其他条件的文件,则不选择任何内容。

此外,这些大写字母可以小写以排除。例如。 --diff-filter=ad 排除添加和删除的路径。

请注意,并非所有差异都可以包含所有类型。例如,从索引到工作树的差异永远不会添加条目(因为包含在差异中的路径集受索引中的内容的限制)。同样,如果禁用了对这些类型的检测,则无法显示复制和重命名的条目。

【问题讨论】:

    标签: git


    【解决方案1】:

    “更改的跟踪条目”下git statusdocumentation 似乎解释了R100 的含义:

    <X><score>重命名或复制分数(表示百分比 源和目标之间的相似性 移动或复制)。例如“R100”或“C75”。

    因此,将其与您上面引用的内容放在一起,您看到的带有R100 状态的文件意味着它们已被移动,并且 Git 发现该文件与其他一些先前命名的文件之间 100% 匹配。

    Here is a link 到一个很好的@torek 答案,它描述了 Git 如何跟踪内容的物理原理。

    【讨论】:

    • 谢谢。我想这是在git status 下描述的,但实际上不是在diff 下(尽管我想当然status 可能会调用diff ..)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2013-05-20
    • 2017-05-01
    • 2012-02-03
    • 1970-01-01
    相关资源
    最近更新 更多