Una solución que simplemente elimina los espacios en blanco finales del archivo no es aceptable en todas las circunstancias. Funcionará en un proyecto que ha tenido esta política desde el principio, por lo que no hay espacios en blanco que no haya agregado en su próxima confirmación.
Suponga que simplemente no desea agregar nuevas instancias de espacios en blanco al final, sin afectar el espacio en blanco existente en las líneas que no editó, para mantener su confirmación libre de cambios que son irrelevantes para su trabajo.
En ese caso, con git, puede usar un script como este:
#!/bin/sh
set -e # bail on errors
git stash save commit-cleanup
git stash show -p | sed '/^\+/s/ *$//' | git apply
git stash drop
Es decir, ocultamos los cambios y luego filtramos todas las +
líneas en el diff para eliminar su espacio en blanco al volver a aplicar el cambio al directorio de trabajo. Si esta tubería de comando tiene éxito, dejamos caer el alijo.