2017-09-05 3 views
0

Ich öffnete eine PR und erkannte dann, dass ich das neueste Commit wiederherstellen wollte. Also habe ichPull-Anforderung wurde unerwartet geschlossen

git reset --hard HEAD~1

dann auf die neuen Änderungen gearbeitet und tat

git push --force-with-lease

Als sehr unerwartetes Ergebnis wurde die PR geschlossen.

enter image description here

Eine Sache, die ich hinzufügen sollte, ist, dass ich schob kräftig vor eigentlich keine Commits hinzufügen. Könnte das der Grund sein, warum die PR geschlossen wurde?

+1

Durch das Entfernen dieses letzten Commit, haben Sie alle Commits entfernt, die der PR zuvor hatte? Oder gab es andere Verpflichtungen, die Teil der PR waren? – poke

+0

Alle von ihnen; also war der Zweig auf der Höhe von "Meister". –

+1

Nun, so dass die PR "leer" gemacht, also, wenn GitHub überprüft die Pull-Anfrage, nachdem Sie die Branche aktualisiert (was es automatisch Änderungen in der PR erkennt), sah es, dass Upstream-Master bereits alles in der enthalten PR (da die PR nichts Neues enthielt) und löste automatisch die PR als zusammengeführt. – poke

Antwort

2

GitHub überwacht automatisch die Zweige auf Pull-Anforderungen, sodass Änderungen an der Verzweigung in der Pull-Anforderung wiedergegeben werden. Der primäre Anwendungsfall hierfür sind einfache Aktualisierungen zur Überprüfung des Adresscodes. Es ist nicht auf einfache Commit-Additionen beschränkt, sondern auf Änderungen in der Verzweigung. So wird zum Beispiel eine Rebase, die den Verlauf neu schreibt (z. B. um Codeänderungen zu integrieren), auch in der Pull-Anforderung erscheinen und die vorherigen Commits darin ersetzen.

Wenn Sie also Ihren Zweig erzwingen, nachdem Sie ihn wieder auf master zurückgesetzt haben, haben Sie die Pull-Anforderung im Wesentlichen geleert. Als GitHub den Zweig für die Pull-Anfrage überprüfte, bemerkte er, dass die master des Upstream bereits "alle Änderungen" von der Pull-Anfrage enthielt (da es keine gab).

Dies löst automatisch die Pull-Request-Auflösung von GitHub aus und schließt die Pull-Anforderung.

+0

Danke. Gibt es irgendwelche Github-Dokumente, die darauf hinweisen? –

+0

@Ursus Ich konnte wirklich nichts in den Dokumenten finden. Am nächsten fand ich [diesen Kommentar] (https://github.com/github/hub/issues/198#issuecomment-6495118), was ein wenig erklärt, dass GitHub das tatsächlich tut. Die Praxis wird Ihnen sagen, dass das, was ich erklärt habe, das tatsächliche Verhalten ist :) – poke

0

Als sehr unerwartetes Ergebnis wurde die PR .. geschlossen

Die Meldung im Screenshot sagt etwas anderes: die Anforderung Zug war „erfolgreich zusammengeführt und geschlossen“.

Dies sollte kein unerwartetes Ergebnis sein. Die Fusion Ihrer Filiale in den Zielzweig der PR ist der Grund, warum Sie die PR überhaupt gemacht haben.

Sie haben in der Gleichung vergessen, dass der Besitzer des Projekts benachrichtigt wird, wenn Sie eine PR erstellen. Ich vermute, dass sie Ihre PR überprüft und zusammengeführt haben, während Sie die Änderungen in der Branche überarbeitet haben. Dann haben Sie versucht, den Zweig zu rebasen, aber da der PR bereits zusammengeführt und geschlossen wurde, aktualisiert Github den PR nicht mehr.


Es ist möglich, neue Commits zu schieben und sogar einen Zweig rebase, die in einem Pull-Request beteiligt ist und Github hält pflichtschuldigst die Pull-Request mit all den Änderungen auf dem Zweig auf dem Laufenden. Aber nachdem die Pull-Anfrage geschlossen wurde (zusammengeführt oder nicht), wird sie Teil des Verlaufs und wird nicht mehr aktualisiert.

Verwandte Themen