Ich habe den Zweig master
die den entfernten Zweig verfolgt origin/master
.
Ich möchte sie umbenennen in master-old
sowohl lokal als auch auf der Gegenstelle. Ist dies möglich?
Für andere Nutzer, die Folgendes verfolgt haben origin/master
(und die immer ihre lokalen master
Abzweigung über git pull
), was würde passieren, nachdem ich den entfernten Zweig umbenannt habe?
Würden ihre git pull
immer noch funktionieren, oder würde es eine Fehlermeldung ausgeben, dass es nicht gefunden werden konnte origin/master
mehr?
Anschließend möchte ich eine neue master
Zweigstelle (sowohl lokal als auch remote). Nachdem ich dies getan habe, was würde nun passieren, wenn die anderen Benutzer git pull
?
Ich vermute, dass all dies zu einer Menge Ärger führen würde. Gibt es einen sauberen Weg, um zu bekommen, was ich will? Oder sollte ich einfach die master
und erstellen Sie einen neuen Zweig master-new
und dort einfach weiterarbeiten?
2 Stimmen
Das in der akzeptierten Antwort angegebene Rezept gilt für eine Verzweigung mit beliebigem Namen, aber die Vorbehalte (wie angemerkt) gelten nicht aufgrund der (standardmäßigen) Sonderrolle der Meister Zweig in Git.
3 Stimmen
@kynan: Ich glaube, ich verstehe nicht ganz. Welche Vorbehalte gelten für Master und nicht für andere Zweige? Wenn es sich um einen Zweig mit dem Namen xy handelt und andere Leute diesen Zweig verfolgt haben, was wäre dann der Unterschied?
4 Stimmen
Der Vorbehalt ist, dass Sie den entfernten Master normalerweise nicht löschen können. Das gilt allerdings nicht für die Antwort von Aristoteles, so dass Sie diese als akzeptierte Antwort markieren sollten. Sie haben recht, jede
git push -f
beeinträchtigt die Fähigkeit zurpull
von einem beliebigen Remote-Tracking-Zweig aus.1 Stimmen
Können Sie einen neuen Zweig erstellen
master-old
die auf die gleiche Übergabe wie die vorherigemaster
Zweigstelle. Dann können Sie diemaster
Zweig mit Ihren neuen Änderungen, indem Sie einemerge
mit demours
Strategie. Eine Zusammenführung funktioniert, wenn die Gegenstelle keine Änderungen zulässt, die nicht in die Zukunft gerichtet sind. Das bedeutet auch, dass andere Benutzer keine erzwungenen Aktualisierungen haben werden.1 Stimmen
@kynan
master
ist nur so lange etwas Besonderes, wie es der einzige vorhandene Zweig ist. Sobald Sie mehr als einen haben, sind alle Zweige gleichberechtigt.0 Stimmen
Mögliches Duplikat von Wie benenne ich einen lokalen Git-Zweig um?
0 Stimmen
Die einzige Fernlösung ohne lokale Manipulationen finden Sie in den Kommentaren unter stackoverflow.com/questions/4753888/