Domanda

Ho scaricato una versione tronco di una base di codice da Git, e ci sono errori di generazione. Aparently una patch è ora disponibile, e ho ricevuto una e-mail:

vedi https://github.com/JustinTulloss/zeromq.node/pull/47 per patch

Sono nuovo di git, quindi non sono molto sicuro di cosa fare con questo 'patch' in particolare, dal momento che l'aspetto della pagina più simile a un thread di discussione.

Qualcuno sa come posso ottenere / applicare questa patch al mio repository git clonato a livello locale?

È stato utile?

Soluzione

Salva l'qualche patch. Se stai usando Linux È possibile usare ricciolo:

curl -L https://github.com/JustinTulloss/zeromq.node/pull/47.patch > /tmp/47.patch

Per applicare l'git apply uso patch. È possibile vedere se il cerotto si applica in modo pulito con l'opzione check. Passare alla directory git ed eseguire:

git apply --check /tmp/47.patch

Se si guarda come si desidera applicare la patch rimuovere l'opzione di controllo

git apply /tmp/47.patch

Altri suggerimenti

Basta aggiungere un .patch alla fine per ottenere la patch:

https://github.com/JustinTulloss/zeromq.node/pull/47.patch

Si può fare qualcosa di simile di seguito:

$ git checkout master
$ curl http://github.com/JustinTulloss/zeromq.node/pull/47.patch | git am
$ git push origin master

http://help.github.com/send-pull-requests/

La regola sembra recentemente cambiato.

In precedenza abbiamo preso un PR e aggiungere un .patch alla fine per ottenere la patch

http://github.com/[group]/[project]/pull/30583.patch

Ma ora il link è di reindirizzamento (301) a

https://patch-diff.githubusercontent.com/raw/[group]/[project]/pull/30583.patch

Quindi, se si utilizza curl, si potrebbe pipe con il comando git apply per applicare una patch git dal Pull Request

curl https://patch-diff.githubusercontent.com/raw/[group]/[project]/pull/30583.patch | git apply

Se la patch non è giusto per voi ora, utilizzare il comando git apply -R per eseguire il rollback la modifica.

Per consentire git scaricare richiesta di pull 47 e patch in mylocalbranch a livello locale, eseguire:

git checkout -b mylocalbranch
git pull origin pull/47/head

Se la richiesta di pull non è sul repo origine, eseguire

git remote add patchremote https://github.com/JustinTulloss/zeromq.node
git pull patchremote pull/47/head
git fetch -q origin +refs/pull/47/merge:
git checkout -qf FETCH_HEAD
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top