Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

Управление редакциями файлов и конфигураций с помощью Git

Как управлять редакциями файлов и конфигураций с помощью инструмента Git Revision Control.

Цель

Использовать инструмент контроля версий Git для управления редакциями файлов и конфигураций на вашем сайте.

Необходимые знания

Требования к сайту

  • Вы должны загрузить программное обеспечение для сайта одним из способов из [install-decide]. Если нужно управлять конфигурацией, сайт должен быть установлен и работать.

  • Git-клиент должен быть установлен на сервере вашего сайта. Смотрите Git для инструкции.

  • Вы должны создать новый репозиторий и знать его URL для клонирования.

Шаги

Инициализация репозитория

Выполните эти действия один раз после создания репозитория Git, чтобы связать вашу локальную папку с репозиторием и добавить начальные файлы.

  1. Откройте терминал и перейдите в каталог, где находятся файлы вашего сайта. Это ваша «верхняя» директория.

  2. Определите корневую директорию сайта. Если папки core, modules и themes лежат прямо в этой папке — это и есть корень сайта. Если вы устанавливали через Composer, эти папки находятся в подкаталоге web (ваш веб-корень).

  3. В текстовом редакторе создайте файл .gitignore в верхней директории (или отредактируйте, если уже есть). В этом файле укажите, какие файлы и папки Git должен игнорировать (не добавлять в репозиторий). Например, settings.php не должен попадать в Git, потому что там содержатся данные для доступа к базе, а также не должны попадать медиафайлы сайта (как правило, sites/default/files) — цель репозитория — хранить код, а не содержимое сайта.

  4. Убедитесь, что в .gitignore есть следующие строки. Если ваш веб-корень — не верхний каталог, проверьте, нужен ли префикс (например, sitesweb/sites):

    sites/*/settings*.php
    sites/*/files
    config
  5. Выполните команды:

    git init
    git add -A
  6. (Необязательно) Посмотрите список файлов, которые будут добавлены:

    git status
  7. Выполните команды (подставьте свой комментарий и свой URL репозитория):

    git commit -m "Initial file add"
    git remote add origin https://gitlab.com/example-name/example-repo.git
    git push -u origin master
  8. Если используете GitLab, GitHub или другой онлайн-хостинг, зайдите на страницу репозитория и проверьте, что файлы там появились.

Обновление файлов в репозитории

Выполняйте эти шаги, когда вы обновили, добавили или удалили один или несколько файлов, чтобы отправить изменения (push) в репозиторий.

  1. Откройте терминал и перейдите в директорию с файлами вашего сайта.

  2. Проверьте, какие файлы были добавлены, изменены или удалены:

    git status
  3. (Необязательно) Для текстовых файлов посмотрите отличия между версиями:

    git diff path/to/file.txt
  4. Добавьте все изменения и проверьте, что они учтены:

    git add -A
    git status
  5. Если хотите исключить файл из коммита или добавить какой-то ещё — используйте:

    git reset HEAD path/to/file.txt
    git add path/to/file.txt
  6. Закоммитьте и отправьте изменения (замените сообщение на своё):

    git commit -m "commit message here"
    git push
  7. Если есть другие копии репозитория, обновите их командой:

    git pull
Копирование файлов из репозитория

Если нужно скопировать все файлы из репозитория в новое место (например, для создания копии разработки или для коллеги), выполните:

  1. Откройте терминал в нужной папке.

  2. Выполните (подставьте свой URL репозитория и имя папки dirname):

    git clone https://gitlab.com/example-name/example-repo.git dirname
Управление конфигурацией в репозитории
  1. Следуйте инструкциям из [extend-config-versions], чтобы экспортировать полный архив конфигурации вашего сайта.

  2. Если конфигурация ещё не инициализирована, распакуйте архив в новую папку (желательно выше веб-корня), и добавьте файлы в репозиторий по шагам выше.

  3. При изменении конфигурации экспортируйте и распаковывайте архив в ту же папку и обновляйте файлы в репозитории.

  4. Чтобы импортировать конфигурацию на другой сайт, сделайте архив папки с конфигом из репозитория. Далее — по инструкции в [extend-config-versions] загрузите и импортируйте архив на сайте.

Связанные понятия

Авторы

Адаптирован и отредактирован Jennifer Hodgdon от "Building a Drupal site with Git", авторские права 2000-copyright_upper_year за отдельными участниками Drupal Community Documentation.

Переведено Исмайлов Михаил.