Патч, созданный с помощью git format-patch
, будет также включать некоторую мета-информацию о коммите (коммиттер, дата, сообщение о коммите, ...) и будет содержать разность двоичных данных. Все будет отформатировано как почта, чтобы его можно было легко отправить. Человек, получивший его, может затем воссоздать соответствующий коммит с git am
, и все метаданные останутся без изменений. Его также можно применять с git apply
, так как это супер-набор простых различий.
Патч, созданный с помощью git diff
, будет простой разницей с контекстом (подумайте diff -u
). Это также может быть применено с git apply
, но метаданные не будут воссозданы (так как их нет).
Таким образом, git format-patch
полезен для передачи коммита, а git diff
полезен для получения различий между двумя деревьями.