git diff --name-status:R100是什么意思?

时间:2018-10-30 03:26:32

标签: git

例如,当我这样做时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)…​[*]]   仅选择已更改(T)的已添加(A),已复制(C),已删除(D),已修改(M),已重命名(R),其类型(即常规文件,符号链接,子模块等)的文件,是未合并(U),是未知(X)或配对已损坏(B)。可以使用过滤器字符的任何组合(包括无过滤器字符)。将*(全或无)添加到组合中时,如果在比较中有任何文件与其他条件匹配,则选择所有路径;如果没有符合其他条件的文件,则不会选择任何内容。

     

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

     

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

1 个答案:

答案 0 :(得分:5)

“已更改的跟踪条目”下的git status的{​​{3}}似乎解释了R100的含义:

  

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

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

documentation是一个很好的@torek答案,它描述了Git如何跟踪内容的物理原理。