2016-03-23 11 views
0

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.)

Antwort

2

Ihre einfachste Lösung ist es, zum Terminal zu gehen. Überprüfen Sie das Projekt, falls noch nicht geschehen.

git clone <url> my_project 
cd my_project 
git log (Find the id of the revert-- which is just a commit) 
git revert (commit_id) 

drücken Sie dann Ihre Änderungen an bb und erstellen Sie eine Pull-Anforderung für Master

+0

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

+0

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. –

+0

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. –

Verwandte Themen