J'ai téléchargé une version trunk d'une base de code depuis git, et il y a des erreurs de construction. Apparemment, un correctif est maintenant disponible et j'ai reçu un e-mail:
voir https://github.com/JustinTulloss/zeromq.node/pull/47 pour le patch
Je suis nouveau sur git, donc je ne sais pas trop quoi faire de ce 'patch' en particulier, car la page ressemble plus à un fil de discussion.
Est-ce que quelqu'un sait comment obtenir/appliquer ce correctif à mon référentiel git cloné localement?
Enregistrez le patch quelque part. Si vous utilisez linux, vous pouvez utiliser curl:
curl -L https://github.com/JustinTulloss/zeromq.node/pull/47.patch > /tmp/47.patch
Pour appliquer le patch, utilisez git apply
. Vous pouvez voir si le correctif s’appliquera proprement avec l’option check
. Accédez à votre répertoire git et exécutez:
git apply --check /tmp/47.patch
S'il semble que vous souhaitiez appliquer le patch, décochez la case
git apply /tmp/47.patch
Ajoutez simplement un .patch
à la fin pour obtenir le patch:
https://github.com/JustinTulloss/zeromq.node/pull/47.patch
Vous pouvez faire quelque chose comme ci-dessous:
$ git checkout master
$ curl http://github.com/JustinTulloss/zeromq.node/pull/47.patch | git am
$ git Push Origin master
La règle semble avoir récemment changé.
Auparavant, nous avons pris un PR et ajouté un .patch
à la fin pour obtenir le patch
http://github.com/[group]/[project]/pull/30583.patch
Mais maintenant, le lien est redirigé (301) vers
https://patch-diff.githubusercontent.com/raw/[group]/[project]/pull/30583.patch
Donc, si vous utilisez curl
, vous pouvez diriger avec git apply
commande pour appliquer un patch git à partir de la requête Pull
curl https://patch-diff.githubusercontent.com/raw/[group]/[project]/pull/30583.patch | git apply
Si le patch ne vous convient pas maintenant, utilisez git apply -R
commande pour annuler la modification.
git fetch -q Origin +refs/pull/47/merge:
git checkout -qf FETCH_HEAD
Pour laisser git télécharger la requête pull 47 et la patcher dans mylocalbranch
localement, exécutez:
git checkout -b mylocalbranch
git pull Origin pull/47/head
Si la demande d'extraction n'est pas sur le référentiel d'origine, exécutez
git remote add patchremote https://github.com/JustinTulloss/zeromq.node
git pull patchremote pull/47/head