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.