Я профессионально не занимаюсь разработкой, и тем более не знаком с Laravel. НО
Ведёшь разработку локально, база данных у тебя тоже локальная с фейковыми данным (в Laravel вроде Facker Seeds есть), структуру меняешь через миграции. Пишешь тесты на каждую новую фичу, используешь Composer.
У тебя должен быть репозиторий с несколькими ветками, минимум 2 - dev - master.
Когда сделал новую фичу на локалке, пушиш её в ветку dev, изменения улетают допустим в GitLAb -- там запускается CI скрипт, прогоняются тесты, если всё ок, то делается мёрдж ветки с данной фичей в мастер, после чего запускается хук и прод.сервер делает у себя Pull мастера, после чего на серваке запускаются скрипты обновления зависимостей Composer, миграции и т.д.
Ну в общем как-то так, я думаю профессионалы поправят меня, но в целом примерно так ведётся разработка.
ps - можно ещё это всё в docker контейнеры запихать, по желанию.