当我这样做时,例如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排除添加和删除的路径。
请注意,并非所有的比较都可以包含所有类型。例如,从索引到工作树的比较永远不能添加条目(因为包含在比较中的路径集受索引中的内容限制)。类似地,如果禁用了对这些类型的检测,则复制和重命名的条目也不会出现。
1条答案
按热度按时间i7uq4tfw1#
“Changed Tracked Entries”下的
git status
文档解释了R100
的含义:<X><score>
重命名或复制分数(表示移动或复制的源和目标之间的相似性百分比)。例如“R100”或“C75”。所以,把这些和你上面提到的放在一起,你看到的状态为
R100
的文件意味着它们被移动了,并且Git在那个文件和其他之前命名的文件之间找到了100%的匹配。Here is a link到一个很好的@torek答案,它描述了Git如何跟踪内容的物理过程。