Como mesclar uma tag git em uma ramificação


155

Estou tentando encontrar a sintaxe para mesclar um commit marcado em outro ramo. Suponho que seja simples, mas minhas fracas tentativas de pesquisa não a encontram.

Respostas:


260

Você quis dizer isso?

git checkout destination_branch
git merge tag_name

11
Mesmo aqui, então eu git fetch --tags origem, em seguida, eu poderia: git merge tagname
Will Hancock

Existe uma maneira de mesclar todas as tags de uma só vez?
ComFreek

É possível o contrário? Mesclar um ramo à tag? Eu tentei "git checkout tag_name" e "git merge branch". Mas acabou verificando a filial em vez de se fundir.
aprendiz

@learner a Tag identifica um commit específico. Você não pode mesclar em um commit específico; portanto, é necessário mover a tag para o commit desejado. Isso abordaria a questão de como: stackoverflow.com/questions/8044583/…
Josiah

85

Lembre-se de que, antes de mesclar, você precisa atualizar a tag, é bem diferente das ramificações ( git pull origin tag_namenão atualiza suas tags locais). Portanto, você precisa do seguinte comando:

git fetch --tags origin

Em seguida, você pode executar git merge tag_namea mesclagem da tag em um ramo.


4
Eu tive que fazer git remote add upstream git@github.com/org/reposeguido git fetch --tags upstreampara fazê-lo funcionar.
precisa saber é


1

Esta é a única maneira abrangente e confiável que encontrei para fazer isso.

Suponha que você deseja mesclar "tag_1.0" em "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

Estou atrasado para o jogo aqui, mas outra abordagem pode ser:

1) crie uma ramificação a partir da tag ( $ git checkout -b [new branch name] [tag name])

2) crie uma solicitação pull para mesclar com sua nova ramificação na ramificação de destino

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.