From: Junio C Hamano Date: Mon, 30 May 2016 19:06:05 GMT Subject: Re: git add without whitespace Message-ID: In-Reply-To: Robert Dailey writes: > $ git diff -U0 -w --no-color | git apply --cached --ignore-whitespace > --unidiff-zero > > This command explicitly leaves out context because it can sometimes > cause the patch to fail to apply, I think due to whitespace being in > it, but I'm not completely sure myself. I have had this in my ~/.gitconfig for a long time. [alias] wsadd = "!sh -c 'git diff -- \"$@\" | git apply --cached --whitespace=fix;\ git co -- ${1-.} \"$@\"' -" That is, "take what's different from the _index_ and the working tree, apply that difference while correcting whitespace errors to the index, and check the result out to the working tree". This would _not_ touch existing whitespace-damaged lines that you are not touching, and honours the customized definition of what is considered whitespace breakage for each paths (which you set up with the attributes system).