it-swarm.com.de

PR und Zusammenführen nach dem Zurücksetzen von PR mit dem Github Revert Button

Grundsätzlich habe ich Github-Zurücksetzen-Taste verwendet, um einen vorherigen PR für einen Feature-Zweig in master zurückzusetzen, dann habe ich beschlossen, denselben Feature-Zweig zusammenzuführen, den ich zuvor zurückgesetzt habe, aber ich konnte das nicht. Schritte wie folgt:

  1. PR zum Zusammenführen von Feature-Zweig zu master
  2. PR-Zusammenführung wiederherstellen von (master)
  3. Es wurde versucht, einen neuen PR zu erstellen, um den Feature-Zweig erneut zu master zusammenzuführen.
  4. Ich habe diese Nachricht erhalten:

Es gibt nichts zu vergleichen.

master ist mit allen Commits aus dem Feature-Branch auf dem neuesten Stand. Versuchen Sie, die Basis für Ihren Vergleich zu wechseln.

Irgendwelche Vorschläge, wie ich feature branch wieder in master einbinden kann

16
Aboodred1

Machen Sie einfach die Rückgängigmachung rückgängig. Wenn Sie also auf die Schaltfläche "Zurück" klicken, haben Sie einen neuen PR erstellt (Schritt 2). Sobald dies zusammengeführt ist, haben Sie die Möglichkeit, dies zurückzusetzen, wodurch ein neuer Zweig mit all Ihren Änderungen erstellt wird. Sie können diesen dann abrufen, Änderungen daran vornehmen (falls erforderlich) und einen neuen PR erstellen. Sie werden alle Commit-Nachrichten auf Github verlieren, aber alle Dateiänderungen bleiben bestehen. Gut, sich auf Ihre ursprüngliche Branche zu beziehen und in die neue PR zurückzukehren.

Alles, um einen komplizierten Rebase oder einen Druck auf den Master zu vermeiden.

27
Anthony

Ich schreibe diese Antwort, da ich mit diesem Problem konfrontiert war und die Antworten hier eher theoretischer als praktischer Natur waren. Ich habe ein bisschen mehr gesurft und die Methode gefunden, um dieses Problem anzugehen. Eine ausführlichere Antwort finden Sie im Artikel hier .

Um dieses Problem zu lösen, müssen Sie einen neuen Zweig erstellen, der den Master verfolgt, und das Zurücksetzungs-Commit zurücksetzen. Gehen Sie dann zur Kasse, um die Verzweigung zu kennzeichnen und die neue Verzweigung zusammenzuführen. Jetzt können Sie Konflikte (falls vorhanden) lösen, einen Commit durchführen und einen neuen PR erstellen.

Hier sind die Befehle:

# do the needed changes in the feature branch
$ git commit -m "fixed issues in feature-branch'

# create new branch tracking master branch
$ git checkout -b revert-the-revert-branch -t master

# revert the reversion commit
# find it from your git log
# in linux try: 'git log | grep revert -A 5 -B 5'
$ git revert <revert-commit-hash>

# checkout the original feature branch
$ git checkout feature-branch

# merge the revert branch
$ git merge revert-the-revert-branch

# handle merge conflicts and commit and PR
3

Ich weiß, das ist alt, aber wenn jemand eine gute Antwort braucht, ist hier:

Nachdem Sie einen PR zusammengeführt und den Brach gelöscht und später wieder zusammengeführt haben, können Sie einen neuen Zweig erstellen und dann den Wiederherstellungsvorgang wiederherstellen. Drücken Sie diese Taste, um ein Remote-Repo zu erstellen und einen neuen PR zu erstellen.

Dies erstellt einen neuen PR mit einem Commit namens "revert" revert # 123 blabla "` mit all Ihren Änderungen an diff.

https://www.tildedave.com/2012/11/24/reverting-a-github-pull-request.html

1
Michelle Diniz

Der Grund, warum Sie nicht automatisch wieder zusammenführen können, ist, dass die Basis des Zweigs nicht mit dem HEAD des Master-Zweigs synchron ist.

Das Zurücksetzen des Zurücksetzens kann chaotisch werden und manchmal fehlt es an Transparenz.

Darüber hinaus verhindert das Zurücksetzen eines Rückgängigmachens, dass andere Zweige mit diesem Code korrekt zusammengeführt werden.

Nehmen wir an, Sie haben Feature x im Master und wurden in Zweig y zusammengeführt. Dann entscheiden Sie, dass der Master Feature x noch nicht einbinden sollte, da dies von Zweig y abhängt. Sie kehren also zum Meister zurück. Wenn Sie versuchen, Zweig x zusammenzuführen, erkennt der Befehl git-merge die ursprüngliche Zusammenführung und gibt mit Freude bekannt, dass alles in Ordnung ist und die Zweige bereits zusammengeführt wurden, wobei diese Commits für Feature x weggelassen werden, obwohl Sie wollten, dass sie mit Zweig y zusammengeführt werden.

Sie sollten den neuesten Master ziehen, Ihren Zweig auf Master zurücksetzen und dann in der Lage sein, eine weitere Pull-Anfrage zu stellen.

0
theannouncer