check change and git bash tabs whitespace spaces

change - estableciendo tabwidth a 4 en git show/git diff



git user login (2)

En el trabajo somos varios desarrolladores y no tenemos una guía de estilo de código, y algunos desarrolladores sangran con pestañas, y algunos otros con 4 espacios (afortunadamente ninguno de los sangrados con espacios usa más de 4 espacios). En general, este no es un problema (grande) porque en nuestros editores establecemos tabwidth=4 y toda la sangría parece correcta.

Pero en git diff o git show eso es lo que aparece:

diff --git a/mesclatabs.php b/mesclatabs.php new file mode 100644 index 0000000..1986c91 --- /dev/null +++ b/mesclatabs.php @@ -0,0 +1,5 @@ +<?php +function foo() { + echo "line with 1 tab/n"; + echo "line with 4 spaces/n"; +}

El problema es git diff o git show donde cada pestaña aparece tan ancha como 8 espacios (bueno, en realidad aparece como una pestaña, y el shell (bash en mi caso) muestra la pestaña como 8 espacios. Supongo que debe haber alguna bash config para cambiar esto, pero me gustaría saber si git tiene una opción para generar pestañas como 4 espacios en diff / show , ya que algunos desarrolladores trabajan con zsh lugar de bash .

¿Algunas ideas?


Como la respuesta https://.com/a/10584237/1850340 no funcionó para mí debido a mi configuración de color, se me ocurrió la siguiente solución:

TAB=$''/t'' && git config --global core.pager "sed ''s/$TAB/ /g'' | less" && unset TAB

Esto reemplaza todos los caracteres de tabulación con 4 espacios antes de mostrarlo con menos. (La solución TAB es necesaria para evitar el escape de barra invertida)


Creo que git config --global core.pager ''less -x1,5''

Referencia: git-scm chp7-1