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

Last updated on
14 April 2025

Цель

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

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

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

  • Вы должны загрузить программное обеспечение для вашего сайта, используя один из методов в Раздел 3.3, «Основы: Способы загрузки и установки Drupal». Если вы хотите управлять конфигурацией, вы должны иметь установленное программное обеспечение и работающий сайт.
  • Git клиент должен быть установлен на сервере вашего сайта. Смотрите Git для инструкции.
  • Вы должны создать новый репозиторий и знать его Git клон URL.

Шаги

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

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

  1. Откройте окно командной строки и перейдите в директорию, где находятся файлы вашего сайта. Это ваша "верхняя" директория.
  2. Определите где находится ваш корневой каталог. Если core, modules, и themes директории расположены в этом каталоге, тогда вы в вашем корневом каталоге. Если вы использовали Композер для загрузки, тогда эти файлы находятся внутри web подкаталога (который является вашим корневым каталогом).
  3. В текстовом редакторе создайте новый файл с именем .gitignore в верхней директории (или отредактируйте его, если он уже существует). Этот файл содержит список файлов и директорий который Git будет игнорировать (не добавлять в репозиторий). Например, settings.php файл для вашего сайта не будет добавлен в Git, потому что он содержит сведения об учетной записи базы данных, и медиафайлы, загруженные на ваш сайт (обычно sites/default/files) также не должно быть в Git — цель состоит в том, чтобы в репозитории было программное обеспечение, а не содержимое сайта.
  4. Убедитесь, что следующие строки находятся в файле .gitignore. Если ваш корневой каталог не является верхней директорией, проверьте каждую из них, чтобы узнать, нужен ли им префикс. Например, sites возможно потребуется заменить на web/sites.

    sites/*/settings*.php
    sites/*/files
    config
  5. Введите следующие команды:

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

    git status
  7. Введите следующие команды. Вы можете заменить ваше сообщение коммита для "Initial file add" если вы хотите, и вам нужно будет заменить свой собственный Git клон URL на 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. Вы можете пропустить определенный файл из коммита который вы уже поставили, или добавить другой файл к уже созданным. Если конкретный файл или директория продолжает добавляться по ошибке, рассмотрите возможность добавления его в .gitignore файл, чтобы он был проигнорирован в Git. Пропускающие/добавляющие команды:

    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 вашего клона репозитория на URL и имя подкаталога, в котором вы хотите их использовать для dirname:

    git clone https://gitlab.com/example-name/example-repo.git dirname

Управление конфигурацией в репозитории

  1. Следуйте инструкциям на Раздел 11.10, «Синхронизация Версий Конфигурации» для экспорта полного архива конфигурации вашего сайта.
  2. Если вы еще не инициализировали конфигурацию в репозитории, распакуйте архив конфигурации в новую директорию, желательно над корневым каталогом директории, и следуйте инструкциям выше, чтобы добавить эти файлы в свой репозиторий.
  3. После инициализации, при изменении конфигурации вашего сайта, экспортируйте и распакуйте архив конфигурации в том же месте. Следуйте инструкциям выше, чтобы обновить эти файлы в вашем репозитории.
  4. Чтобы импортировать обновленную конфигурацию на другой сайт, сделайте архив конфигурационной директории из вашего репозитория. Затем следуйте инструкциям на Раздел 11.10, «Синхронизация Версий Конфигурации» для загрузки и импорта этого архива на сайт.

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

Раздел 11.7, «Основы: Сайты для разработки»

Авторы

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

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

 

This page is generated from AsciiDoc source from the User Guide. To propose a change, edit the source and attach the file to a new issue in the User Guide project. PDF and e-book formats are available on the User Guide project page.

Source file: extend-git.asciidoc

Help improve this page

Page status: No known problems

You can: