@Jora007

Как правильно организовать работу team webdev + git?

Здравствуйте.

Возникла потребность в правильной организации работы с Git.

На данный момент есть сайт, который нужно постоянно дорабатывать.

Для того, чтобы посетители сайта не страдали от временной неработоспособности сайта, мы сделали его точную копию на субдомене.

Всего в команде 4 разработчика (подключены по FTP к dev копии сайта), задания они получают через trello.

Хотелось бы:
1. Использовать в командной разработке Git, чтобы отслеживать кто и что меняет, вести историю проекта.
2. Каким-то образом автоматизировать процесс обновления основного сайта из dev > в продакшн.

Была идея использовать для этих целей Bitbucket.

Как правильно организовать работу?
Нужно ли разработчикам хранить у себя на ПК локальные версии сайта или можно работать на прямую с DEV по FTP (делая при этом коммиты)?
Не перезатрем ли мы друг друга? (Пример: Вася заменил кнопку на своей локальной копии сделал пуш на дев, в этот момент Коля поменял ширину всего контейнера и тоже сделал пуш).

Какой у кого есть опыт в данной теме?
  • Вопрос задан
  • 526 просмотров
Решения вопроса 1
Mx21
@Mx21
Software engineer
>Каким-то образом автоматизировать процесс обновления основного сайта из dev > в продакшн.

Для небольшой команды, можно настроить деплой из битбакета прямо на продакшен сервер.
Например, как здесь brandonsummers.name/blog/2012/02/10/using-bitbucke...

Схема получится такая:
1. Разработчики клонируют репозиторий к себе на компьютер.
2. Разработчик пушит изменения на битбакет.
3. С битбакета идет POST-запрос на скрипт, расположенный на вашем сервере.
4. Скрипт на production-сервере делает pull изменений.

При этом никто не будет взаимодействовать с сайтом по ftp. Вся работа идет через репозиторий на битбакете.

По поводу:
>Не перезатрем ли мы друг друга?

Почитайте, про git flow.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Karmashkin
может нанять на месяц админа?
он вам поднимет нормальное окружение:
- багтрекер с кодревью
- билдсервер
- ..далее уже по вкусу
Ответ написан
Комментировать
muhammad_97
@muhammad_97
PHP-разработчик
Создаете репо на битбакет, делаете первый коммит, все остальные клонируют этот репозиторий.

2. Каким-то образом автоматизировать процесс обновления основного сайта из dev > в продакшн.


Самое простое - git pull

Не перезатрем ли мы друг друга?


Нет. Конфликтные ситуации можно разрешить при объединении (merge) коммитов.
Ответ написан
Комментировать
@iissakin
Каждый хранит у себя на рабочей машине исходники сайта и, как тому способствует философия гита, свой локальный репозиторий. Каждый делает свои задачи в своих ветках, регулярно синхронизируясь с master веткой, в которой лежит стабильный билд. Каждый пушит свои ветки на удаленный репозиторий, открывает мерж реквесты, администратор репозитория после придуманной вами последовательности действий принимает их, сливая в мастер. На любые конфликты при слиянии веток гит будет указывать, требуя сказать, как это дело смержить, что-то перезатереть можно только руками - и будет видно, чьими.
Это всяко будет безопаснее в плане перезатирания, чем работа хором над одной копией исходников, лежащей в одном месте.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы