Использование git-flow в многоступенчатом развертывании

Нарисуйте пробел, завершив схему развертывания здесь. После публикации этого вопроса: Перенос производственного сайта без VCS на Git , я получил суть развертывания на локальном репо вниз.

На локальном сервере разработки имеется репозиторий git-flow, к которому можно перейти, и он обновит внешнее рабочее дерево.

У меня настроено репо с git-flow, и вот как выглядит мой удаленный источник:

$ git remote show origin
* remote origin
  Fetch URL: ssh://user@host/var/git/dev/repo.git
  Push  URL: ssh://user@host/var/git/dev/repo.git
  HEAD branch (remote HEAD is ambiguous, may be one of the following):
    develop
    master
  Remote branches:
    develop tracked
    master  tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local refs configured for 'git push':
    develop pushes to develop (up to date)
    master  pushes to master  (up to date)

То, что я пытался сделать, было настроено в 2 псевдообласти. Один для постановки и один для производства. Я хочу, чтобы они вели себя следующим образом:

git push staging #pushes to remote staging repo with a post-receive hook "git checkout develop -f"

git push production #pushes to remote production repo with a post-receive hook "git checkout master -f"

Таким образом, мы можем развиваться локально и продвигаться к нашему маленькому внутреннему серверу разработки и иметь всю историю. Тогда, когда мы готовы к постановке/производству, мы просто выталкиваем соответствующие ветви.

Я пытался создать голые репо с отдельными рабочими деревьями, как я делал с сервером разработки (см. мою ссылку в начале поста), и просто сделал:

git push staging develop
git push production master

И вот дистанционные, соответственно:

$ git remote show staging
* remote staging
  Fetch URL: ssh://user@host/var/git/dev/staging.git
  Push  URL: ssh://user@host/var/git/dev/staging.git
  HEAD branch: develop
  Remote branch:
    develop tracked
  Local ref configured for 'git push':
    develop pushes to develop (up to date)

$ git remote show production
* remote produdction
  Fetch URL: ssh://user@host/var/git/dev/production.git
  Push  URL: ssh://user@host/var/git/dev/production.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local ref configured for 'git push':
    master pushes to master (up to date)

Так что, теоретически, мы можем использовать git-flow внутри, отслеживать ветвь разработки и выталкивать его для других отделов для просмотра/QA. Затем мы можем выполнить внутреннее деблокирование и перенести изменения в подготовку, а затем просто переместить главную ветвь в производство.

Я думаю, что мой вопрос - правильно ли я поступаю? Я настоящий новичок, когда дело доходит до git и git-flow. Я проверил все доступные ресурсы, и это лучшее, что я смог придумать до сих пор.

Любая информация от людей, которые используют git-flow в многоступенчатом развертывании, была бы очень признательна.

-121--770962-

Стойки: выбран параметр HTML? В стойках, похоже, отсутствует параметр «выбран». Тэг параметра HTML имеет выбранный атрибут: Some Option и этот параметр...

В стойках, похоже, нет опции «selected». Тэг опции HTML имеет выбранный атрибут


, и эта опция будет выбрана автоматически. Есть ли способ сделать это в стойках? Кажется, что в стойках, его случайным образом автовыбор один мои варианты по причине я не понимаю, и я хотел бы иметь возможность указать, какой вариант должен быть автовыбор.

7
задан well actually 31 August 2011 в 19:15
поделиться