Ни в коем случае не делайте всего две ветки, в гите же бранчевание элементарнейшая и приятнейшая вещь.
Нужно иметь две основные ветки — stable, current. В первой стабильный билд, а в current последние вмерженные пуллреквесты до поры пока не решете что current стабилен, затем они мержатся в stable, тестируется, делается тег.
Вы вроде используете аналог гитхаба gitosis.
Выше был описан главный репозиторий, назовём его upstream.
У каждого разработчика свой репозиторий на сервере (назовём origin), он бранчуется от ветки main/current, вносит изменения (мы стараемся делать это одним коммитом, для правок --amend), когда готово пушит ветку в origin на gitosis, делает пулл реквест в upstream.
Обязательно второй программист делает ревью, проверяет что ничего не сломано и лишь затем он же нажимает кнопку впулить.
Билд же для продакшена собирается ant или copistrano, из тега, максимум из stable.