Wie ändere ich eine Pull-Anfrage auf GitHub, um den Zielzweig zu ändern, in den er zusammengeführt werden soll?

117

Ich habe eine Pull-Anforderung, die eine Zusammenführung mit dem Master von meiner Zweigstelle anfordert, aber der Eigentümer möchte, dass ich die Anforderung zum Zusammenführen in eine andere Zweigstelle von meiner Zweigstelle ändere.

Ist das möglich? Was sind die möglichen Lösungen?

Moriarty
quelle

Antworten:

137

Update August 2016: Durch Ändern des Basiszweigs einer Pull-Anforderung kann dieser Zweig endlich geändert werden.
(Und damit ist die Ausgabe 18 abgeschlossen , die 3 Jahre alt war und mehr als 1500 Kommentare hatte.)

Nachdem Sie eine Pull-Anforderung erstellt haben, können Sie den Basiszweig so ändern, dass die Änderungen in der Pull-Anforderung mit einem anderen Zweig verglichen werden.

Geben Sie hier die Bildbeschreibung ein


Ursprüngliche Antwort:

Da eine PR nicht in Bezug auf die Verzweigung bearbeitet werden kann (siehe unten), ist der einfachste Weg:

  • Erstellen Sie einen lokalen neuen Zweig über Ihrem aktuellen Zweig
  • Schieben Sie diesen neuen Zweig
  • Machen Sie eine neue PR mit dem richtigen Ziel.
  • Schließen Sie die vorherige PR
  • Verweisen Sie auf die "alte" Pull-Anfrage von der neuen. z.B. Supersedes #123(wie unten von Rivera kommentiert )

(Originalantwort, nur gültig beim Erstellen der PR )

Sie können versuchen, einen anderen Basiszweig auszuwählen , wie unter " Ändern des Zweigbereichs und des Ziel-Repositorys " (Klicken auf die EditSchaltfläche oben auf einer PR-Seite).

https://github-images.s3.amazonaws.com/help/pull_requests/pull-request-review-edit-branch.png

Die einfachste Art, über das Branchenangebot nachzudenken, ist folgende:

  • der Basiszweig ist , wo Sie denken , Änderungen angewandt werden sollen,
  • Der Hauptast ist das, was Sie anwenden möchten.

Durch Ändern des Basis-Repositorys wird geändert, wer über die Pull-Anforderung benachrichtigt wird.
Jeder, der auf das Basis-Repository pushen kann, erhält eine E-Mail-Benachrichtigung und sieht die neue Pull-Anforderung bei der nächsten Anmeldung in seinem Dashboard.

Wenn Sie sich als wählen Basiszweig denjenigen, der die ursprünglichen Maintainer (Eigentümer) wollen, Ihre PR sollten aus Ihrer Branche (unverändert) auf den neuen Basiszweig verschmelzen.

VonC
quelle
@Moriarty Ich habe keine PR in Bearbeitung, aber als Ersteller der PR sehen Sie keine Schaltfläche Bearbeiten, sobald Ihre PR gesendet wurde?
VonC
3
Das tue ich, aber damit kann ich nur den PR-Namen ändern. Ich gehe davon aus, dass Sie die PR-Zusammenführung beim Senden nicht direkt in einen Zweig ändern können. Ich frage mich, ob es eine Alternative gibt (Möglichkeit, eine PR unabhängig davon in einem anderen Zweig zusammenzuführen).
Moriarty
2
Es ist eine Feature-Anfrage offen, um den Zielzweig
Jason Antman
1
Es ist auch eine gute Idee, auf die "alte" Pull-Anfrage der neuen zu verweisen (z. B. Ersetzt # 123).
Rivera
1
@ Shimmy Ich glaube nicht, nicht von der Web-GUI.
VonC
6

Wenn Ihre Filiale (noch) remote verfügbar ist, müssen Sie lokal keine neue Filiale erstellen.

  • Wählen Sie Ihre Filiale (die die von Ihnen eingereichten Änderungen enthält) entweder direkt aus dem Dropdown-Menü oder unter "# Filialen" ( https://github.com/account/project/branches ) aus.

  • Klicken Sie auf "Neue Pull-Anfrage". Auf diese Weise können Sie einen neuen Basiszweig (Zielzweig) auswählen.

Hier ist ein Screenshot der neuen Benutzeroberfläche von Github: Geben Sie hier die Bildbeschreibung ein

Ich kann eine PR der Verzweigung UXgegen jede Verzweigung / Verzweigung einreichen - es spielt keine Rolle, ob ich zuvor eine PR für die Verzweigung eingereicht habe UX.

mkcor
quelle
1
Die grüne Schaltfläche "New Pull Request" wird auf die PR-Listen-Webseite in der oberen rechten Ecke verschoben.
Goldener Daumen
Ich bin mir nicht sicher, was Sie unter "bewegt" verstehen, aber ja, an beiden Stellen finden Sie den grünen Knopf "Neue Pull-Anfrage".
mkcor
4

Sie können jetzt: https://github.com/blog/2224-change-the-base-branch-of-a-pull-request

"Sie können jetzt den Basiszweig einer offenen Pull-Anforderung ändern. Nachdem Sie eine Pull-Anforderung erstellt haben, können Sie den Basiszweig so ändern, dass die Änderungen in der Pull-Anforderung mit einem anderen Zweig verglichen werden. Durch Ändern des Basiszweigs von Ihre ursprüngliche Pull-Anfrage, anstatt eine neue mit dem richtigen Basiszweig zu eröffnen, können Sie wertvolle Arbeit und Diskussion behalten. "

MK.
quelle
2

Sie müssen eine neue Pull-Anforderung erstellen, wie im gibhub-Dokument LINK angegeben

  1. Zuerst auswählen New Pull request
  2. compare pageWählen target branchSie auf der linken Seite die aus, die Sie drücken möchten, und auf der rechten Seite die branch you already pushed.
  3. Aktualisieren Sie die Details für Ihr neues PR.
  4. Erstellen Sie die PR
Ani Thettayil
quelle
-4

Es ist ziemlich einfach. Klicken Sie einfach auf die PR, für die Sie den Basiszweig ändern möchten. Suchen Sie die Schaltfläche "Pull-Anforderung schließen" unten auf der Webseite. Jetzt können Sie einen neuen PR normal neu erstellen - stellen Sie sicher, dass Sie diesmal den richtigen Basiszweig auswählen.

Goldener Daumen
quelle
Ich verstehe nicht, warum dies abgelehnt wird. Das hat bei mir ganz gut funktioniert.
Wilt
3
Ich habe nicht abgestimmt. Aber ich sehe, dass diese Antwort nur vorhandene ältere Antworten wiederholt (und dies mit weniger Qualität).
Lars Blumberg
@LarsBlumberg Wenn Sie sorgfältig lesen, sollten Sie beachten, dass es sich nicht um eine Wiederholung handelt, auch wenn es zu Überschneidungen kommen kann. Für mich, wenn (n -1) Schritte anstelle von n Schritten das Problem lösen können, lohnt es sich zu teilen :-)
Golden Thumb
2
Wenn (n-1) Schritte hilfreiche Schritte wie das Schließen der alten PR und das Referenzieren in der neuen auslassen, sehe ich keinen Wert darin, eine Teilmenge von Schritten aus einer bereits vorhandenen Antwort zu wiederholen. Insbesondere, wenn die Liste mit weniger Schritten aufgrund mangelnder Formatierung schwerer zu lesen ist.
Lars Blumberg