Здравствуйте. Помогите пожалуйста разобраться с переносом сайта с локалки на хостинг посредством git.
Возникли следующие вопросы по переносу Д8:
1. Файлы всего сайта переносить в репозиторий или какую то его часть, а потом делать запуск composer install
2. Суть деплоя заключается в следующем: сперва с локалки выкладываю в репозиторий файлы, потом подключившись к хостингу забираю оттуда эти файлы и делается запуск Composer install? Если не так, то поправьте пожалуйста.
3. Переносится ли гитом БД. Если нет, то какие инструменты для этого используются.
Вопрос по деплою сайта через git
Главные вкладки
Лучший ответ
1
1. Да
2. Да
3. Нет. Настройки админки переносятся с помощью конфигов через гит. Контент не переносится
Комментарии
0. Начать с https://githowto.com/ru, кстати, это сайтец нашего коллеги-друпалера.
1. Файлы сайта - это что? Код или то, что лежит в files?
2. Ну... Относительно так
3. Нет, БД не переносится, но зато много чего переносится конфигами drush cex/drush cim
Спасибо за линк.
Файлы сайта - имело ввиду код(ядро, темы и т.д) т.е все что лежит в папке web и выше.
Если переносится все, то не пойму в чем Профит Гита. Начитавшись инфы по его преимуществам в разработке сложилось мнение, что по фтп друпал 8 гонять туда сюда не вариант, а вот гит другое дело. Но если и гит полностью сайт переносит, то в чем отличие? Или он смотрит изменения в файлах и если они были, то переносит, если нет, то не трогает?
Гит - это система контроля версий. Каждая следующая версия - это набор diff-ов от предыдущей версии, то есть указание, в каком файле какая строка изменилась. Естественно, при первом переносе весь код переносится полностью (а как иначе?). Но при переносе изменений переносятся только изменённые строки кода. Именно строки, а не файлы.
В чём преимущество перед фтп? Допустим, сайт уже работает, но нужно добавить новое поле, которое выводится в какой-нибудь выпадайке. Делаем всё на локалке, в результате изменяем пару конфигов, файл скрипта, файл цсс и файл шаблона. Гит сам увидит, какие файлы были изменены и перенести эти изменения не составит труда. А через фтп нужно самому помнить, сколько файлов было изменено.
Спасибо вам и другим ответившим. Теперь более менее все стало на свои места!
1. Да
2. Да
3. Нет. Настройки админки переносятся с помощью конфигов через гит. Контент не переносится
Максимально подробно, в т.ч. про git: https://niklan.net/blog/186
Читал уже. Кое какие вещи были непонятны из принципа работы. Но выше разъяснили вроде.
Хотя вот созрел ещё один вопрос. Как быть с файлом settings.php, в случае когда настройки бд отличаются на локалке от хостинга? Как сделать так, чтобы они не затирали друг друга?
.gitignore
Добавлю по поводу базы в части переноса конфигурации
drush config-export https://drushcommands.com/drush-8x/config/config-export/
drush config-import https://drushcommands.com/drush-8x/config/config-import/
Спасибо всем ответившим. С вашими разъяснениями и упражнениями по ссылке начинает складываться понимание этой системы.