Как правильно организовать рабочую среду для крупного проекта с GIT?
- Для изображений можно использовать s3, если же всё же захотите хранить у себя, то просто кидайте их в папку, которая в gitignore. И 2гб для изображений это не много, а очень мало.
- База должна клонироваться, а не использоваться одна и та же.
- Миграции для того и придумали, чтобы удобно можно было модифицировать базу.
- Должно быть 3 сайта: dev.site.ru, pre-prod.site.ru, site.ru. На первом разработка, на втором тест новых фич, ну и продакшн.
Во-первых использовать Bitbucket, там очень все гибко и удобно для командной работы, они даже сделали сейчас связку с Trello. что просто великолепно. Команда до 5 человек - халява. Потом можно четко настроить права каждого разработчика на запись. Картинки на несколько гигов - это не программная часть, безусловно ее не нужно хранить в гите, только картинки, качающиеся элементов интерфейса. Должна быть четкая инстуркция для вновь прибывающих по порядку работы с репозиторием - каждый обычно работает в своей ветке или в ветке фичи, если ему дано определенное задание, при каждом старте работы каждый разработчик должен подтянуть к себе в ветку обновы из центровой ветки разработки. Когда он все протестит у себя, сможет отправить свои имзенения на проверку в основную ветку. Никаких прав никому кроме старшего на запись в основную ветку! Иначе это будет хаос. Периодически все по команде будут также делать миграции в своих ветках. Ну и обязательно должен быть тимилид, который будет всем этим безобразием руководить, разруливать конфликты в репозитории, разделять и властвовать.