Как использовать Git для продвижения вашего локального сайта

Опубликовано: 2022-10-18

Многие компании прилагают огромные усилия, чтобы сделать разработку веб-сайтов простой для обычного пользователя. В этом есть смысл, потому что есть владельцы сайтов, у которых нет (или желания) времени на изучение всех аспектов управления локальным сайтом. Однако, проведя небольшое исследование, вы можете использовать Git для управления процессом запуска вашего сайта. Это дает вам немного больше безопасности, а после того, как вы все настроите, упрощается внесение изменений на сайт.

Тем не менее, добраться до этой точки, по общему признанию, сложно. Есть много предпосылок, которые нужно учитывать, навыки, которые вам нужны, и инструменты под рукой. Кроме того, вам нужно будет продумать процесс в первые несколько раз, потому что вам нужно многое запомнить. Однако использование Git для запуска сайта доступно почти каждому пользователю, и это не должно быть так сложно, как вы думаете.

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

Введение в Git

Для тех, кто не знает, Git — это система контроля версий (VCS). Это способ сохранить и записать изменения, которые вы вносите в проект — часто в приложение или веб-сайт. Это то, что мы коснемся в другом месте, но вам нужно знать больше об этом для этого урока.

Репозиторий WordPress на GitHub.

Типичный способ использования Git — через интерфейс командной строки (CLI) — если у вас есть опыт работы с WP-CLI, это аналогичный подход. Вы будете использовать команды для маркировки и организации файлов, над которыми вы работаете, несколькими способами:

  • До того, как вы выполните команду, файлы останутся «неустановленными». Это означает, что они не являются частью вашего «репозитория» Git (каталога, в котором хранится ваша история).
  • Вы дадите команду подготовить все или некоторые из ваших файлов, после чего вы все еще сможете работать с ними.
  • Когда вы закончите, вы передадите файлы в «репозиторий» из промежуточной области. Это похоже на сохранение этих изменений.

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

Использование Git для командной разработки

Git — ключевой инструмент для команд разработчиков, потому что каждый разработчик открывает отдельную «ветку» в одном и том же репозитории. Это означает, что каждый может работать над проектом, не затрагивая файлы для других. Через регулярные промежутки времени — часто в качестве последней задачи дня — команда будет фиксировать изменения в репозитории.

Затем старший член команды попытается «объединить» все ветки и изменения вместе с main или trunk частью репозитория. На этом этапе у вас будет окончательный набор файлов проекта в репозитории.

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

Краткое руководство по локальной разработке WordPress

Прежде чем мы двинемся дальше, мы должны отметить, что работа над вашим сайтом вдали от вашего рабочего сервера является рекомендуемой типичной практикой. Если вы еще этого не сделали, ознакомьтесь с нашей статьей о том, как установить WordPress. Кроме того, вы можете подумать о специальном приложении для работы на вашем сайте.

Логотип DevKinsta.

Local by Flywheel — хороший вариант, но DevKinsta тоже. Несмотря на это, существует множество способов создать локальный сайт, и вам наверняка захочется его иметь.

Почему вы хотите использовать Git для запуска локального сайта

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

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

Однако есть несколько других причин, почему Git полезен:

  • Вы можете разместить этот репозиторий Git в любом месте. GitHub и GitLab — это два сайта, специализирующихся на размещении репозиториев Git. Оттуда вы можете привлечь других членов команды или разработчиков, если вам нужна дополнительная поддержка. Вы даже можете легко перенести сайт.
  • Конечно, вам не нужно будет работать на своем работающем сайте, что является фантастическим с точки зрения безопасности и производительности. Однако вы можете отправлять только те файлы, над которыми работаете. Это дает огромные преимущества, потому что вам не нужно трогать базу данных WordPress. Это ключевая цель создания веб-сайта, и это можно сделать с помощью Git и локальной установки.

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

Что вам понадобится, прежде чем использовать Git для запуска сайтов (инструменты и навыки)

Стоит отметить, что у вас уже должно быть на месте, прежде чем даже думать о том, какие дополнительные функции вам понадобятся. Например, убедитесь, что у вас есть под рукой следующее:

  • Локальная версия вашего текущего веб-сайта.
  • Доступ к панели управления хостингом и серверу в качестве администратора.

Отсюда вы можете подумать, что еще вам нужно для использования Git с вашим локальным сайтом и работающим сервером:

  • Вам нужно будет установить Git на свой компьютер. Вы часто достигаете этого через командную строку.
  • Говоря об этом, вам нужно знать, как использовать командную строку. В частности, вы должны знать, как перемещаться по компьютеру, создавать каталоги и файлы, а также удалять их.
  • Знание доступа Secure Shell (SSH) к вашему серверу и, по крайней мере, знакомство с созданием ключей безопасности. Вы можете узнать об этом немного больше в нашей статье о безопасном протоколе передачи файлов (SFTP).

Этого должно быть достаточно для начала, но мы будем упоминать в остальной части статьи, если что-то еще потребует вашего внимания.

Как использовать Git для продвижения вашего локального сайта

Есть четыре шага, которые вам нужно предпринять, чтобы все настроить. Вот что мы собираемся рассказать:

  1. Настройка репозитория Git для вашего локального сайта.
  2. Настройка удаленного репозитория Git.
  3. Сообщите вашему репозиторию Git, куда нужно вносить изменения.
  4. Добавление удаленной ссылки и отправка ваших изменений в реальном времени.

