554 Stimmen

Wie kann ich ein GitHub-Pull-Request mit Git überprüfen?

Ich möchte eine zuvor erstellte Pull-Anfrage über die GitHub-Webplattform überprüfen. Ich habe gesucht und verschiedene Orte gefunden, an denen ein refs/pull oder refs/pull/pr existiert.

Aber wenn ich fetch = +refs/pull/*/head:refs/remotes/origin/pr/* zur Git-Konfigurationsdatei hinzufüge und dann ein git fetch ausführe

Was mache ich falsch? Sollte GitHub automatisch die pull/xyz-Dinge erstellen oder muss ich etwas konfigurieren?

29voto

AmitB Punkte 664

Wenn Sie Github.com verwenden, gehen Sie zu "Pull requests", klicken Sie auf den relevanten Pull-Request und klicken Sie dann auf den Link "Befehlszeilenanweisungen": Befehlszeilenanweisungen bei Github.com

22voto

gabbar0x Punkte 3799

Unter Bezugnahme auf die Antwort von Steven Penny ist es am besten, einen Testzweig zu erstellen und den PR zu testen. Hier ist, was Sie tun würden.

  1. Erstellen Sie einen Testzweig, um den PR lokal zusammenzuführen. Angenommen, Sie befinden sich im Master-Zweig:

git checkout -b test

  1. Holen Sie sich die PR-Änderungen in den Testzweig

git pull origin pull/939/head:test

Jetzt können Sie die Änderungen auf diesem lokalen Testzweig (in diesem Fall mit dem Namen test) sicher testen und sobald Sie zufrieden sind, können Sie sie wie gewohnt von GitHub fusionieren.

12voto

osexp2003 Punkte 2564

Für Bitbucket müssen Sie das Wort pull durch pull-requests ersetzen.

Zuerst können Sie den Pull-Request-URL-Stil mit dem Befehl git ls-remote origin bestätigen.

$ git ls-remote origin |grep pull
f3f40f2ca9509368c959b0b13729dc0ae2fbf2ae    refs/pull-requests/1503/from
da4666bd91eabcc6f2c214e0bbd99d543d94767e    refs/pull-requests/1503/merge
...

Wie Sie sehen können, lautet es refs/pull-requests/1503/from anstelle von refs/pull/1503/from

Dann können Sie die Befehle in einer der Antworten verwenden.

12voto

Ariel Gabizon Punkte 2321

Das Problem bei einigen der oben genannten Optionen ist, dass, wenn jemand nach dem Öffnen des Pull Requests weitere Commits push, sie Ihnen nicht die aktualisierteste Version geben. Für mich hat am besten funktioniert - gehen Sie zum Pull Request und drücken Sie 'Commits', scrollen Sie zum Ende, um den neuesten Commit-Hash zu sehen Bildbeschreibung hier eingeben und dann verwenden Sie einfach git checkout, d.h.

git checkout

im obigen Beispiel

git checkout 0ba1a50

11voto

Tomas Tomecek Punkte 5536

Sie können den Befehl git config verwenden, um eine neue Regel in die Datei .git/config zu schreiben, um Pull Requests aus dem Repository abzurufen:

$ git config --local --add remote.origin.fetch '+refs/pull/*/head:refs/remotes/origin/pr/*'

Und dann einfach:

$ git fetch origin
Holung von origin
remote: Objekte zählen: 4, fertig.
remote: Objekte komprimieren: 100% (2/2), fertig.
remote: Gesamt 4 (delta 2), wiederverwendet 4 (delta 2), Packung wieder verwendet 0
Objekte entpacken: 100% (4/4), fertig.
Von https://github.com/container-images/memcached
 * [neuer Ref]         refs/pull/2/head -> origin/pr/2
 * [neuer Ref]         refs/pull/3/head -> origin/pr/3

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X