it-swarm.com.de

Wie aktualisiere ich eine Pull-Anfrage von Forked Repo?

Also habe ich zuerst ein Repo gegabelt und dann ein Commit für dieses gegabelte Repo gemacht. Ich habe dann eine Pull-Anfrage geöffnet. Die Pull-Anfrage listete alle Änderungen auf, die ich wollte.

Nachdem ich meine Pull-Anfrage überprüft hatte, gab es eine Reihe von Änderungen, die der Repo-Besitzer von mir wollte, bevor er sie akzeptierte. Ich habe diese Änderungen in meinem Fork vorgenommen. Wie aktualisiere ich nun die Pull-Anforderung mit diesen Änderungen (oder sollte ich nicht so damit umgehen)?

559
stevebot

Du hast es richtig gemacht. Die Pull-Anforderung wird automatisch aktualisiert. Der Prozess ist:

  1. Pull-Anfrage öffnen
  2. Übernehmen Sie Änderungen basierend auf dem Feedback in Ihrem lokalen Repo
  3. Drücken Sie auf den entsprechenden Zweig Ihrer Gabel

Die Pull-Anfrage fügt automatisch die neuen Commits am Ende der Pull-Anfrage-Diskussion hinzu (dh es ist bereits da, scrollen Sie nach unten!)

545
shelhamer

Das Aktualisieren einer Pull-Anforderung in GitHub ist so einfach wie das Festschreiben der gewünschten Änderungen in einem vorhandenen Zweig (der mit der Pull-Anforderung verwendet wurde). Häufig wird jedoch auch das Zusammenfassen der Änderungen in einem einzelnen Commit gewünscht:

git checkout yourbranch
git rebase -i Origin/master

# Edit command names accordingly
  pick   1fc6c95 My pull request
  squash 6b2481b Hack hack - will be discarded
  squash dd1475d Also discarded

git Push -f Origin yourbranch

... und jetzt enthält die Pull-Anfrage nur noch ein Commit.


Verwandte Links zum Thema Re-Basing:

74
jmu

Drücken Sie einfach auf den Zweig, auf den die Pull-Anforderung verweist. Solange die Pull-Anforderung noch offen ist, sollte sie automatisch mit allen hinzugefügten Commits aktualisiert werden.

32
igorw

Ich habe es mit folgenden Schritten gemacht:

  1. git reset --hard <commit key of the pull request>
  2. Habe meine Codeänderungen gemacht, die ich machen wollte
  3. git add
  4. git commit --amend
  5. git Push -f Origin <name of the remote branch of pull request>
10
VicJordan

Bei Verwendung von GitHub unter Windows:

  1. Nehmen Sie Änderungen vor Ort vor.
  2. Öffnen Sie GitHub, wechseln Sie zu lokalen Repositorys, doppelklicken Sie auf Repository.
  3. Wechseln Sie die Verzweigung (in der Nähe des oberen Fensters) zu der Verzweigung, von der Sie die Pull-Anforderung erstellt haben (d. H. Die Verzweigung auf Ihrer Gabelseite des Vergleichs).
  4. Sollte die Option zur Eingabe eines Commit-Kommentars rechts anzeigen und Änderungen an Ihrem lokalen Repo vornehmen.
  5. Klicken Sie oben auf "Synchronisieren", wodurch unter anderem Ihr Festschreiben von "Lokal" auf Ihre Remote-Verzweigung auf GitHub übertragen wird.
  6. Die Pull-Anforderung wird automatisch mit den zusätzlichen Commits aktualisiert. Dies liegt daran, dass die gezogene Anforderung einen Unterschied zum Zweig Ihrer Gabel darstellt. Wenn Sie zur Pull-Anforderungsseite gehen (die Seite, auf der Sie und andere Ihre Pull-Anforderung kommentieren können), sollten auf der Registerkarte Commits Ihre zusätzlichen Commits vorhanden sein.

Aus diesem Grund sollten Sie, bevor Sie eigene Änderungen vornehmen, eine Verzweigung für jeden Änderungssatz erstellen, den Sie in eine Abrufanforderung einfügen möchten. Auf diese Weise können Sie, sobald Sie die Pull-Anforderung erstellt haben, eine weitere Verzweigung erstellen und an einer anderen Aufgabe/Funktion/Fehlerbehebung weiterarbeiten, ohne die vorherige Pull-Anforderung zu beeinträchtigen.

3
AaronLS