Se compromete con el repository de GitHub que muestra grandes cantidades de cambios involuntarios

He estado comprometiendo / empujando a un repository público y descubriendo que uno se compromete donde he cambiado less de 100 líneas resulta en una confirmación con 1000 cambios.

Por ejemplo, puedo cambiar varias líneas en un método en AppDelegate.
El problema resultante es algo que se parece a lo siguiente:

Para mostrar mejor qué problemas de espacio en blanco podrían estar ocurriendo aquí, hay otra área de compromiso no deseado:

enter image description here

Has formateado el código y ahora git trata tus whitecaps como cambios.

Establezca este indicador para ignorar los cambios de espacios en blanco

core.whitespace

Git viene preestablecido para detectar y corregir algunos problemas de espacio en blanco.
Puede search seis problemas primarios en el espacio en blanco: tres están habilitados por defecto y se pueden desactivar, y tres están deshabilitados por defecto, pero se pueden activar.

 git config --global core.whitespace <...> 

core.whitespace

core.whitespace

Una list separada por comas de problemas comunes de espacios en blanco para notar. git diff usará color.diff.whitespace para resaltarlos, y git apply –whitespace = error los considerará como errores.

Puede prefijar - para desactivar cualquiera de ellos (por ejemplo, -trailing-space):

blank-at-eol
trata los espacios en blanco al final de la línea como un error (habilitado por defecto).

espacio-antes-pestaña
trata un carácter de espacio que aparece inmediatamente antes de un carácter de tabulación en la parte inicial de sangría de la línea como un error (habilitado por defecto).

sangría-con-no-pestaña
trata una línea que está sangrada con caracteres de espacio en lugar de las tabs equivalentes como un error (no está habilitado de forma pnetworkingeterminada).

tab-in-indent
trata un carácter de tabulación en la parte inicial de sangría de la línea como un error (no habilitado por defecto).

blank-at-eof trata las líneas en blanco agregadas al final del file como un error (habilitado por defecto).

trailing-space es una abreviatura para cubrir tanto blank-at-eol como blank-at-eof.

golosinas cr-at-eol
un retorno de carro al final de la línea como parte del terminador de línea, es decir, con él, el espacio final no se activa si el carácter anterior a dicho retorno de carro no es un espacio en blanco (no está habilitado por defecto).

tabwidth =
dice cuántas posiciones de personaje ocupa una pestaña; esto es relevante para sangría-con-no-pestaña y cuando Git corrige errores tab-in-indent. El ancho pnetworkingeterminado de la pestaña es 8. Los valores permitidos son de 1 a 63