Wir befinden uns in der Situation, wo Master hat neue Funktion arbeiten, und feature1 (die abgezweigt Master) ist der stabile Master. Wie können wir Dinge so verändern, dass sie "Orte tauschen"? Das heißt, Feature1 wird Master und Master wird newfeature Branch?Swap ein Master und ein Feature-Zweig
Ich fand ein paar ähnliche SO Fragen, aber in diesen Fällen kümmerte sie sich nicht mehr um die alten Master-Commits. Hier wollen wir den aktuellen Master als neuen neuen Funktionszweig erhalten.
Ich habe gedacht eine Art und Weise, dies zu tun:
- erstellen newfeaturebranch aus dem aktuellen Meister.
- Zurücksetzen/Löschen von Commits von Master zurück zu Feature1 's Verzweigungspunkt.
- Merge feature1 in Master.
- Zweig löschen feature1.
Interessant. Und dann kann ich diese zu einer Fernbedienung (Github) schieben, und es wird einfach funktionieren? – Dogweather
Da der neue Master * ahead * des alten Masters ist, wird Git sich nicht beschweren (es wird sich nur beschweren, wenn man nicht schnell vorspulen kann). Da der 'newfeaturebranch' einen komplett neuen Zweignamen hat, der noch nicht auf der Fernbedienung vorhanden ist, sollte dies genauso funktionieren. Nur wenn Sie eine Verzweigung aktualisieren möchten, bei der die Commits "entfernt" werden, müssten Sie * forcieren, indem Sie 'git push -f' verwenden. – poke
Danke, das hat super funktioniert.Beide alten Zweige hatten gleichzeitige Verpflichtungen, und so war eine Kraft notwendig. Aber diese Operation ist zu erwarten: Ich habe auch "Archiv" -Zweige von jedem der Originale erstellt, nur für den Fall, dass etwas schief gelaufen ist. – Dogweather