11.11. Управление файлами и конфигурационными редакциями с помощью Git
Используйте инструмент контроля версий Git, чтобы управлять редакциями файлов и конфигурации на вашем сайте.
- Раздел 3.2, «Основы: Дополнителные инструменты»
- Раздел 3.3, «Основы: Способы загрузки и установки Drupal»
- Раздел 11.7, «Основы: Сайты для разработки»
- Как настроить Git репозиторий и найти его клон 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).
- Вы должны загрузить программное обеспечение для вашего сайта, используя один из методов в Раздел 3.3, «Основы: Способы загрузки и установки Drupal». Если вы хотите управлять конфигурацией, вы должны иметь установленное программное обеспечение и работающий сайт.
- Git клиент должен быть установлен на сервере вашего сайта. Смотрите Git для инструкции.
- Вы должны создать новый репозиторий и знать его Git клон URL.
Выполните эти шаги один раз, после создания Git-репозитория, для подключения вашей локальной директории к репозиторию и добавления к нему исходного файла.
- Откройте окно командной строки и перейдите в директорию, где находятся файлы вашего сайта. Это ваша "верхняя" директория.
- Определите где находится ваш корневой каталог. Если core, modules, и themes директории расположены в этом каталоге, тогда вы в вашем корневом каталоге. Если вы использовали Композер для загрузки, тогда эти файлы находятся внутри web подкаталога (который является вашим корневым каталогом).
- В текстовом редакторе создайте новый файл с именем .gitignore в верхней директории (или отредактируйте его, если он уже существует). Этот файл содержит список файлов и директорий который Git будет игнорировать (не добавлять в репозиторий). Например, settings.php файл для вашего сайта не будет добавлен в Git, потому что он содержит сведения об учетной записи базы данных, и медиафайлы, загруженные на ваш сайт (обычно sites/default/files) также не должно быть в Git — цель состоит в том, чтобы в репозитории было программное обеспечение, а не содержимое сайта.
Убедитесь, что следующие строки находятся в файле .gitignore. Если ваш корневой каталог не является верхней директорией, проверьте каждую из них, чтобы узнать, нужен ли им префикс. Например, sites возможно потребуется заменить на web/sites.
sites/*/settings*.php sites/*/files config
Введите следующие команды:
git init git add -A
При желании проверьте список файлов, которые вы будете добавлять в свой репозиторий Git, введя эту команду и листая (очень длинный) список:
git status
Введите следующие команды. Вы можете заменить ваше сообщение коммита для "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
- Если вы используете хостинг репозитория GitLab, GitHub или другой хост с онлайн доступом, вы можете перейти на свою страницу репозитория и увидеть, что файлы там.
Используйте эти шаги, при обновлении, добавлении или удалении одного или нескольких файлов на вашем сайте, чтобы отправить изменения (push) в ваш репозиторий.
- Откройте окно командной строки, и прейдите в директорию где находятся файлы вашего сайта.
Проверьте список файлов, которые были добавлены, изменены или удалены::
git status
Дополнительно, для текстовых файлов, которые были изменены (не изображения), посмотрите на различия между новой и старой версиями файла:
git diff path/to/file.txt
Подготовьте все изменения для следующего коммита и убедитесь, что они внесены:
git add -A git status
Вы можете пропустить определенный файл из коммита который вы уже поставили, или добавить другой файл к уже созданным. Если конкретный файл или директория продолжает добавляться по ошибке, рассмотрите возможность добавления его в .gitignore файл, чтобы он был проигнорирован в Git. Пропускающие/добавляющие команды:
git reset HEAD path/to/file.txt git add path/to/file.txt
Коммите и пуште ваши изменения. Напишите что-то значимое в сообщении коммита:
git commit -m "commit message here" git push
Если у вас есть другие копии вашего репозитория, обновите их, открыв командное окно в директории каждой копии и запустив следующую команду:
git pull
Выполните следующие действия, если вы хотите скопировать все файлы вашего репозитория на новое местоположение. Например, у вас может быть локальная копия разработки вашего сайта и рабочий сайт, или несколько членов команды могут иметь локальные копии сайта.
- Откройте командное окно в том месте, где вы хотите, чтобы находились файлы.
Введите следующую команду, заменив URL вашего клона репозитория на URL и имя подкаталога, в котором вы хотите их использовать для dirname:
git clone https://gitlab.com/example-name/example-repo.git dirname
- Следуйте инструкциям на Раздел 11.10, «Синхронизация Версий Конфигурации» для экспорта полного архива конфигурации вашего сайта.
- Если вы еще не инициализировали конфигурацию в репозитории, распакуйте архив конфигурации в новую директорию, желательно над корневым каталогом директории, и следуйте инструкциям выше, чтобы добавить эти файлы в свой репозиторий.
- После инициализации, при изменении конфигурации вашего сайта, экспортируйте и распакуйте архив конфигурации в том же месте. Следуйте инструкциям выше, чтобы обновить эти файлы в вашем репозитории.
- Чтобы импортировать обновленную конфигурацию на другой сайт, сделайте архив конфигурационной директории из вашего репозитория. Затем следуйте инструкциям на Раздел 11.10, «Синхронизация Версий Конфигурации» для загрузки и импорта этого архива на сайт.
Раздел 11.7, «Основы: Сайты для разработки»
Авторы
Адаптирован и отредактирован Jennifer Hodgdon от "Building a Drupal site with Git", авторские права 2000-2025 за отдельными участниками Drupal Community Documentation.
Переведено Исмайлов Михаил.
Source file: extend-git.asciidoc
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion