#git #git-branch #git-flow
#git #git-branch #git-flow
Вопрос:
Каков наилучший рабочий процесс для извлечения опубликованной ветки выпуска из центрального репозитория с помощью git-flow?
например:
Майк создал ветку выпуска, он опубликовал ее через «git flow release publish 1.0»
Джейн тоже хотела бы поработать над этой веткой выпуска, как ей извлечь ее из центрального репозитория, чтобы продолжить работу с git flow в этой конкретной ветке?
- сама создайте ветку локально через
git flow release start 1.0
а затемgit pull
? - создайте ветку отслеживания локально через git с помощью
git checkout -b release/1.0 origin/release/1.0
и продолжайте оттуда (работает ли git flow таким образом с веткой?)
Ответ №1:
Все, что нужно, это настроить локальную ветку отслеживания, никаких специфичных для git-flow команд не требуется. Git-flow, по-видимому, заботится только о названии ветки и о том, имеет ли оно префикс строки «release /».
Итак, настройка локальной ветки отслеживания, подобной git branch --track release/1.5 origin/release/1.5
, — это все, что нужно.
Ответ №2:
в выпуске git flow (и функции) есть команда «отслеживать», чтобы упростить то, что вы пытаетесь сделать. Чтобы настроить локальную ветку отслеживания для ветки, которая уже была опубликована, и переключиться на нее, просто сделайте это:
git flow release track 1.0
или
git flow feature track my-feature-branch
Вот выдержка кода из исходного кода gitflow для команды release «track» для выпуска:
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
}
Ответ №3:
Как только git flow release publish
это будет сделано, вы можете сделать следующее:
git fetch -q “origin” “release1.0”
git branch –no-track “release1.0” FETCH_HEAD
git checkout -q “release1.0”
И тогда вы можете начать извлекать:
git pull “origin” “release1.0”