git-flow: come eseguire il checkout del ramo di rilascio dall'origine?
-
27-10-2019 - |
Domanda
Qual è il flusso di lavoro preferito per estrarre un ramo di rilascio pubblicato dal repository centrale utilizzando git-flow ?
ad esempio:
Mike ha creato un ramo di rilascio, lo ha pubblicato tramite "git flow release publish 1.0"
Jane vorrebbe lavorare anche su quel ramo di rilascio, come fa a estrarlo dal repository centrale per continuare a lavorare con git flow su quel particolare ramo?
- creare il ramo da sola localmente tramite
git flow release start 1.0
e quindigit pull
? - crea un ramo di tracciamento localmente tramite git con
git checkout -b release/1.0 origin/release/1.0
e continua da lì (git flow funziona sul ramo in questo modo?)
Soluzione
Tutto ciò che serve è impostare un ramo di tracciamento locale, non sono necessari comandi specifici di git-flow.Apparentemente Git-flow si preoccupa solo del nome del ramo e se è preceduto dalla stringa "release /".
Quindi impostare un ramo di tracciamento locale come git branch --track release/1.5 origin/release/1.5
è tutto ciò che serve.
Altri suggerimenti
git flow release (e funzionalità) hanno un comando "track" per semplificare ciò che stai cercando di fare.Per impostare un ramo di monitoraggio locale per un ramo che è già stato pubblicato e passare ad esso, procedi in questo modo:
git flow release track 1.0
o
git flow feature track my-feature-branch
Ecco l'estratto di codice dalla la fonte gitflow per la traccia ""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 volta che git flow release publish
è terminato, puoi fare quanto segue:
git fetch -q “origin” “release1.0”
git branch –no-track “release1.0” FETCH_HEAD
git checkout -q “release1.0”
E poi puoi iniziare a tirare:
git pull “origin” “release1.0”