如何使Git diff忽略版本号更改?

时间:2018-03-06 16:46:51

标签: git diff git-diff

有没有办法从Git diff like this one中删除版本号更改噪音?特别是如果一行只包含从一个数字到另一个数字的变化,我可以设置Git diff来忽略它吗?

1 个答案:

答案 0 :(得分:2)

我认为可以使用git-diff --word-diff-regex=[^0-9]see [^0-9] in action)来实现。对于更复杂的模式,您需要更复杂的正则表达式,但except recursion使用正则表达式可以实现一切。

来自Git - git-diff --word-diff-regex documentation

  

<强> - 字的Diff-正则表达式=

     

使用&lt;正则表达式&gt;决定一个单词是什么,而不是考虑运行   非空白是一个单词。除非是--word-diff,否则也暗示|[^[:space:]]   已启用。

     

&lt;非重叠匹配正则表达式&gt;被认为是一个词。这些匹配之间的任何内容都被视为空格并被忽略(!)   为了找到差异。您可能想要追加   --word-diff-regex=.到您的正则表达式以确保它   匹配所有非空白字符。包含换行符的匹配项   在换行符处默默地截断(!)。

     

例如, df <- tibble::tribble( ~A, ~B, "X", "A", "X", "B", "Y", "A", "Y", NA_character_, "Z", "A", "Z", "B", "Z", NA_character_, "K", "A", "K", "A", "L", NA_character_, "L", NA_character_, ) df$B <- as.factor(df$B) dfgrp <- df %>% group_by(A) %>% nest() drop_fixed_factors <- function(x) { x %>% discard(~is.factor(.x) & length(unique(.x))<2) } dfgrp1 <- dfgrp %>% mutate(data_1 = map(data, ~drop_fixed_factors(.x))) dfgrp1 dfgrp1$data_1[[2]] 会将每个字符视为一个单词   相应地,表现出不同性格的差异。

     

也可以通过diff驱动程序或配置选项设置正则表达式,   请参阅gitattributes[5]git-config[1]。给它   显式覆盖任何diff驱动程序或配置设置。 DIFF   驱动程序覆盖配置设置。

另见