2

リファクタリングを行っているときに、変数の名前をからに変更しoldNameましたnewName。現在のgit diff違いを無視するようにコマンドに指示する方法はありますか?これを実行して、他の重要な変更のみに焦点を当てたいと思います。これが可能な場合は、無視するように複数の変数の名前変更を指定することもできます。たとえば、toからtoへの変更を無視します...?oldNamenewNameoldName1newName1oldName2newName2

4

3 に答える 3

2

彼は非常に正しいですが、もちろん、diffの出力をgrepすることができます。同じことではありませんが、変化の大きさにもよりますが、おそらく使用可能です。

git diff | egrep -v 'oldName|newName' | egrep '^[+-]'

一般に、コミットはコンセプトごとに1つのコミットになるようにする必要があります。を使用して事前コミットを分割することもできますgit add -p

于 2011-05-27T17:07:57.027 に答える
1

diffの-Iオプションを使用しますか?これを行う方法は次のとおりです。

    env GIT_EXTERNAL_DIFF='perl -e "system(qw{diff -I the_pattern_to_ignore -u}, @ARGV[0,1])"' git diff

ここでは、gitが外部のdiffプログラムに提供する余分な引数を破棄するためにperlが必要です。

于 2011-12-01T11:42:44.097 に答える
0

わかった。GitのIRCチャンネルのselckinは、それは不可能だと私に言った。

于 2011-05-27T17:00:29.147 に答える