Para hacer exactamente lo que solicitó (suponiendo que ya comprometidos y desea crear un archivo de los archivos modificados por la última confirmación), se puede hacer:
git archive --format=zip HEAD `git diff HEAD^ HEAD --name-only` > a.zip
archivos Si ha eliminado en una confirmación , para evitar el uso de error pathspec --diff-filter=d
:
git archive --format=zip HEAD `git diff --diff-filter=d HEAD^ HEAD --name-only` > a.zip
Pero tal vez usted realmente desea crear un parche usando:
git diff HEAD^ HEAD > a.patch
y aplicar este parche donde lo necesite usando:
patch -p1 < a.patch
Por supuesto, la aplicación de un parche sólo funciona si el directorio de destino ya contiene la versión anterior de su repositorio.
Si nos dice lo que realmente está tratando de lograr, nuestras respuestas pueden ser un poco más útiles. – Cascabel
Depende, a veces simplemente para ftp ellos –
Pero "para ftp ellos" no es un objetivo en sí mismo. ¿Cuál es la razón de hacer esto? Nunca quise crear un archivo zip de solo los archivos modificados, así que me pregunto sobre el caso de uso. –