Задать вопрос

Организация работы через Git

Есть тестовый сервер, который является полной копией боевого. Весь новый функционал тестируется именно на тестовом сервере, а уже потом переносится на продакшн.
Насколько я понимаю тестовый сервер и продакшн — это должны быть два разных репозитория? Как лучше настроить Git, чтобы можно было делать checkout с тестового сервера и туда же коммитить изменения, чтобы проверить как они работают. Обязательно ли для кажного изменения должна создаваться новая ветка? или можно сразу коммитить в мастер? Программистов пока всего двое, и чем меньше прозрачнее и легче будет схема взаимодействия, тем лучше.

С Git я раньше никогда не работал, посоветуйте пожалуйста, какая схема работы будет самой логичной в данном случае?
  • Вопрос задан
  • 6441 просмотр
Подписаться 12 Оценить Комментировать
Решения вопроса 1
un1t
@un1t
Можно сделать две ветки master и devel. В девеле разработка, в мастере стабильный код, который забирается на тестовый сервер. Для уже протестированного кода перед выкладкой в продакшен делайте ветку releaseN, где N номер релиза. Отдельная ветка для релизов нужна на случай хотфиксов. Для больших фич которые которые длятся от нескольких часов до нескольких недель лучше делать отдельные ветки (хотя для 2х разработчиков это может быть не так актуально). Для мелких фич можно делать локальные ветки, а можно сразу комитить в двевел.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AmdY
@AmdY
PHP и прочие вебштучки
Ни в коем случае не делайте всего две ветки, в гите же бранчевание элементарнейшая и приятнейшая вещь.
Нужно иметь две основные ветки — stable, current. В первой стабильный билд, а в current последние вмерженные пуллреквесты до поры пока не решете что current стабилен, затем они мержатся в stable, тестируется, делается тег.
Вы вроде используете аналог гитхаба gitosis.
Выше был описан главный репозиторий, назовём его upstream.
У каждого разработчика свой репозиторий на сервере (назовём origin), он бранчуется от ветки main/current, вносит изменения (мы стараемся делать это одним коммитом, для правок --amend), когда готово пушит ветку в origin на gitosis, делает пулл реквест в upstream.
Обязательно второй программист делает ревью, проверяет что ничего не сломано и лишь затем он же нажимает кнопку впулить.

Билд же для продакшена собирается ant или copistrano, из тега, максимум из stable.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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