¿Cuál es mejor usar y por qué? git format-patch o package de git?

Básicamente tengo 3 preguntas:

  1. ¿Cuál es mejor usar y por qué? git formatting-parche o package de git?
  2. ¿Qué GIT usa todos los metadatos para calcular la key SHA-1 para commit y blobs / trees?
  3. Cuando aplico un parche que fue creado por formatting-parche, ¿por qué tiene SHA diferente para los mismos cambios y compromiso?

  1. esto obviamente depende de tu caso de uso; git bundle solo tiene sentido si transfiere un set de cambios de un repository git a otro, mientras que el git format-patch crea files diff estándar que pueden inspeccionarse fácilmente y aplicarse también a un tree fuente no modificado. Por otro lado, git bundle crea un solo file, que es más fácil de transportar que la salida de varios files del git format-patch

  2. esto es posiblemente un duplicado de ¿SHA-1 se calcula en function del contenido?

  3. ver # 2