Каков идеальный рабочий процесс Git для нашей веб-команды из 2 человек?
Мы надеемся использовать GIT для управления нашими веб-файлами, поскольку мы только что наняли второго разработчика.
Мы не будем использовать GitHub, но у нас есть диск NAS (общий диск), поэтому наши первоначальные мысли - это что-то вроде плана:
- DVCS (Root)
- мастер (NAS)
- проект 1
- проект 2
- разработчик1 (NAS)
- проект 1
- проект 2
- разработчик2 (NAS)
- проект 1
- проект 2
- developer1 (локальная рабочая станция)
- проект 1
- проект 2
- developer2 (локальная рабочая станция)
- проект 1
- проект 2
- мастер (NAS)
Таким образом, в основном каждый разработчик клонирует репозиторий главного проекта в свой репозиторий разработчика (контроль качества), а затем клонирует этот репозиторий разработчика в свой локальный репозиторий. Они будут вносить свои изменения / изменения, а затем фиксировать и отправлять эти изменения обратно в свой репозиторий для разработчиков, чтобы их мог одобрить старший разработчик. После того, как они это сделают, их подтолкнут к мастеру.
Я не уверен, что это правильный подход, или я должен использовать ветки, или мне нужен другой рабочий процесс?
1 ответ
Там нет "правильный" ответ на этот вопрос. Правильный рабочий процесс - это то, что работает для вас и вашей команды.
Сказав это, если у вас есть только два разработчика, я не совсем уверен, почему вы чувствуете, что вам нужно более одного простого репозитория. В этом случае проще всего сделать следующее:
Имейте один центральный репозиторий на вашем NAS.
- Мастер ветка для интеграции кода разработки.
- Особенности веток, где разработчики работают над темами, чтобы объединиться в мастера.
- Частные пользовательские ветви, где разработчики могут выдвигать вещи для резервного копирования или выбора вишни, но там, где перебазирование или принудительные изменения могут происходить свободно.
- Стабильные ветви для выпущенного кода, если это соответствует вашей модели. Некоторые магазины просто нуждаются в метках на мастере, если они делают непрерывную доставку.
Разработчики хранят клоны на своих рабочих станциях, а не на сетевом диске.
- Обеспечивает избыточность, если NAS теряет данные или отключается.
- Позволяет выбрасывать ветки, которые не хранятся централизованно или не являются частью истории проекта.
Небольшие команды обычно не нуждаются в сложности модели запросов на извлечение. Ваш пробег может отличаться.