J'essaie de trouver la syntaxe pour fusionner un commit étiqueté sur une autre branche. Je suppose que c'est simple, mais mes faibles tentatives de recherche ne le trouvent pas.
J'essaie de trouver la syntaxe pour fusionner un commit étiqueté sur une autre branche. Je suppose que c'est simple, mais mes faibles tentatives de recherche ne le trouvent pas.
Réponses:
Tu veux dire ça?
git checkout destination_branch
git merge tag_name
N'oubliez pas qu'avant de fusionner, vous devez mettre à jour la balise, elle est assez différente des branches ( git pull origin tag_name
ne mettra pas à jour vos balises locales). Ainsi, vous avez besoin de la commande suivante:
git fetch --tags origin
Ensuite, vous pouvez effectuer git merge tag_name
pour fusionner la balise sur une branche.
git remote add upstream git@github.com/org/repo
suivi de git fetch --tags upstream
pour que ça marche.
Complétant simplement la réponse.
Fusion de la dernière balise sur une branche:
git checkout my-branch
git merge $(git describe --tags $(git rev-list --tags --max-count=1))
Inspiré par https://gist.github.com/rponte/fdc0724dd984088606b0
C'est le seul moyen complet et fiable que j'ai trouvé pour y parvenir.
Supposons que vous souhaitiez fusionner "tag_1.0" dans "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
Je suis en retard au match ici, mais une autre approche pourrait être:
1) créer une branche à partir de la balise ( $ git checkout -b [new branch name] [tag name]
)
2) créez une pull-request pour fusionner avec votre nouvelle branche dans la branche de destination