Jak połączyć tag git z gałęzią


155

Próbuję znaleźć składnię scalania oznaczonego zatwierdzenia do innej gałęzi. Zgaduję, że jest to proste, ale moje słabe próby wyszukiwania go nie znajdują.

Odpowiedzi:


260

Masz na myśli to?

git checkout destination_branch
git merge tag_name

11
To samo tutaj, więc git fetch --tags origin, potem mógłbym: git merge tagname
Will Hancock

Czy istnieje sposób na jednoczesne scalenie wszystkich tagów?
ComFreek

Czy jest to możliwe w inny sposób? Scalić gałąź z tagiem? Próbowałem "git checkout tag_name" i "git merge branch". Ale skończyło się na sprawdzeniu gałęzi zamiast scalania.
uczeń

@learner a Tag identyfikuje określone zatwierdzenie. Nie możesz scalić się w konkretne zatwierdzenie, więc musisz przenieść tag do żądanego zatwierdzenia. To rozwiązałoby problem: stackoverflow.com/questions/8044583/…
Josiah

85

Pamiętaj, że przed scaleniem musisz zaktualizować tag, różni się on zupełnie od gałęzi ( git pull origin tag_namenie zaktualizuje tagów lokalnych). Dlatego potrzebujesz następującego polecenia:

git fetch --tags origin

Następnie możesz wykonać git merge tag_namescalenie tagu na gałęzi.


4
Musiałem to zrobić git remote add upstream git@github.com/org/repo, a następnie git fetch --tags upstream, aby to działało.
MarkHu


1

To jedyny wszechstronny i niezawodny sposób, jaki znalazłem, aby to zrobić.

Załóżmy, że chcesz scalić „tag_1.0” z „mybranch”.

    $git checkout tag_1.0 (will create a headless branch)
    $git branch -D tagbranch (make sure this branch doesn't already exist locally)
    $git checkout -b tagbranch
    $git merge -s ours mybranch
    $git commit -am "updated mybranch with tag_1.0"
    $git checkout mybranch
    $git merge tagbranch

0

Jestem spóźniony do gry tutaj, ale inne podejście może być:

1) utwórz gałąź z tagu ( $ git checkout -b [new branch name] [tag name])

2) utwórz żądanie ściągnięcia, aby połączyć się z nowym oddziałem w oddziale docelowym

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.