Pour faire exactement ce que vous demandez (en supposant que vous avez déjà effectué un commit et que vous voulez créer une archive des fichiers modifiés par le dernier commit), vous pourriez faire :
git archive --format=zip HEAD `git diff HEAD^ HEAD --name-only` > a.zip
Si vous avez supprimé des fichiers dans un commit, pour éviter une erreur de pathpec, utilisez --diff-filter=d
:
git archive --format=zip HEAD `git diff --diff-filter=d HEAD^ HEAD --name-only` > a.zip
Mais peut-être que vous voulez réellement créer un patch en utilisant :
git diff HEAD^ HEAD > a.patch
et appliquer ce patch là où vous en avez besoin en utilisant :
patch -p1 < a.patch
Bien sûr, l'application d'un patch ne fonctionne que si votre répertoire cible contient déjà l'ancienne version de votre référentiel.
0 votes
Si vous nous dites ce que vous essayez d'accomplir, nos réponses seront peut-être un peu plus utiles.
0 votes
Ça dépend, parfois juste pour les ftp
0 votes
Mais "les mettre sur ftp" n'est pas un objectif en soi. Quelle est la raison de faire cela ? Je n'ai jamais voulu créer un zip des seuls fichiers modifiés, je m'interroge donc sur le cas d'utilisation.
0 votes
Dans ce cas, il s'agit plutôt de les copier dans un dossier, et non de les compresser.