Wie erstelle ich einen neuen Zweig aus einem Tag?


Antworten:


877

Wow, das war einfacher als ich dachte:

git checkout -b newbranch v1.0

53
Richtig. Beachten Sie, dass Sie den Hauptzweig auch einfach auf den Punkt des Tags mitgit reset --hard v1.0
— wadesworld

3
Wenn dies nicht funktioniert, weil "<tag> kein gültiges Commit ist" oder ein ähnlicher Fehler vorliegt (häufig bei der Arbeit an einem freigegebenen Repository), lesen
— Sie

6
Der Vorschlag von @wadesworld könnte funktionieren, aber wenn jemand dies liest und nicht 100% sicher ist, was es bedeutet, den Hauptzweig zurückzusetzen, tun Sie das nicht .
— Nathan Long

Dies ist eine bessere Antwort, die ich hier gefunden habe - stackoverflow.com/a/35979751/3145960
— Reaz Murshed

101

Wenn Sie einfach einen neuen Zweig erstellen möchten, ohne ihn sofort zu ändern, können Sie Folgendes tun:

git branch newbranch v1.0

6
Ich denke, dies sollte die akzeptierte Antwort sein, da es genau das tut, was erforderlich ist. Die akzeptierte Antwort bewirkt etwas anderes, was in der Frage nicht angegeben ist.
— Javier Vazquez

40

Ich habe die folgenden Schritte verwendet, um einen neuen Hotfix-Zweig aus einem Tag zu erstellen.

Syntax

git checkout -b <New Branch Name> <TAG Name>

Schritte, um es zu tun.

  1. git checkout -b NewBranchName v1.0
  2. Nehmen Sie Änderungen an POM- / Release-Versionen vor
  3. Bühnenwechsel
  4. git commit -m "Pom-Versionen für Hotfix-Zweig aktualisieren"
  5. Schieben Sie schließlich Ihren neu erstellten Zweig in das Remote-Repository.
git push -u origin NewBranchName

Ich hoffe das würde helfen.


17

Ich habe das Problem wie folgt gelöst: 1. Holen Sie sich das Tag aus Ihrem Zweig. 2. Schreiben Sie den folgenden Befehl

Example: git branch <Hotfix branch> <TAG>
    git branch hotfix_4.4.3 v4.4.3
    git checkout hotfix_4.4.3

oder Sie können mit einem anderen Befehl tun

git checkout -b <Hotfix branch> <TAG>
-b stands for creating new branch to local 

Sobald Sie mit Ihrem Hotfix-Zweig fertig sind, ist es Zeit, diesen Zweig nach Github zu verschieben. Schreiben Sie dazu den folgenden Befehl

git push --set-upstream origin hotfix_4.4.3

5

Die Situation wird ein wenig problematisch, wenn wir einen Zweig aus einem Tag mit demselben Namen erstellen möchten .

In diesem und in ähnlichen Szenarien ist es wichtig zu wissen: Zweige und Tags sind eigentlich einzeilige Textdateien im .git/refsVerzeichnis, und wir können sie explizit anhand ihrer Pfade unten referenzieren .git. Zweige werden hier "Köpfe" genannt, um unser Leben einfacher zu machen.

Somit refs/heads/masterist der reale, explizite Name des masterZweigs. Und refs/tags/cicaist der genaue Name des genannten Tags cica.

Der richtige Befehl zum Erstellen eines Zweigs mit dem Namen " cicatag" cicalautet:

git branch cica refs/tags/cica

4

Meine Filialliste ( jetzt nur Master )

Zweigliste

Meine Tag-Liste (habe drei Tags)

Tag-Liste

Wechseln Sie in dem neuen Zweig Feature / Codec von opus_codec Tag

git checkout -b feature/codec opus_codec

zum Zweig wechseln


2
Bitte verwenden Sie keine Screenshots, wenn auch das Kopieren und Einfügen von Text ausreichen würde.
— Peter
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.