Frage

Ich habe eine Trunk -Version einer Codebasis von Git heruntergeladen, und es gibt Build -Fehler. Kalt ist jetzt ein Patch verfügbar, und ich habe eine E -Mail erhalten:

Siehe https://github.com/justintullososs/zeromq.node/pull/47 für Patch

Ich bin neu in Git, also bin ich mir nicht ganz sicher, was ich mit diesem "Patch" anfangen soll, da die Seite eher wie ein Diskussionsthread aussieht.

Weiß jemand, wie ich diesen Patch auf mein lokal geklontes Git -Repository erhalten/anwenden kann?

War es hilfreich?

Lösung

Speichern Sie den Patch irgendwo. Wenn Sie Linux verwenden, können Sie Curl verwenden:

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

Um den Patch -Gebrauch anzuwenden git apply. Sie können sehen, ob sich der Patch sauber mit dem anwendet check Möglichkeit. Wechseln Sie in Ihr Git -Verzeichnis und rennen Sie:

git apply --check /tmp/47.patch

Wenn es so aussieht, als ob Sie den Patch anwenden möchten

git apply /tmp/47.patch

Andere Tipps

Fügen Sie einfach a hinzu .patch Am Ende, um den Patch zu bekommen:

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

Sie können so etwas wie unten machen:

$ 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/

Die Regel scheint kürzlich geändert zu sein.

Zuvor haben wir eine PR genommen und a hinzugefügt .patch am Ende, um den Patch zu bekommen

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

Aber jetzt wird der Link umgeleitet (301) zu

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

Also, wenn Sie verwenden curl, du könntest mit der Pfeife sein git apply Befehl zum Anwenden eines Git -Patchs aus der Pull -Anforderung

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

Wenn das Patch jetzt nicht richtig für Sie ist, verwenden Sie git apply -R Befehl zum Rollen der Änderung.

Damit Git Pull Anfrage 47 herunterladen und sie in Patch in die mylocalbranch lokal, rennen:

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

Wenn die Pull -Anfrage nicht auf dem Origin -Repo liegt

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top