Jak utworzyć nowy oddział z tagu?


Odpowiedzi:


877

Wow, to było łatwiejsze niż myślałem:

git checkout -b newbranch v1.0

53
Poprawny. Zauważ, że mógłbyś również ustawić gałąź master z powrotem do punktu tagu za pomocągit reset --hard v1.0
wadesworld

3
Jeśli to nie działa z powodu „<tag> nie jest prawidłowym zatwierdzeniem” lub podobnego błędu (często podczas pracy na współdzielonym repozytorium), zapoznaj się z stackoverflow.com/questions/35979642/...
SalmonKiller

6
Sugestia z @wadesworld mogłaby działać, ale jeśli ktoś to przeczyta i nie jest w 100% pewien, co to znaczy zresetować gałąź master, nie rób tego .
Nathan Long,

To jest lepsza odpowiedź, którą znalazłem tutaj - stackoverflow.com/a/35979751/3145960
Reaz Murshed

101

Jeśli chcesz po prostu utworzyć nowy oddział bez natychmiastowej zmiany go, możesz wykonać następujące czynności:

git branch newbranch v1.0

6
Myślę, że powinna to być zaakceptowana odpowiedź, ponieważ robi dokładnie to, co jest wymagane. Przyjęta odpowiedź stanowi coś, czego nie podano w pytaniu.
Javier Vazquez

40

Wykonałem następujące kroki, aby utworzyć nową gałąź poprawki z tagu.

Składnia

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

Kroki, aby to zrobić.

  1. git checkout -b NewBranchName v1.0
  2. Wprowadź zmiany w wersjach pom / release
  3. Zmiany sceniczne
  4. git commit -m „Zaktualizuj wersje pom dla gałęzi poprawki”
  5. Wreszcie wypchnij nowo utworzony oddział do zdalnego repozytorium.
git push -u origin NewBranchName

Mam nadzieję, że to pomoże.


17

Rozwiązałem problem jak poniżej 1. Pobierz tag z oddziału 2. Napisz poniżej polecenie

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

lub możesz zrobić z innym poleceniem

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

kiedy będziesz gotowy z gałęzi poprawek, nadszedł czas, aby przenieść tę gałąź do github, możesz to zrobić, pisząc poniżej polecenia

git push --set-upstream origin hotfix_4.4.3

5

Sytuacja staje się nieco problematyczna, jeśli chcemy utworzyć gałąź ze znacznika o tej samej nazwie .

W tym i w podobnych scenariuszach ważne jest, aby wiedzieć: gałęzie i znaczniki są w rzeczywistości jednowierszowymi plikami tekstowymi w .git/refskatalogu, a my możemy odwoływać się do nich jawnie za pomocą ich ścieżek poniżej .git. Gałęzie nazywane są tutaj „głowami”, aby uprościć nam życie.

Tak więc refs/heads/masterjest to prawdziwa, wyraźna nazwa masteroddziału. I refs/tags/cicajest to dokładna nazwa znacznika o nazwie cica.

Prawidłowe polecenie utworzenia gałęzi o nazwie cicaze znacznika o nazwie cicato:

git branch cica refs/tags/cica

4

Moja lista oddziałów ( teraz tylko master )

lista oddziałów

Moja lista tagów (mają trzy tagi)

lista znaczników

Przejście na nową gałąź funkcji / kodeka z opus_codec tagu

git checkout -b feature/codec opus_codec

przejdź do oddziału


2
Proszę nie używać zrzutów ekranu, jeśli wystarczyłoby również kopiowanie i wklejanie tekstu.
peterh - Przywróć Monikę
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.