На проде бандл пересобирают!!!! Прод - это не дев мод, где всё на лету собирается и меняется. На прод 1 раз собралось и всё. Сделали новую фичу, правку и т.п., выкатили, пересобрали.
В гите бандлы не хранят, только когда вы разрабатываете какие-то библиотеки и т.п., что бы сразу можно было брать и юзать. Для проектов не хранят бандлы в гите, бандлы собирают прям на сервере. Потому как бандлы почти всегда собираются на основе окружения, в котором они работают.
Окружение - это тестовый полигон, либо боевой полигон. Обычно проекты сопровождаются переменными окружения(.env ну или иными, сути не меняет) в которых прописываются разные, нужные проекту данные. Api url, режим(production, development, ещё бывает stage), порт, имя приложения для удобной отладки при запуске именованного процесса на котором будет запускаться приложение и т.п. Следовательно, во время сборки, переменные окружения заносятся в бандл и там уже хранятся.
Переменные окружения лучше тоже на хранить в гите, т.к. любой разработчик без проблем должен иметь возможность менять эти значения на свои. Например, порт дев сервера. У меня например порт 3000 может быть занят чем-то своим и что бы запустить приложение, я просто сменю порт на свой.
Либо собрать у себя на компе, а потом залить, дабы не тратить ресурсы сервера в этот момент. А потом просто рестарт сервера. Такой вариант подходит, если у вас всегда 1 источник данных. И вам по сути не нужны никакие переменные окружения. Но как по мне, они всегда должны быть.
Зашли на сервер, создали файлик с переменными в вашей директории и всё.
Открыли терминал, дали команду, собрали. Либо автоматизировать этот процесс, но это уже другая история