Ich habe zwei Zweige, bb
und master
. Ich arbeitete an bb
, machte einige Änderungen, schob sie nach Github und machte eine Pull-Anfrage, die ich in master
fusionierte. Ich sah dann ein Problem mit einer Produktions-App und dachte, dass es ein Problem mit den Änderungen in bb
, so dass ich den Knopf revert
auf Github klickte.Zusammengeführte Änderungen von einer Verzweigung in Master auf Github wieder zusammenführen?
Es stellte sich heraus, dass das Problem nicht mit dem Code war aber mit einer Datendatei, die von den Änderungen in bb
nötig war, dass ich nicht auf den Server hochgeladen hatte, so wollte ich die Änderungen von bb
in Master fusionierte schließlich ... also machte ich eine sinnlose Änderung in bb
(fügte einige Leerzeichen hinzu), um eine neue PR zu bekommen. Aber der PR war nur für den Whitespace, nicht für alle anderen Änderungen in bb
relativ zu master
. Ich fusionierte die PR, aber tatsächlich wurde nur die Whitespace-Änderung angewendet.
So, jetzt Github hat zwei Versionen einer Datei foo.py
, eine in bb
und eine in master
und wenn ich versuche, eine Pull-Anforderung zu machen, es sagt mir, dass „es nichts zu vergleichen. master
ist bis zu Datum mit allen Commits von bb
". Hä? Wie kann ich Github dazu bringen, die Änderungen von foo.py
in bb
in master
zusammenzuführen? (Ich denke, es ist weggeworfen, weil es vorher genau diese Änderungen zusammengeführt hat ... aber der aktuelle Zustand foo.py
in master
unterscheidet sich von bb
.)
ich an dieser Stelle die revert nicht zurückkehren können, weil andere Leute auf andere Branchen arbeiten Veränderungen gedrängt zu meistern, dass ich verprügeln würde. Mist, ich glaube, ich habe gerade das Problem erkannt. Das Problem ist, dass die Änderungen in 'bb' älter sind als die Änderungen in' master'. Das einzige, was mir jetzt einfällt, ist, etwas wirklich Hackiges wie "foo.py" in eine leere Datei zu schreiben und zu committen und zu pushen, und dann die Änderungen wieder in "foo.py" zu schreiben und ich werde die PR I bekommen wollen. Gibt es einen besseren Weg? – dslack
Technisch ist das Commit bereits im Master. Sie könnten den Master in Ihren Zweig integrieren und dann die Änderungen vornehmen. Aber ich denke, Sie könnten besser einen neuen Zweig erstellen und dann die Änderungen erneut vornehmen. Du könntest den Commit cherrypick nehmen, aber dann würdest du wieder an der gleichen Stelle landen. Weil das Commit im Master ist. Also füge entweder Master ein und führe die Änderung durch oder erstelle eine neue Abzweigung vom Master und führe die Änderungen durch. –
Ihre Änderungen werden im Verlauf der Datei gespeichert. Also würde ich einfach einen neuen Zweig erstellen, einen Vergleich mit meinem alten Commit machen und die Änderungen übernehmen. Dann begehen und drücken. Erstellen Sie Pull-Anfrage und Sie sind fertig. –