Составление бланка с завершением моей схемы развертывания здесь.После публикации этого вопроса: Перенос рабочего сайта без VCS вообще на Git , у меня есть суть развертывания для локального репо.
Мой локальный сервер разработки имеет мерзавецрепозиторий на нем, на который я могу нажать, и он обновит внешнее рабочее дерево.
У меня есть репозиторий, настроенный с помощью 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"
Таким образом, мы можем разрабатывать локально и переходить на наш маленький внутренний сервер разработки и иметь всю историю.Затем, когда мы готовы к постановке / производству, мы просто выталкиваем соответствующие ветви.
Я попытался создать голые репозитории с отдельными рабочими деревьями, как я делал с сервером разработки (см. Мою ссылку в началеpost), и просто сделал:
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-flow в многоэтапном развертывании, будут высоко оценены.