Ich möchte einen neuen Master-Zweig aus einem bestehenden Tag erstellen. Angenommen, ich habe ein Tag v1.0
. Wie erstellt man einen neuen Zweig aus diesem Tag?
Antworten
Zu viele Anzeigen?Ein Beispiel für die einzige Lösung, die für mich in einem einfachen Anwendungsfall funktioniert, in dem ich mich auf einer Abzweigung befinde und einen neuen Zweig aus einem Tag auschecken möchte, der sich im Hauptprojekt-Repository befindet (hier Upstream)
git fetch upstream --tags
Gib mir
From https://github.com/keycloak/keycloak
90b29b0e31..0ba9055d28 stage -> upstream/stage
* [new tag] 11.0.0 -> 11.0.0
Dann kann ich einen neuen Zweig mit diesem Tag erstellen und auschecken
git checkout -b tags/<name> <newbranch>
git checkout tags/11.0.0 -b v11.0.0
Etwas problematisch wird die Situation, wenn wir eine Verzweigung von einem Tag aus erstellen wollen mit demselben Namen .
In diesem und in ähnlichen Szenarien ist es wichtig zu wissen: Zweige und Tags sind eigentlich einzeilige Textdateien in .git/refs
und wir können sie explizit über ihre Pfade unten referenzieren .git
. Zweige werden hier "Köpfe" genannt, um unser Leben zu vereinfachen.
So, refs/heads/master
ist der tatsächliche, explizite Name des master
Zweigstelle. Und refs/tags/cica
ist der genaue Name des Tags namens cica
.
Der korrekte Befehl zum Erstellen eines Zweigs mit dem Namen cica
von dem Tag namens cica
ist:
git branch cica refs/tags/cica
- See previous answers
- Weitere Antworten anzeigen