git-flow: ¿cómo verificar la rama de liberación desde el origen?
-
27-10-2019 - |
Pregunta
¿Cuál es el flujo de trabajo preferido para extraer una rama de lanzamiento publicada del repositorio central mediante git-flow ?
por ejemplo:
Mike hizo una rama de lanzamiento, la publicó a través de "git flow release publish 1.0"
A Jane también le gustaría trabajar en esa rama de lanzamiento, ¿cómo lo saca del repositorio central para continuar trabajando con git flow en esa rama en particular?
- crear la rama ella misma localmente a través de
git flow release start 1.0
y luegogit pull
? - crear una rama de seguimiento localmente a través de git con
git checkout -b release/1.0 origin/release/1.0
y continuar desde allí (¿git flow funciona en la rama de esta manera?)
Solución
Todo lo que se necesita es configurar una rama de seguimiento local, no se necesitan comandos específicos de git-flow.Aparentemente, Git-flow solo se preocupa por el nombre de la rama y si tiene el prefijo "release /".
Entonces, configurar una rama de seguimiento local como git branch --track release/1.5 origin/release/1.5
es todo lo que hay que hacer.
Otros consejos
La versión (y la función) de git flow tiene un comando de "seguimiento" para simplificar lo que está intentando hacer.Para configurar una sucursal de seguimiento local para una sucursal que ya se ha publicado y cambiar a ella, simplemente haga esto:
git flow release track 1.0
o
git flow feature track my-feature-branch
Aquí está el extracto de código de la fuente de gitflow para la pista de lanzamiento ""comando :
cmd_track() {
parse_args "$@"
require_version_arg
# sanity checks
require_clean_working_tree
require_branch_absent "$BRANCH"
git_do fetch -q "$ORIGIN"
require_branch "$ORIGIN/$BRANCH"
# create tracking branch
git_do checkout -b "$BRANCH" "$ORIGIN/$BRANCH"
echo
echo "Summary of actions:"
echo "- A new remote tracking branch '$BRANCH' was created"
echo "- You are now on branch '$BRANCH'"
echo
}
Una vez que haya terminado git flow release publish
, puede hacer lo siguiente:
git fetch -q “origin” “release1.0”
git branch –no-track “release1.0” FETCH_HEAD
git checkout -q “release1.0”
Y luego puede comenzar a tirar:
git pull “origin” “release1.0”