Здесь многое предстоит пройти, так что давайте начнем!

1. Настройте репозиторий Git для своего локального сайта

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

Переход к локальной папке с помощью терминала и командной строки.

Чтобы настроить необходимую архитектуру для вашего репозитория Git, выполните следующие команды по одной:

 git init git add .

Первая команда создаст нужный каталог и сделает его скрытым, а вторая добавит все файлы в каталоге вашего сайта в промежуточную область Git — точка является модификатором «подстановочный знак»:

Инициализация репозитория Git и добавление файлов с помощью командной строки.

Чтобы увидеть, какие файлы находятся в промежуточной области, используйте команду git status :

Запуск состояния git, чтобы увидеть, какие файлы размещены.

Отсюда вы захотите выполнить первоначальную фиксацию этих изменений, чтобы заполнить свое локальное репо. Вы делаете это с помощью следующей команды:

git commit -m "Initial commit."

Флаг -m сообщает команде, что далее следует ваше сообщение фиксации. Вам все равно придется делать это для каждого коммита, и это проще сделать из одного места.

Отсюда у вас все настроено на вашем компьютере. Далее пришло время работать на удаленном сервере.

2. Настройте репозиторий Git на рабочем сервере вашего сайта.

Процесс здесь аналогичен вашей локальной настройке, но требует, чтобы вы вошли на свой сервер с помощью SSH. Использование этого выходит за рамки этой статьи, но мы можем указать вам на сообщение Тома Макфарлина, в котором описаны необходимые шаги. В качестве альтернативы вы всегда можете спросить своего хоста — у них не должно возникнуть проблем с тем, чтобы показать вам, где находятся эти учетные данные.

После того, как вы войдете на свой сервер через командную строку, вы захотите перейти в частную область вашего сервера, чтобы внешние пользователи не могли получить доступ к вашему репозиторию Git. Каталог часто /private/ , хотя вы можете спросить об этом своего хоста.

В этом каталоге вы захотите создать еще один каталог и перейти к нему:

 mkdir remoterepo.git cd remoterepo.git

Пока каталог использует расширение .git , вы можете называть его как хотите. Отсюда инициализируйте новый репозиторий git в каталоге, на этот раз используя флаг –bare:

git --bare init

Это создает репозиторий, который вам нужен, без файлов проекта, что является безопасным и рекомендуемым.

3. Создайте «крючок» для своего репозитория и установите правильные права доступа к файлам.

Пока вы находитесь на сервере, вам нужно создать файл, чтобы сообщить Git, куда отправлять изменения. Сначала запустите команду nano hooks/post-receive command . Это открывает редактор командной строки под названием Nano и создает файл в нужном каталоге.

В этом файле добавьте следующее:

 #!/bin/sh GIT_WORK_TREE=/home/username/example.com git checkout -f

/home/user/example.com должен указывать на точное местонахождение живых файлов вашего сайта. Имя username должно быть тем, с которым вы вошли в оболочку, а example.com должен быть доменом вашего живого сайта. Как только вы это сделаете, сохраните изменения.

Последним шагом здесь является установка правильных прав доступа к этому файлу. Вы можете сделать это с помощью команды chmod +x hooks/post-receive . Команда «Изменить режим» (chmod) — это то, как вы устанавливаете права доступа к файлам из командной строки — +x означает установку разрешений на выполнение .

Как только вы это сделаете, введите exit , чтобы выйти из удаленного терминала. Отсюда вам нужно вернуться к локальному репозиторию Git в Терминале.

4. Добавьте удаленную ссылку в свой локальный репозиторий и отправьте свои локальные изменения в реальном времени

Здесь вернитесь к локальному репозиторию Git, используя команду cd по мере необходимости. Вам нужно добавить ссылку на удаленный сервер, чтобы оба репозитория Git могли взаимодействовать друг с другом. Вы сделаете это с помощью следующей команды:

git remote add origin ssh://[email protected]/~/remoterepo.git

Точный URL-адрес репозитория Git будет зависеть от местоположения, которое вы обнаружили на последнем шаге. Конечно, ваши учетные данные пользователя и сервера заменят здесь заполнители.

Запустите эту команду, затем приготовьтесь отправить локальные изменения на ваш рабочий сервер. Следующая команда сделает это без подтверждения, поэтому убедитесь, что вы хотите это сделать:

git push -u origin main

Вы увидите, что Терминал отобразит сводку подтверждения…

 Counting objects: 12, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/1), done. Writing objects: 100% (13/13), 1200 bytes | 0 bytes/s, done. Total 12 (delta 0), reused 0 (delta 0)

…и на этом этапе вы можете проверить свой работающий сайт — изменения должны присутствовать и быть правильными.

В итоге

Работа над своим сайтом является необходимой и часто ежедневной задачей. Использование локальной среды — типичный способ сделать это, но есть проблема — как внести эти изменения в ваш работающий сайт без ошибок и с наименьшими трудностями?

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

Как вы думаете, вы будете использовать Git, чтобы вносить изменения на локальном сайте? Дайте нам знать ваши мысли в разделе комментариев ниже!