git diff --名称-状态:R100是什么意思?

o0lyfsai  于 2023-01-19  发布在  Git
关注(0)|答案(1)|浏览(357)

当我这样做时,例如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).过滤字符的任意组合(包括无)。当 *(全部或无)添加到组合中,则如果有任何文件与比较中的其他条件匹配,则选择所有路径;如果不存在与其它条件匹配的文件,则不选择任何内容。
同样,这些大写字母可以被小写以排除。例如--diff-filter=ad排除添加和删除的路径。
请注意,并非所有的比较都可以包含所有类型。例如,从索引到工作树的比较永远不能添加条目(因为包含在比较中的路径集受索引中的内容限制)。类似地,如果禁用了对这些类型的检测,则复制和重命名的条目也不会出现。

i7uq4tfw

i7uq4tfw1#

“Changed Tracked Entries”下的git status文档解释了R100的含义:
<X><score>重命名或复制分数(表示移动或复制的源和目标之间的相似性百分比)。例如“R100”或“C75”。
所以,把这些和你上面提到的放在一起,你看到的状态为R100的文件意味着它们被移动了,并且Git在那个文件和其他之前命名的文件之间找到了100%的匹配。
Here is a link到一个很好的@torek答案,它描述了Git如何跟踪内容的物理过程。

相关问题