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ą.

ScaryGhast
źródło

Odpowiedzi:

260

Masz na myśli to?

git checkout destination_branch
git merge tag_name
twalberg
źródło
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.

Martwy człowiek
źródło
4
Musiałem to zrobić git remote add upstream [email protected]/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
paiego
źródło
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

Dla zwycięstwa
źródło