Pregunta Ignorar ciertos cambios en git diff


¿Es posible obtener un informe de git diff o comandos relacionados que excluya una determinada categoría de cambio?

Me han pedido que revise un cambio en el que una gran cantidad de archivos se han sometido al equivalente de s / 2016/2017 / g. (Hemos actualizado un jar de terceros y, como resultado, muchas de nuestras importaciones ahora hacen referencia a un paquete diferente).

¿Hay opciones para ver esta diferencia desde la línea de comandos, pero suprimiendo todos los cambios que solo consisten en algo como lo siguiente, para poder enfocarme en cualquier cambio de lógica?

Ignorar:

-import com.example.2016_2.util.Utility
+import com.example.2017_2.util.Utility

Mantener:

-Utility util = new Utility();
+Utility util = Utility.create();

Si la respuesta es escribir mi propio script e integrarlo a través de git diff --porcelain o estableciendo GIT_EXTERNAL_DIFF, Ciertamente soy un juego; solo preguntando si

  1. esto es compatible con la caja y de alguna manera lo extrañé en la página del manual;
  2. hay otros comandos git diff * que puedo usar para esto;
  3. si ya existe un ejecutable de diff apropiado que puedo proporcionar a través de GIT_EXTERNAL_DIFF

0


origen




Respuestas:


Hay muchas formas de archivos diff, git diff está bien, pero hay otros. Ante la misma tarea, yo:

  • mira el código con los cambios posteriores
  • copiar todo el árbol de códigos en otro directorio
  • revertir el cambio de 2016/2017 en esa copia
  • en el árbol git, revisa el histórico compromiso
  • hacer una comparación recursiva entre los dos árboles (BeyondCompare en Windows, kdiff3 en Linux)

0