844 Stimmen

Wie erstellt man einen neuen Zweig aus einer Markierung?

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?

11voto

amdev Punkte 2602

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

9voto

peterh Punkte 1

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

3voto

eranga Punkte 499

Meine Zweigstellenliste (nur Meister jetzt)

branch list

Meine Tag-Liste (ich habe drei Tags)

tag list

Wechsel zur neuen Filiale Merkmal/Codec de opus_codec Tag

git checkout -b feature/codec opus_codec

switch to branch

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X