Каков идеальный рабочий процесс Git для нашей веб-команды из 2 человек?

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

Мы не будем использовать GitHub, но у нас есть диск NAS (общий диск), поэтому наши первоначальные мысли - это что-то вроде плана:

  • DVCS (Root)
    • мастер (NAS)
      • проект 1
      • проект 2
    • разработчик1 (NAS)
      • проект 1
      • проект 2
    • разработчик2 (NAS)
      • проект 1
      • проект 2
    • developer1 (локальная рабочая станция)
      • проект 1
      • проект 2
    • developer2 (локальная рабочая станция)
      • проект 1
      • проект 2

Таким образом, в основном каждый разработчик клонирует репозиторий главного проекта в свой репозиторий разработчика (контроль качества), а затем клонирует этот репозиторий разработчика в свой локальный репозиторий. Они будут вносить свои изменения / изменения, а затем фиксировать и отправлять эти изменения обратно в свой репозиторий для разработчиков, чтобы их мог одобрить старший разработчик. После того, как они это сделают, их подтолкнут к мастеру.

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

1 ответ

Решение

Там нет "правильный" ответ на этот вопрос. Правильный рабочий процесс - это то, что работает для вас и вашей команды.

Сказав это, если у вас есть только два разработчика, я не совсем уверен, почему вы чувствуете, что вам нужно более одного простого репозитория. В этом случае проще всего сделать следующее:

  1. Имейте один центральный репозиторий на вашем NAS.

    • Мастер ветка для интеграции кода разработки.
    • Особенности веток, где разработчики работают над темами, чтобы объединиться в мастера.
    • Частные пользовательские ветви, где разработчики могут выдвигать вещи для резервного копирования или выбора вишни, но там, где перебазирование или принудительные изменения могут происходить свободно.
    • Стабильные ветви для выпущенного кода, если это соответствует вашей модели. Некоторые магазины просто нуждаются в метках на мастере, если они делают непрерывную доставку.
  2. Разработчики хранят клоны на своих рабочих станциях, а не на сетевом диске.

    • Обеспечивает избыточность, если NAS теряет данные или отключается.
    • Позволяет выбрасывать ветки, которые не хранятся централизованно или не являются частью истории проекта.

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

Другие вопросы по тегам