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?

9voto

Mahesh Jamdade Punkte 11281

Auch wenn die meisten Antworten in diesem Thread funktionieren, ziehe ich es vor, einen Pull-Request in einem neuen Branch abzurufen und einen Soft-Reset auf einen alten Commit durchzuführen (verschiebt die PR-Änderungen in den Staging-Bereich), dadurch kann ich die PR-Änderungen testen und den Unterschied in meinem IDE sehen.

git fetch origin pull//head:
git checkout BRANCH_NAME

und dann einen Soft-Reset auf einen alten Commit durchführen (siehe Liste der Commits mit git log)

git reset --soft 

z.B.

git fetch origin pull/65/head:test-branch 
git checkout test-branch
git log # drücke 'q', um zu beenden
git reset --soft 7d7fe166cd878ed70c559c4e98faf2323532

Das Ausführen des obigen Befehls ruft die Änderungen des PR ab und zeigt sie in Ihrer IDE-Version an und sie werden nicht übernommen, so dass Sie den Unterschied in Ihrem Staging-Bereich sehen können (als ob diese Änderungen lokal vorgenommen wurden).

Ref: Github-Dokumentationsreferenz

8voto

init0 Punkte 89

Wenn Sie dem "github fork" Workflow folgen, bei dem Sie eine Fork erstellen und das Remote-Upstream-Repo hinzufügen:

14:47 $ git remote -v
origin  git@github.com:/.git (fetch)
origin  git@github.com:/.git (push)
upstream        git@github.com:/.git (fetch)
upstream        git@github.com:/.git (push)

Um in Ihren aktuellen Branch zu ziehen, würde Ihr Befehl wie folgt aussehen:

git pull upstream pull//head

Um in einen neuen Branch zu ziehen, würde der Code wie folgt aussehen:

git fetch upstream pull//head:newbranch

6voto

Daniel Wehner Punkte 2049

Ich benutze hub, ein Tool von github: https://github.com/github/hub

Mit hub ist das lokale Überprüfen eines Pull-Requests ziemlich einfach:

hub checkout https://github.com/owner/repo/pull/1234
oder
hub pr checkout 1234

5voto

A. Gille Punkte 942

Mit neueren Versionen von Git:

git fetch origin refs/pull-requests//from:

4voto

Elakya Punkte 41

Holen Sie den Remote-PR-Zweig in den lokalen Zweig:

git fetch origin ‘remote_branch’:‘local_branch_name’

Legen Sie den Upstream des lokalen Zweigs auf den Remote-Zweig fest.

git branch --set-upstream-to=origin/PR_Branch_Name local_branch

Wenn Sie die lokalen Änderungen erneut auf den PR-Zweig pushen möchten

git push origin HEAD:remote_PR_Branch_name

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