2014-01-29 2 views
0

Наша команда (около 5 человек) создает веб-приложения довольно хаотичным способом. Существует один локальный сервер и один производственный сервер. Любая разработка выполняется на локальном сервере и затем загружается на производственный сервер (когда они считают, что это «сделано»). Обычно это бывает неприятно. Кто-то пересматривает шаблоны, кто-то меняет основную функциональность, а кто-то создает новую функцию, которая зависит от того, что зависит от изменений в основной функциональности - в то же время. Прежде чем люди даже начнут работать, они убедятся, что файлы, которые им нужно изменить, являются «бесплатными», так как файлы напрямую доступны и будут перезаписаны. Имея людей с разными знаниями для каждой дисциплины, я обычно должен проверить все сделанные изменения, чтобы гарантировать, что ничто не сломается (регресс). Это ужасно и сложно сотрудничать. Я думаю о том, как изменить этот беспорядочный рабочий процесс.Version-Control для совместного веб-приложения (понимание Git?)

Я читал, что Git можно использовать для управления совместными веб-приложениями, но я не могу понять, как это установить. Ветви на локальных машинах просто не будут работать (каждому сотруднику необходимо будет иметь свой собственный веб-сервер, сервер приложений, сервер базы данных и те же конфигурации). Несколько ветвей на одном сервере (в основном у каждого разработчика есть своя ветка?) Требуется способ фиксации и слияния изменений одним нажатием кнопки. Это возможно даже без необходимости делать все вручную?

В конце концов, нам нужна система, которая позволяет нам:

  • развиваться без сопутствующих зависимостей (разделенных сред)
  • обзор/одобрять совершает
  • автоматически слияние одобрено совершает
  • автоматически распространять последняя версия (принудительное тяговое усилие)
  • возвращение изменений/демергера

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

+1

О, это очень хаотично. Если у вас около пяти человек, вы можете настроить учетную запись Bitbucket. Существует бесплатная учетная запись из пяти пользователей, которая позволяет хранить ваши репозитории в отдельности. –

+0

http://stackoverflow.com/ вопросы/315911/git-for-beginners-the-definitive-practic-guide? rq = 1 –

+1

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

ответ

2

Имея локальную среду для каждого разработчика является обязательным Посмотрите на руководстве мы писали о разработке и развертывании с филиалами:.

http://guides.beanstalkapp.com/version-control/branching-best-practices.html

Я надеюсь, что вы найдете ее полезной.

+0

Спасибо за руководство. Я получаю информацию о том, чтобы отдельные среды/развивающиеся отрасли были объединены и развернуты, но теперь я задаюсь вопросом о фактическом программном обеспечении для этого. Я имею в виду, что создание ветки в основном просто копирует самую последнюю стабильную магистраль и всякий раз, когда что-то должно быть объединено, клонирует ее и архивирует ее. A.k.a. сохраняет версию. Зачем даже использовать для этого дополнительное программное обеспечение (кроме слияния)? – Alex

+0

Вам не нужно «лишнее» программное обеспечение для совместной работы, у Git есть все, что вам нужно.Однако использование чего-то вроде Beanstalk сэкономит вам много времени. –

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