空白の変更を無視して本当に変更されたファイルだけを git add する方法
社内的には Git リポジトリとしてコード管理しているが、お客様には git リポジトリをそのまま渡したくないので export したものをご提供。後日、お客様から改修依頼があって、現状のコードを送って git status したら大量の変更が!...しかし、git diff すると空白が違うだけのファイルばかり...というときに本当に変更されたファイルだけを git add したい、そういう話です。
この問題は、以下のコマンドで解決できます。
git diff -U0 -w --no-color | git apply --cached --ignore-whitespace --unidiff-zero -
alias として登録して登録する場合は以下のコマンドを実行します。
ユーザー単位で設定するなら --global
、システム単位で設定するなら --system
オプションをつけてください。
git config alias.addnw=!sh -c 'git diff -U0 -w --no-color "$@" | git apply --cached --ignore-whitespace --unidiff-zero -
参考
参考というか、ここの回答をそのまま書いたようなものなんですが...備忘録を兼ねて書きました。
では、よい git add 生活を。Enjoy!