git-flow: как оформить выпуск ветки из origin? - PullRequest
16 голосов
/ 30 апреля 2011

Каков предпочтительный рабочий процесс для извлечения опубликованной ветки релиза из центрального репозитория, используя 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 работает на ветке таким образом?)

Ответы [ 3 ]

9 голосов
/ 12 июля 2011

Все, что нужно, это настроить локальную ветвь отслеживания, никаких специальных команд git-flow не требуется. Git-flow, по-видимому, заботится только об имени ветки и о том, имеет ли он префикс «release /».

Таким образом, создание локальной ветви отслеживания, такой как git branch --track release/1.5 origin/release/1.5, - это все, что нужно.

9 голосов
/ 30 марта 2013

git flow release (и функция) имеют команду «track», чтобы упростить то, что вы пытаетесь сделать.Чтобы настроить локальную ветвь отслеживания для уже опубликованной ветви и перейти на нее, просто сделайте следующее:

git flow release track 1.0

или

git flow feature track my-feature-branch

Вот фрагмент кода из источника gitflow для команды "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
}

Полезные аргументы командной строки потока git

1 голос
/ 30 апреля 2011

Как только 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”
...