НАЖМИТЕ все местные филиалы GIT? Лучшая практика?
Должны ли ВСЕ локально созданные ветки GIT ежедневно передаваться в центральное хранилище? Каков лучший рабочий процесс относительно этого?
Мы создали GIT-репозиторий для управления нашим крупным сайтом электронной коммерции, который постоянно разрабатывается большой командой.
Центральный репозиторий находится в "Beanstalk", и у нас есть три основных ветви: "prestaging" (master), "staging" и "production". Вся разработка должна быть объединена с предварительной подготовкой, когда она завершена локально и готова к публикации.
Я также вижу толкание длинных веток в Beanstalk. Однако некоторые из нашей команды выступают за то, чтобы подталкивать ВСЕ локальные ветви развития к Beanstalk на ежедневной основе или нет; создать избыточность. Я думаю, что это со временем захламит хранилище сотнями веток. Что такое лучшая практика?
3 ответа
Я предпочитаю не загрязнять центральное репо всеми ветвями всех пользователей.
Не смешивайте:
- рабочий процесс публикации: что вы выбираете для публикации (push/pull в репозиторий верхнего уровня)
- Необходимость резервного копирования: используйте пакет (см. "Резервное копирование локального репозитория Git"), чтобы у вас был только один файл для копирования на любой удаленный диск, который вы хотите.
Вы всегда можете попросить пользователя очистить свои удаленные ветви, когда они закончат с ним. Это не плохая идея, чтобы они поднимали свои локальные филиалы просто для безопасного хранения (особенно если на их коробке нет решения для резервного копирования). В противном случае, если их машина умирает, их местное отделение исчезнет.
Я согласен с вами, использование центрального репо для резервного копирования ежедневной работы - плохая идея. Он должен содержать коммиты, предназначенные для совместного использования, тестирования или выпуска.
Резервное копирование ежедневной работы должно происходить с другим репо, более разрешительным, с опционально автоматизированным git push --force --all backup-repo
Задача на каждом компьютере разработчика, или иметь более классический инструмент резервного копирования.