Estoy tratando de encontrar la sintaxis para fusionar un commit etiquetado en otra rama. Supongo que es sencillo, pero mis débiles intentos de búsqueda no lo encuentran.
Estoy tratando de encontrar la sintaxis para fusionar un commit etiquetado en otra rama. Supongo que es sencillo, pero mis débiles intentos de búsqueda no lo encuentran.
Respuestas:
¿Te refieres a esto?
git checkout destination_branch
git merge tag_name
Recuerde que antes de combinar necesita actualizar la etiqueta, es bastante diferente de las ramas ( git pull origin tag_name
no actualizará sus etiquetas locales). Por lo tanto, necesita el siguiente comando:
git fetch --tags origin
Luego puede realizar la git merge tag_name
fusión de la etiqueta en una rama.
git remote add upstream git@github.com/org/repo
seguido git fetch --tags upstream
para que funcione.
Solo complementando la respuesta.
Fusionar la última etiqueta en una rama:
git checkout my-branch
git merge $(git describe --tags $(git rev-list --tags --max-count=1))
Inspirado en https://gist.github.com/rponte/fdc0724dd984088606b0
Esta es la única forma integral y confiable que he encontrado para hacer esto.
Suponga que desea fusionar "tag_1.0" en "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
Llego tarde al juego aquí, pero otro enfoque podría ser:
1) crear una rama desde la etiqueta ( $ git checkout -b [new branch name] [tag name]
)
2) cree una solicitud de extracción para fusionarse con su nueva sucursal en la sucursal de destino