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-patchagrega 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-patchgenera 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-diffsolo 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 diffcomando, pero en comparación con el parche generado por elgit format-patchcomando, 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