-
Ivan Abramenko authoredIvan Abramenko authored
Управление редакциями файлов и конфигураций с помощью Git
Как управлять редакциями файлов и конфигураций с помощью инструмента Git Revision Control.
Цель
Использовать инструмент контроля версий Git для управления редакциями файлов и конфигураций на вашем сайте.
Необходимые знания
-
Как настроить репозиторий Git и узнать его clone URL. Например, если вы хотите использовать GitLab для хранения репозитория, смотрите GitLab "Create a project" page и GitLab "Command Line basic commands" page. Если вы хотите использовать GitHub, смотрите GitHub "Create a repo" page и GitHub "Which remote URL should I use" page.
-
Как открыть терминал и пользоваться текстовым редактором.
-
Для управления конфигурацией — как распаковывать и упаковывать архивы (например, .zip и .tar.gz).
Требования к сайту
-
Вы должны загрузить программное обеспечение для сайта одним из способов из [install-decide]. Если нужно управлять конфигурацией, сайт должен быть установлен и работать.
-
Git-клиент должен быть установлен на сервере вашего сайта. Смотрите Git для инструкции.
-
Вы должны создать новый репозиторий и знать его URL для клонирования.
Шаги
Инициализация репозитория
Выполните эти действия один раз после создания репозитория Git, чтобы связать вашу локальную папку с репозиторием и добавить начальные файлы.
-
Откройте терминал и перейдите в каталог, где находятся файлы вашего сайта. Это ваша «верхняя» директория.
-
Определите корневую директорию сайта. Если папки core, modules и themes лежат прямо в этой папке — это и есть корень сайта. Если вы устанавливали через Composer, эти папки находятся в подкаталоге web (ваш веб-корень).
-
В текстовом редакторе создайте файл .gitignore в верхней директории (или отредактируйте, если уже есть). В этом файле укажите, какие файлы и папки Git должен игнорировать (не добавлять в репозиторий). Например, settings.php не должен попадать в Git, потому что там содержатся данные для доступа к базе, а также не должны попадать медиафайлы сайта (как правило, sites/default/files) — цель репозитория — хранить код, а не содержимое сайта.
-
Убедитесь, что в .gitignore есть следующие строки. Если ваш веб-корень — не верхний каталог, проверьте, нужен ли префикс (например, sites → web/sites):
sites/*/settings*.php sites/*/files config
-
Выполните команды:
git init git add -A
-
(Необязательно) Посмотрите список файлов, которые будут добавлены:
git status
-
Выполните команды (подставьте свой комментарий и свой URL репозитория):
git commit -m "Initial file add" git remote add origin https://gitlab.com/example-name/example-repo.git git push -u origin master
-
Если используете GitLab, GitHub или другой онлайн-хостинг, зайдите на страницу репозитория и проверьте, что файлы там появились.
Обновление файлов в репозитории
Выполняйте эти шаги, когда вы обновили, добавили или удалили один или несколько файлов, чтобы отправить изменения (push) в репозиторий.
-
Откройте терминал и перейдите в директорию с файлами вашего сайта.
-
Проверьте, какие файлы были добавлены, изменены или удалены:
git status
-
(Необязательно) Для текстовых файлов посмотрите отличия между версиями:
git diff path/to/file.txt
-
Добавьте все изменения и проверьте, что они учтены:
git add -A git status
-
Если хотите исключить файл из коммита или добавить какой-то ещё — используйте:
git reset HEAD path/to/file.txt git add path/to/file.txt
-
Закоммитьте и отправьте изменения (замените сообщение на своё):
git commit -m "commit message here" git push
-
Если есть другие копии репозитория, обновите их командой:
git pull
Копирование файлов из репозитория
Если нужно скопировать все файлы из репозитория в новое место (например, для создания копии разработки или для коллеги), выполните:
-
Откройте терминал в нужной папке.
-
Выполните (подставьте свой URL репозитория и имя папки dirname):
git clone https://gitlab.com/example-name/example-repo.git dirname
Управление конфигурацией в репозитории
-
Следуйте инструкциям из [extend-config-versions], чтобы экспортировать полный архив конфигурации вашего сайта.
-
Если конфигурация ещё не инициализирована, распакуйте архив в новую папку (желательно выше веб-корня), и добавьте файлы в репозиторий по шагам выше.
-
При изменении конфигурации экспортируйте и распаковывайте архив в ту же папку и обновляйте файлы в репозитории.
-
Чтобы импортировать конфигурацию на другой сайт, сделайте архив папки с конфигом из репозитория. Далее — по инструкции в [extend-config-versions] загрузите и импортируйте архив на сайте.
Связанные понятия
Авторы
Адаптирован и отредактирован Jennifer Hodgdon от "Building a Drupal site with Git", авторские права 2000-copyright_upper_year за отдельными участниками Drupal Community Documentation.
Переведено Исмайлов Михаил.