Wie ändere ich die Github-Pull-Anforderung einer anderen Person?

Lesezeit: 5 Minuten

Jemand hat eine Pull-Anforderung in meinem Github-Repo erstellt. Es sieht meistens gut aus, aber ich musste ein paar kleinere Änderungen vornehmen, damit es meinen Continuous-Integration-Server passiert.

Die Anweisungen von Github auf dem Bildschirm zum “Überprüfen” der Anfrage sollten ausgeführt werden:

git checkout -b otheruser-fix_somebug
git pull https://github.com/otheruser/myrepo.git fix_somebug

Ich habe dann meine Änderungen vorgenommen und lokal übernommen. Allerdings, wenn ich zu laufen ging git pushgit hat mich informiert:

fatal: The current branch otheruser-fix_somebug has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin otheruser-fix_somebug

was ich getan habe, aber meine Änderungen werden nicht unter der Pull-Anforderung angezeigt, sondern unter einer Kopie des Zweigs otheruser-fix_somebug auf meinem Github-Repo gespiegelt und nicht mit der Pull-Anfrage verbunden.

Wie hätte ich anrufen sollen git push damit die Änderungen in der Pull-Anfrage erscheinen?

  • Ein IIUC-Pull-Request kann nur Änderungen aus dem Branch enthalten, von dem der Request eingereicht wurde.

    – jingx

    17. Mai 2017 um 21:00 Uhr

  • Haben sie das Repo gegabelt und eine PR über die Gabeln geöffnet?

    – Osowskit

    18. Mai 2017 um 5:11 Uhr

  • Aktuelle Github-Dokumentation zu seinem Pull-Request-Modifikations-Workflow: Committen von Änderungen an einem Pull-Request-Branch, der aus einem Fork erstellt wurde

    – maxschlepzig

    3. Januar 2021 um 17:33 Uhr

Benutzer-Avatar
3D1T0R

Das geht meines Wissens nach nur mit Erlaubnis. In der Vergangenheit war dies nur möglich, indem sie Sie als Mitwirkenden zu ihrem Fork hinzufügten. im September 2016 hat GitHub ein Feature für genau diesen Anwendungsfall hinzugefügtwodurch die Person, die den Pull-Request anfordert, dem/den Betreuer(n) des Upstream-Repositorys die Erlaubnis erteilen kann, indem sie einfach ein Kontrollkästchen markiert.

Sie können die Pull-Anfrage kommentieren und ihnen mitteilen, dass es einige Probleme gibt, die Sie beheben möchten, bevor Sie die Pull-Anfrage zusammenführen, und angeben, dass Sie möchten, dass sie Ihnen die Erlaubnis erteilen, sich auf ihren Pull-Anfrage-Zweig festzulegen, indem Sie dies überprüfen Aktivieren Sie das Kontrollkästchen “Bearbeitungen von Betreuern zulassen” auf der Pull-Anforderung und geben Sie ihnen einen Link zu die GitHub-Hilfeseite über die Funktion, damit sie genau sehen können, wie sie aktiviert wird. Sobald sie dies getan haben, können Sie direkt zum Pull-Request-Zweig ihres Repositorys pushen.


