在进行一些重构时,我将变量从oldName
重命名为newName
。有没有办法告诉git diff
命令忽略oldName
现在newName
的差异?我想这样做只关注其他非平凡的变化。如果可以,我还可以指定多个变量重命名以忽略,例如,忽略从oldName1
到newName1
以及从oldName2
到newName2
的变化...?
答案 0 :(得分:2)
他是非常正确的,但当然你可以grep diff的输出。不一样,但取决于变化的幅度,也许可以使用。
git diff | egrep -v 'oldName|newName' | egrep '^[+-]'
通常,您应该尝试将每个概念的提交设置为一次。您还可以使用git add -p
拆分预提交。
答案 1 :(得分:1)
你想使用diff的-I选项吗?以下是如何执行此操作的方法:
env GIT_EXTERNAL_DIFF='perl -e "system(qw{diff -I the_pattern_to_ignore -u}, @ARGV[0,1])"' git diff
这里需要perl来丢弃git为外部diff程序提供的额外参数。
答案 2 :(得分:0)
行。在Git的IRC频道中,selckin告诉我,这是不可能的。