¿Cómo crear un parche adecuado para revisar en crisol?
git diff branch master --no-prefix > patch
Esto genera solo 3 líneas de contexto. Entonces hago lo siguiente
git diff --unified=2000 branch master --no-prefix > patch
Es de esperar que todos los archivos tengan menos de 2000 líneas. ¿Hay alguna manera de decirle a git que incluya todas las líneas en el archivo para el parche sin tener que especificar el máximo de líneas?
Respuestas:
Sé que esto es antiguo, pero tampoco me gustan las soluciones codificadas, así que probé esto:
Usar -U parece ser la única forma de abordar el problema, pero usar un recuento de líneas promete que funcionará incluso para un pequeño cambio en un archivo muy grande.
fuente
<
no es necesario.git diff -U$(wc -l MYFILE) MYFILE
git diff -U$(wc -l MYFILE | awk '{print $1}') MYFILE
es una mejor respuesta que analiza correctamente la salida dewc
obteniendo solo la cantidad de líneas sin espacios en blanco, sin depender de la salida sin comillas de una subcapa para crear dos argumentos, y funciona en macOS / BSD.Esto parece funcionar bastante bien:
Con la advertencia:
fuente
-U
opción que sugiere es la misma que la que--unified=
utiliza el autor de la pregunta. La única diferencia es que especificas menos líneas de contexto, 1000, que las que usó el autor de la pregunta, 2000. @balki quería saber cómo aumentar el número al infinito, pero sugieres cortar el número a la mitad. ¿Por qué?git show
!--no-prefix
opción elimina los prefijos de destino “/ a /” y “/ b /” que aparecen de forma predeterminada. (página vinculada)Nota: el anuncio de git1.8.1rc1 (8 de diciembre de 2012) incluye:
por lo que podría ayudar, aquí, a generar un contexto más completo.
fuente
Obtuve inspiración y agregué un alias de git.
Actualizar:
Acabo de encontrar "git df" a veces no funciona, debido al cambio de directorio al ejecutar git alias. (Vea que los alias de git operan en el directorio incorrecto ). Entonces esta es la versión actualizada:
fuente
Esto funcionó para mí en macOS:
consulte "¿Cómo recortar los espacios en blanco de una variable Bash?"
fuente
Las soluciones aceptadas anteriormente no funcionan para mí cuando veo un archivo / confirmación específico (la
-U
opción parece interferir con el análisis de rev / ruta), pero--inter-hunk-context=
funciona en este caso engit version 2.24.0
:Si no conoce el tamaño del archivo, por supuesto, puede buscarlo en
wc -l
lugar de codificarlo:fuente