Dinge, die Sie tun können, wenn sie Ihnen keinen Schreibzugriff auf ihren Pull-Request-Branch geben/haben:

  • Machen Sie Kommentare zu ihrer Pull-Anfrage:

    1. Gehen Sie in Ihrem Browser zum Pull-Request
    2. Scrollen Sie zum Ende der Seite “Konversation” (Standard).
    3. Veröffentlichen Sie Kommentare, in denen Sie die Änderungen beschreiben, die sie vornehmen müssen, bevor Sie die PR akzeptieren.
  • Machen Sie Kommentare zum Code in ihrem Pull-Request:

    1. Gehen Sie in Ihrem Browser zum Pull-Request
    2. Klicken Sie oben auf den Link “Dateien geändert”.
    3. Bewegen Sie den Mauszeiger über eine Codezeile, die geändert werden soll
    4. Klicken Sie auf die kleine blaue “+”-Schaltfläche, die daneben erscheint
      (Hinweis: Diese erscheinen nur auf geänderten und nahegelegenen Linien)
    5. Posten Sie einen Kommentar und/oder einen Code, um das Problem zu beheben
    6. Wiederholen Sie 3-5 nach Bedarf.
  • Akzeptieren Sie es so, wie es ist, und reparieren Sie es dann in Ihrem eigenen Repository

    1. Führen Sie ihren Zweig zusammen, als wäre nichts falsch daran
    2. Führen Sie ein neues Commit zu Ihrem Repository durch, das die Probleme behebt (vorzugsweise erwähnen Sie die PR nach Problem-ID in Ihrer Commit-Nachricht, damit GitHub feststellen kann, dass sie verwandt ist, und sie auf der Konversationsseite der PR anzeigen kann).

  • Seit ich diese Antwort schreibe, ist mir das bewusst geworden diesen GitHub-Blogbeitrag Es geht darum, genau dies zu tun Dieses Featureaber nur wenn Sie gewähren Ihnen Zugriff.

    – 3D1T0R

    29. Juli 2017 um 18:06 Uhr

  • @Cerin: Ich habe die Antwort so bearbeitet, dass sie Informationen zur Pull Request-Funktion „Änderungen von Betreuern zulassen“ von GitHub enthält.

    – 3D1T0R

    30. Juli 2017 um 0:10 Uhr


  • Gibt es für mich als Betreuer eine einfache Möglichkeit, herauszufinden, ob mir eine bestimmte Pull-Anfrage Bearbeitungsberechtigungen gewährt?

    – maxschlepzig

    3. Januar 2021 um 17:34 Uhr

  • Nichts davon praktisch. Leute in Open Source verschwinden die ganze Zeit, was der springende Punkt ist, um ihre PR zu kommandieren. Code kann nicht so landen, wie er ist, da CI-Blöcke und main nicht beschädigt werden sollten. Das einzige, was ich gefunden habe, ist, ihren Zweig zu kopieren und die PR zu schließen – einfach kein großartiger Workflow.

    – Trevor Hickey

    27. Januar um 6:35 Uhr

Was ist mit dem Auschecken des Zweigs aus dem Pull-Request? Dann können Sie dort den Commit durchführen und direkt zu diesem Zweig pushen.

git fetch
git checkout fix_somebug

fügen Sie den Commit mit Ihren Änderungen hinzu

git push origin fix_somebug

  • Es hört sich so an, als hätten sie genau das getan, und sie haben erklärt, was das Problem mit diesem Ansatz in der Frage war.

    – Adrian

    1. Juni 2017 um 21:02 Uhr

  • @ Adrian Ich denke, es ist anders: In seinem Ansatz verzweigte er sich aus dem PR-Zweig und fügte das neue Commit in diesem neuen Zweig hinzu. Ich schlage vor, genau den PR-Zweig auszuchecken (beachten Sie den Unterschied beim Auschecken) und dort Änderungen vorzunehmen und diese Änderungen dann in den bereits vorhandenen PR-Zweig zu übertragen.

    – mekoda

    2. Juni 2017 um 3:31 Uhr


  • Aus der Frage geht hervor, dass er den PR-Zweig selbst überprüft hat, aber es wird so oder so nicht explizit angegeben, daher ist es schwer zu sagen.

    – Adrian

    2. Juni 2017 um 13:03 Uhr

  • Ja, steht in der Frage. Er überprüfte den PR-Zweig und versuchte dann, zum PR-Zweig zurückzukehren, nur um festzustellen, dass er stattdessen einen neuen Zweig in seinem Repo für seine Änderungen erstellte, da er keine Schreibrechte für den PR-Zweig hatte.

    – 3D1T0R

    30. Juli 2017 um 0:13 Uhr

1176340cookie-checkWie ändere ich die Github-Pull-Anforderung einer anderen Person?

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

Privacy policy