Wie gehen Sie mit Ihrem ersten Pull Request auf GitHub um?

Lesezeit: 4 Minuten

Benutzer-Avatar
Nur bolivianisch hier

Ich bin relativ neu bei Git. Mein bisheriges Wissen umfasst git add push commit. Das war’s, und bis jetzt hat es mir gute Dienste geleistet. 🙂

Allerdings hat mir heute Morgen jemand eine Pull-Anfrage geschickt, was, wie ich gelesen habe, bedeutet, dass jemand mein Repository gegabelt, einige Änderungen vorgenommen und mich mit den Worten „Hey Sergio, ich habe einige Verbesserungen vorgenommen. Ziehen Sie sie für den Master-Zweig in Betracht.“

Hab ich recht?

https://github.com/sergiotapia/CherryTomato/pulls

Wenn ja, wie füge ich die Änderungen dieses Benutzers einfach in den Master-Zweig des Repositorys ein? Welche Befehle brauche ich zum Feuern? Noch wichtiger, kann jemand den Prozess in Laienbegriffen erklären, was passieren muss?

Vielen Dank.

Benutzer-Avatar
Jona

Sie haben die richtige Idee. Wenn Ihnen diese Änderungen nützlich erscheinen, möchten Sie sie wahrscheinlich mit Ihrem Repository zusammenführen.

Github bietet eine nette Anleitung zum Antworten auf Pull-Requests: https://help.github.com/articles/using-pull-requests Ich würde damit beginnen und sehen, ob Sie weitere spezifische Fragen zum Prozess haben.

Benutzer-Avatar
Dan Soloway

Github bietet einen Fork Queue-Bildschirm, mit dem Sie die Änderungen direkt auf Github in Ihr Repo ziehen können. Dieser Bildschirm zeigt jeden geforkten Commit entweder grün oder rosa an, je nachdem, ob er sauber angewendet wird, und ermöglicht es Ihnen, einen neuen Zweig in Ihrem Repo anzugeben, in dem die Änderungen zusammengeführt werden. Die URL für die Fork-Warteschlange lautet http://github.com///forkqueue

Aktualisieren: Führen Sie die folgenden Schritte aus, um die Pull-Anforderung in Ihr Master-Repository zusammenzuführen:

$ git checkout master
$ git remote add nakor git://github.com/nakor/CherryTomato.git
$ git fetch nakor
$ git merge nakor
$ git push origin master

Angepasst aus der Github-Dokumentation hier: http://help.github.com/pull-requests/#merging_a_pull_request

Alternativ können Sie den neuen “Merge Pull Request” verwenden, ein neues Feature, das heute (!) zu Github hinzugefügt wurde: https://github.com/blog/843-the-merge-button

  • Ich habe ein bisschen gebraucht, um das zu erkennen nakor Hier ist der Name des Benutzers, der die PR übermittelt hat. Beachten Sie das nachher git fetch nakor du könntest es tun git switch -c PR1 um einen lokalen Zweig namens zu erstellen PR1 (für Ihren ersten PR), um Ihnen mehr Einfluss zu geben, um den Code vor dem Zusammenführen zu überprüfen, zu vergleichen, zu testen und zu bearbeiten, oder sogar um den neuen Zweig zurück zu GitHub zu pushen (z. B. um einen neuen PR zu erstellen).

    – AstroFloyd

    20. März um 8:46 Uhr


Eine Sache, die nicht ausdrücklich in der erwähnt wird GitHub-Pull-Request-Leitfaden So sollte die Pull-Anforderung auf Ihren Code angewendet werden:
Ich möchte, dass diese Änderungen zusammengeführt werden:

  • schnell vorspulen (das heißt einfach die HEAD meines Zweigs zum nächsten n-Committed-Teil des Patches)
  • oder zumindest ohne Konflikte (der Patch ändert/entfernt nur Zeilen, die ich lokal nicht berührt habe, oder fügt neue Zeilen hinzu)

Wenn es den geringsten Konflikt gibt, ist es am besten, den Patch abzulehnen und den Absender zu bitten, Ihren eigenen Code erneut abzurufen, alle Konflikte lokal in seinem Repo zu lösen und eine neue Pull-Anfrage zu stellen.
Dieser Weg:

  • sie erledigen die Arbeit (“sie” sind diejenigen, die Ihnen “Pull-Requests”, also Patches, senden)
  • du profitierst 😉

Viele Jahre später gibt es neue Lösungen, wie auf gefunden diese Seite. Wenn Sie sich in Ihrem lokalen Git-Repository befinden, tun Sie Folgendes:

gh pr checkout PRID

wo PRID ist die Pull-Request (PR)-Nummer oder URL (z. B. “1” für den ersten PR). Dadurch wird der Code aus dem PR als neuer Zweig zu Ihrem lokalen Repo hinzugefügt. Es verwendet die gh Befehl von GitHub CLI-Paket und funktioniert nur für aktive PRs.

Ohne dieses Paket und/oder für inaktive PRs können Sie dasselbe tun mit:

git fetch origin pull/PRID/head:NewBranchName
git checkout NewBranchName

Dies fügt die hinzu PRID Code als neue Verzweigung mit dem Namen NewBranchName zu Ihrem lokalen Repo. Beachten Sie, dass dies funktioniert, ohne das Repository des Benutzers zu verwenden, der die PR übermittelt hat, was bedeutet, dass es auch funktioniert, wenn das Repository des Benutzers nicht mehr existiert oder nicht mehr reagiert.

Sie können den neuen Zweig nun lokal prüfen, vergleichen, testen und bearbeiten und zB mit ihm zusammenführen master. Alternativ können Sie den neuen Zweig zu GitHub pushen, z. B. mit:

git push origin NewBranchName

Auf diese Weise können Sie einen neuen PR aus dem neuen Zweig erstellen (um den ursprünglichen PR zu ersetzen) und ihn stattdessen überprüfen und zusammenführen lassen.

1245300cookie-checkWie gehen Sie mit Ihrem ersten Pull Request auf GitHub um?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy