A partir de los manuales, git-format-patch prepara parches adecuados para el envío de correo electrónico, mientras que git-diff muestra los cambios.
Son dos cosas diferentes y tienen diferentes propósitos, simplemente dan como resultado un formato de parche. Pero git-format-patch
agrega datos sobre una confirmación (fecha, autor, mensaje de confirmación) y la agrupa en un formato que es adecuado para enviar como un mensaje de correo Unix (aunque estos son solo archivos, por lo que se pueden enviar a otros métodos y seguir aplicando por git-am).
También git-format-patch
genera un archivo de parche para cada confirmación en el rango que especifique. Estos cambios se agregarán como confirmaciones a su repositorio con git-am
.
git-diff
solo muestra la diferencia entre los dos estados que solicita y se puede usar para crear un archivo de parche. Pero este es solo un archivo de parche normal y la aplicación del parche solo cambiará el estado del directorio de trabajo.
Y sí, puede crear un parche para su índice de esa manera.
El archivo de parche se puede generar con el
git diff
comando, pero en comparación con el parche generado por elgit format-patch
comando, las principales diferencias son:Para generar el archivo de parche para todos los archivos modificados (en el índice o en el directorio de trabajo):
Para aplicar el archivo de parche generado:
fuente