I've accidentally put some whitespace in my initial commit - it shows up red in git diff --color. What's the best way to get rid of the existing whitespace and how can I avoid this happening again?
I am not necessarily looking for a built-in git command. Any external program available for free on Ubuntu would also be welcome.
To trim trailing whitespace on all files in the current directory, use:
sed -i 's/[[:space:]]*$//' *
To warn about future whitespace errors (both trailing spaces and spaces before tabs), and to fix whitespace errors in patches, add the following code to your gitconfig file:
[core]
whitespace = trailing-space,space-before-tab
[apply]
whitespace = fix
core.whitespace instructs git to flag certain whitespace problems:
trailing-space warns about whitespace at the end of a line or at the end of a filespace-before-tab warns when there is a space before a tab used for indentationapply.whitespace is used when applying a patch. It checks for whitespace errors (the ones listed above, in core.whitespace) and applies the patch after attempting to fix them (i.e., remove them).
These options go in ~/.gitconfig -- that is, a .gitconfig file at the root of your user's home directory (typically /home/user/.gitconfig on Linux, /Users/user/.gitconfig on Mac OS X, and I don't know where on Windows but I suppose somewhere in C:\Documents and Settings\user).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With