Come unire un tag git su un ramo


155

Sto cercando di trovare la sintassi per unire un commit taggato su un altro ramo. Immagino che sia semplice ma i miei deboli tentativi di ricerca non lo trovano.

Risposte:


260

Intendi questo?

git checkout destination_branch
git merge tag_name

11
Lo stesso qui, quindi vado a prendere - tagga l'origine, quindi potrei: git merge tagname
Will Hancock

C'è un modo per unire tutti i tag contemporaneamente?
ComFreek,

È possibile nell'altro modo? Unisci un ramo al tag? Ho provato "git checkout tag_name" e "git merge branch". Ma alla fine ho controllato il ramo invece di unire.
studente

@learner a Tag identifica un commit specifico. Non è possibile unire in un commit specifico, quindi è necessario spostare il tag sul commit desiderato. Questo affronterebbe il come su quello: stackoverflow.com/questions/8044583/…
Josiah

85

Ricorda che prima di unirti devi aggiornare il tag, è abbastanza diverso dai rami ( git pull origin tag_namenon aggiornerà i tuoi tag locali). Pertanto, è necessario il seguente comando:

git fetch --tags origin

Quindi è possibile eseguire git merge tag_nameper unire il tag su un ramo.


4
Ho dovuto fare git remote add upstream git@github.com/org/reposeguito da git fetch --tags upstreamper farlo funzionare.
MarkHu,


1

Questo è l'unico modo completo e affidabile che ho trovato per farlo.

Supponiamo di voler unire "tag_1.0" in "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

Sono in ritardo al gioco qui, ma un altro approccio potrebbe essere:

1) crea un ramo dal tag ( $ git checkout -b [new branch name] [tag name])

2) crea una richiesta pull da unire con il tuo nuovo ramo nel ramo di destinazione

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.