En cuanto al formato de código, soy un poco purista :). A menudo elimino espacios en blanco innecesarios (líneas con solo ws, ws al final de las líneas, etc.). Incluso he configurado vim para mostrar ese tipo de líneas de color rojo.
Mi problema es que usando git-diff a menudo veo algo como esto:
- else{
+ else{
Incluso si tengo color de git-diff no puedo ver la diferencia (en esa situación particular eliminé 1 ws al final de la línea). ¿Hay alguna manera de decirle a git-diff que muestre que estaba coloreado de rojo? (por ejemplo, aquellos que coinciden con / \ s + $ / regexp).
git
colors
diff
whitespace
radarek
fuente
fuente

Respuestas:
Es posible que deba establecer la configuración de configuración color.diff.whitespace, por ejemplo, con:
(Supongo que ya tiene
color.diffocolor.uiconfiguróautoya que dice que ve parches de colores degit difftodos modos).Si desea ajustar el tipo de errores de espacios en blanco que están resaltados en rojo, puede cambiar
core.whitespace, peroblank-at-eolestá habilitado de forma predeterminada, por lo que probablemente no necesite cambiar eso para el ejemplo que menciona.Una posible fuente de confusión es que en la salida de
git diff, los errores de espacios en blanco solo se resaltan en las líneas que se introducen, no en las que se eliminan. ( Actualización: como señala Paul Whittaker en su respuesta , que debería votar arriba :), puede ver esto invirtiendo el sentido de la diferencia congit diff -R).Puede encontrar más documentación sobre estas opciones de configuración en la página del manual de configuración de git
Si no desea usar
-Rkludge, puede usar la opción de resaltado de error de espacio en blanco en la página del manual de diferencias .git diff --ws-error-highlight=new,old <file>o
git diff --ws-error-highlight=all <file>No conozco una manera de activar esto permanentemente y almacenarlo en configuración aparte de usar un alias:
git config alias.df 'diff --ws-error-highlight=all'Ahora puedes usar:
git df <file>Para ver los cambios en rojo.
Tenga en cuenta que con Git 2.11 (Q4 2016) , este alias podría reemplazarse con:
Ver doc
git diffy engit config.fuente
git diff -Rgit config diff.wsErrorHighlight all. Se usagit config --global [...]para hacer los cambios globales (es decir, que afectan a todos los repositorios).Use
git diff -Rpara convertir las líneas eliminadas en líneas agregadas. Luego se resaltará el espacio en blanco al final.(Esto supone que ya tiene activada la iluminación de espacios en blanco, según la configuración de color de la respuesta de Mark. El crédito para este método va a la publicación de Junio en http://git.661346.n2.nabble.com/Highlighting-whitespace-on-removal- with-git-diff-td5653205.html .)
Por ejemplo, al convertir un archivo de terminaciones de línea de DOS a Unix,
git diff -Rme muestra claramente los^Mcaracteres (dis) que aparecen al final de las líneas. Sin-R(y también sin-wetc.) muestra que todo el archivo ha cambiado, pero no muestra cómo.fuente
git diff | cat -A | less -Ssi está desesperado, pero además de los retornos de carro,cattambién mostrará cualquier color resaltando los códigos de escape literalmente.cat -Ano es portátil. En el gato BSD, no existe tal opción. Por favor, usecat -veten su lugar.Uso
git diff --color | less -R. Esto-Rhace que los códigos de control de color sean amigables para los humanos.Entonces puede usar
lessla búsqueda de expresiones regulares, por ejemplofuente
vim, por cierto.less -Rsimplemente me facilitó ells --colorpasoless.Mi versión de
git diffya parece hacer esto: tengo git 1.7.4.1 y lo he configuradocolor.ui = auto.fuente