Comment appliquer le patch `git diff` sans Git installé?

Comment mon client peut-il appliquer le correctif créé par git diff sans installer git? J’ai essayé d’utiliser la commande patch mais il demande toujours le nom du fichier à patcher.

 git diff > patchfile 

et

 patch -p1 < patchfile 

travail mais comme beaucoup de gens l'ont remarqué dans les commentaires et autres réponses, le correctif ne comprend pas les ajouts, les suppressions et les renommages. Il n'y a pas d'autre option que git apply patchfile si vous avez besoin de gérer les ajouts de fichiers, les suppressions et les renommages.


EDIT décembre 2015

Les dernières versions de la commande patch (2.7, publiée en septembre 2012) prennent en charge la plupart des fonctionnalités du format "diff --git", notamment les renommages et les copies, les modifications des permissions et les différences de lien symbolique (mais pas encore les différences binarys).

Donc, à condition que l'on utilise la dernière version de patch il n'est pas nécessaire d'utiliser git pour pouvoir appliquer son diff en tant que patch.

essaye ça:

 patch -p1 < patchfile 

Utilisation

 git apply patchfile 

si possible.

 patch -p1 < patchfile 

a un effet secondaire potentiel.

git apply gère également les ajouts de fichiers, les suppressions et les renommages, s'ils sont décrits dans le format git diff , ce qui n'est pas le cas. Enfin, git apply est un modèle "appliquer tout ou abandonner tout" où tout est appliqué ou rien, alors que patch peut appliquer partiellement des fichiers de patch, laissant votre répertoire de travail dans un état étrange.

j’utilise

 patch -p1 --merge < patchfile 

De cette façon, les conflits peuvent être résolus comme d'habitude.

Essaye ça:

 $ git apply file.diff