1. Вам нужно установить git на хостинге, чтобы делать push локально и затем pull на сервере для переноса сделанных изменений. Если хостинг не позволяет установить git, то можете воспользоваться плагином git-ftp (переносит измененные файлы по ftp)
2. Делать копию базы можно, но с какого-то момента это становится слишком затратно, да и нужную вам комбинацию данных придется искать. Решается это наполнением базы тестовыми данными (ищите seed в поиске). Развивая проект вы дополняете и сидеры. Это позволяет держать базу в атуальном виде, а также (!) откатываться к предыдущим версиям и там генерировать базу для именно этой версии. Кроме того сидеры позволяют легко экспериментировать, т.к. пересоздание базы занимаетс секунды.
3. Для изменения структуры базы данных применяются миграции (migration). Это описание того, какие поля, таблицы, индексы добавляются/удаляются, а также трансформирование данных. Создав миграцию локально и протестировав на локальных данных вы переносите ее с помощью git на сервер также, как и весь остальной код. Остается только запустить миграцию на сервере и ваша БД будет трансформирована как вы указали.
Конечно, многое зависит от того, каким фреймворком вы пользуетесь. Подавляющее большинство позволяют создавать и сидеры, и миграции.
Чтобы было проще представить, вот ссылка на документацию Laravel по этой теме:
https://laravel.com/docs/8.x/migrations