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:
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?
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:
Gehen Sie in Ihrem Browser zum Pull-Request
Scrollen Sie zum Ende der Seite “Konversation” (Standard).
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:
Gehen Sie in Ihrem Browser zum Pull-Request
Klicken Sie oben auf den Link “Dateien geändert”.
Bewegen Sie den Mauszeiger über eine Codezeile, die geändert werden soll
Klicken Sie auf die kleine blaue “+”-Schaltfläche, die daneben erscheint
(Hinweis: Diese erscheinen nur auf geänderten und nahegelegenen Linien)
Posten Sie einen Kommentar und/oder einen Code, um das Problem zu beheben
Wiederholen Sie 3-5 nach Bedarf.
Akzeptieren Sie es so, wie es ist, und reparieren Sie es dann in Ihrem eigenen Repository
Führen Sie ihren Zweig zusammen, als wäre nichts falsch daran
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).
@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
11763400cookie-checkWie ändere ich die Github-Pull-Anforderung einer anderen Person?yes
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