首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么移动的代码没有在git中着色?

为什么移动的代码没有在git中着色?
EN

Stack Overflow用户
提问于 2018-01-09 10:16:54
回答 1查看 2.8K关注 0票数 14

我安装了最新的git并将其配置为突出显示已移动的代码:

代码语言:javascript
复制
$ git config diff.colormoved default

下面是代码被移动时的样子(参见1->2)

但是3-4没有突出显示为已移动的代码。

以下是独立的更改:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-09 10:46:16

请参阅git-diff(1)中的--color-moved/colormoved文档:

--color-moved[=<mode>] 移动的代码行的颜色不同。它可以通过diff.colorMoved配置设置进行更改。如果没有给出选项,<mode>默认为no,如果没有提供模式,则默认为zebra。该模式必须是以下模式之一:

  • no 移动的行没有高亮显示。
  • 默认 是斑马的同义词。这可能会在未来转变为一种更明智的模式。
  • 平原 添加在一个位置并在另一个位置删除的任何行都将使用color.diff.newMoved着色。类似地,color.diff.oldMoved将用于删除在差异中其他地方添加的行。这种模式可以提取任何移动的行,但是在评审中确定代码块是否在没有排列的情况下被移动并不十分有用。
  • 斑马( zebra ) 贪婪地检测到至少20个字母数字字符的移动文本块。检测到的块使用color.diff.{旧,新}移动颜色或color.diff.{旧,新}MovedAlternative绘制。这两种颜色之间的变化表明检测到了一个新块。
  • dimmed_zebra 类似于斑马,但是对移动代码中没有兴趣的部分执行额外的调光。相邻两个街区的边缘线被认为是有趣的,其余的则是无趣的。

具体来说,缺省值是zebra,并且它检测到

至少20个字母数字字符的移动文本块

my $ctx = shift;不包含至少20个字母数字字符。如果使用git diff --color-moved=plain或将# ten more ANs添加到行尾,则示例将被高亮显示为“移动”。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48165922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档