Dai manuali git-format-patch prepara le patch adatte per l'invio di email, mentre git-diff mostra le modifiche.
Sono due cose diverse e hanno scopi diversi, capita solo che producano un formato patch. Ma git-format-patch
aggiunge i dati su un commit (data, autore, messaggio di commit) e lo raggruppa in un formato adatto per l'invio come messaggio di posta Unix (sebbene questi siano solo file, quindi possono essere inviati ad altri metodi e ancora applicati da git-am).
git-format-patch
Genera anche un file di patch per ogni commit nell'intervallo specificato. Queste modifiche verranno aggiunte come commit al tuo repository con git-am
.
git-diff
mostra solo la differenza tra i due stati richiesti e può essere utilizzato per creare un file di patch. Ma questo è solo un normale file di patch e l'applicazione della patch cambierà solo lo stato della directory di lavoro.
E sì, puoi creare una patch per il tuo indice in questo modo.