2016-05-03 1 views
0

Ich habe eine Feature-Zweig namens feature, die ich auf staging fusionierte. Es gab einen Konflikt, den ich gelöst habe. An diesem Punkt habe ich einen Fehler gemacht und einen Syntaxfehler eingeführt, den ich mit dem Merge-Commit begangen habe. Der Fehler ist in staging, aber nicht in feature.Wie kann ich einen falschen, alten Merge-Commit in Git reparieren?

Danach machte ich noch ein paar weitere Commits zu feature und fusionierte diese ohne Konflikte mit staging. staging ist jedoch aufgrund des falschen Merge-Commits beschädigt. feature funktioniert, obwohl.

Sobald die Entwicklung unter feature durchgeführt wurde und in staging funktioniert, wird das Feature mit einer zweiten Staging-Ebene und dann mit master zusammengeführt.

Alle Ebenen von Staging sowie Master haben Commit-Haken auf der Fernbedienung, die keine Nicht-Merge-Commits verhindern, so dass es nicht direkt auf staging reparieren funktioniert.

Wie repariere ich den defekten Code in staging?

+0

@Dan, wenn ich Feature wieder ins Staging zusammenführen, heißt es, es ist bereits zusammengeführt. – simbabque

+0

gehe zur Staging und repariere es als Hotfix –

+0

Hier in den USA hatte ich noch nicht genug Kaffee. Wenn ich genauer lese, sehe ich, was Sie getan haben. Ihre einfachste Option könnte sein, sie direkt auf "staging" zu fixieren und dann 'feature' bei Bedarf/geeignet neu zu erstellen (' git checkout feature; git rebase staging'), um zukünftige Schwierigkeiten beim Zusammenführen zu vermeiden. –

Antwort

2

Gemäß Ihren Kommentaren zu Staging sind nur Merge-Commits zulässig, erstellen Sie einen neuen Zweig aus dem Staging, beheben Sie den Syntaxfehler, und führen Sie ihn anschließend wieder in Staging ein.