online one files example commits branches git git-diff

files - git diff one file



Git: elimina el signo de más/menos de las líneas en diff (4)

La forma más sencilla que he visto es esta ... Muy fácil de recordar (el formato del texto cambia. Por lo tanto, debe conocer el cambio de código)

git diff --color-palabras



Aquí hay una forma de hacerla por defecto.
Si está utilizando Linux, agregue el siguiente comando a su archivo ~ / .bashrc
Luego puedes usar gitdiff sin espacio como otro comando.

alias gitdiff=''git diff --color-words''

Mi pregunta es bastante simple, aunque no he tenido la suerte de encontrar una respuesta.

Me gustaría eliminar los símbolos de más / menos iniciales de cada línea en git diff . Antes de preguntar por qué deseo hacer esto, permítame describir mis razones:

  1. Las líneas que son exactamente 80 caracteres se desbordarán con un solo carácter, que se verá simplemente incómodo.
  2. La coloración es suficiente para que pueda distinguir entre adiciones / eliminaciones
  3. Prefiero mantener el ancho de la ventana de mi Terminal en 80 caracteres (en lugar de 81 caracteres arbitrarios) para mantener la coherencia con todo lo que hago en mi Terminal (fuera de git )

¿Hay alguna opción de configuración para hacer esto? Si no es así, ¿cómo puedo hacer esto de una manera que aún me permita hojear a través de mi estilo de diff less ?

Cualquier idea sería muy apreciada.


Para usuarios de mac, tendrás que usar el siguiente comando:

git diff --color | sed -E "s/^([^-+ ]*)[-+ ]///1/" | less -r

proporcionó en la respuesta aceptada pero hubo un pequeño error tipográfico.

Entonces, si quieres lanzar esto en un alias, puedes hacer lo siguiente:

alias gitdiff=''git diff --color | sed -E "s/^([^-+ ]*)[-+ ]///1/" | less -r''


Si puedo responder mi propia pregunta, al final me decidí por usar una herramienta llamada diff-so-fancy . No solo elimina el +/- de mis diferencias, sino que también agiliza los encabezados de los archivos y resalta los cambios dentro de cada línea.


Una opción es usar sed para eliminar el carácter no deseado de diff, mientras se conserva el color:

git diff --color | sed -r "s/^([^-+ ]*)[-+ ]///1/" | less -r

(Tenga en cuenta que también necesita eliminar el espacio inicial, ya que es emitido por diff).