2014-02-02 2 views
1

Я прочитал несколько потоков переполнения стека об этом, но многие из них, похоже, не отвечали на вопрос, который я задавал, или по крайней мере, были разные условия, которые, похоже, не применимы к моим.Рабочий процесс Git с использованием локального репозитория и 2 удаленных репозитория: хранилища промежуточных и производственных хранилищ на одном сервере

Как настроить следующее?

Local Repository:

  • Всегда выборки/вытащить из, скажем live.git, удаленный bare repo, которая должна быть последняя стабильная версия мерзавца-сайт поддерживается. Притяжение будет сливаться в ведущую ветвь локального репо. Тогда любая локальная разработка будет выполнена в ветке разработки и затем будет объединена с локальным мастером, а затем перенесена в ветку разработки удаленного промежуточного репо.

удаленное хранилище:

  • тестирование/Постановка: Не-голый репозиторий, который имеет две ветви: мастер и развитие. Сверху любые локально перетаскиваемые коммиты будут объединены в ветку разработки удаленного промежуточного репо. Если среда Staging была протестирована и рассмотрена, я бы объединил ветку разработки Staging в ветку основного этапа. Затем я нажимаю ведущую ветвь (фактический push post-receive/update будет работать только в том случае, если я был на главной ветке в Staging) до bare repo, который имел бы либо post-receive, либо крюк post-update, определенный для проверки в реальном каталоге на сервере.

Мое мышление заключается в том, что тестирование может быть выполнено при постановке не-голого репо, а толчки могут быть сделаны для того, чтобы жить голым репо, когда все кажутся прекрасными. Если что-то не так, то я могу откат, проверив предыдущую фиксацию на стадии постановки, а затем вернув ее обратно, чтобы прожить голый репо.

Обратите внимание, если это имеет значение: мой сайт и живой сайт находятся в корне документа, причем первый из них служит в качестве поддомена (этап .. *. Com), а последний - в корне сайта (www .. * .com).

Я не смог заставить это работать. Я полагаю, что у вас может быть не-голый репо (промежуточная), у него в качестве пульта есть голый репо (live) на одном сервере. Местный пульт будет проходить. Является ли установка такой, как это возможно, и, если нет, может кто-то порекомендовать простой альтернативный или конгруэнтный способ?

Спасибо!

ответ

0

Вам не нужны специальные репозитории для любого из них. Каждый репозиторий, независимо от того, является он голой или нет, предлагает все эти функции как ветви. У вас есть филиалы для каждой функции, которую вы описываете: разработка, постановка-разработка, постановка и производство.

Тогда вместо того, чтобы «нажимать» на пульт дистанционного управления, вы должны сливаться между ветвями. Добавить бизнес-правила, как

  • «младших разработчики могут совершать только ветвь разработки»,
  • «старшие разработчики могут совершить на развитие или ступенчатой-разработку, и могут сливаться в постановку»,
  • и «инженеров релиза могут сливаться с производством ».

Вы можете настроить центральный репозиторий как голый репозиторий, а везде получить не-обнаженные репозитории. В тестовых средах используются ветви разработки или стадии постановки, а ваша производственная машина использует производственную ветвь. Не сливайте в промежуточной или производственной среде; слияние на машине разработчика и нажатие на центральное репо. Затем вы можете перейти к постановке или по

 Смежные вопросы

  • Нет связанных вопросов^_^