Сайт на Laravel. Урок 4. Git

cover git

Привет! В этом цикле статей мы настраиваем удобное рабочее окружение и создаем приложение на laravel. В предыдущих постах мы рассмотрели работу docker и docker compose. А теперь пришло время поговорить о системе контроля версий git.

GIT

Git — это распределённая система управления версиями. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия вышла 7 апреля 2005 года. Подробнее можно прочитать на википедии или на сайте официальной документации.

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

В мире современной разработки программного обеспечения, git совершенно незаменимая штука. Научиться им пользоваться совершенно необходимо каждому программисту. Более того, контроль версий можно использовать вообще для любого вида деятельности. Будь то написание статей ля блога или рецептов приготовления еды.

Смысл git

Как мы будем пользоваться контролем версий? Представьте, что мы разрабатываем некий проект. Собственно, мы это и делаем. В самом начале у нас есть версия фреймворка, которая автоматически устанавливается через composer.

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

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

Удобно будет иметь контрольные точки. К которым мы сможем возвращаться, если захотим.

Такую возможность нам предоставит git. Более подробно мы поговорим об этом в отдельной статье. А сегодня настроим его на нашей рабочей и виртуальной машине и попробуем использовать.

Установка на Windows

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

Мы будем использовать git и на хост машине, и на виртуальной машине. Для того, чтобы доставлять код на сервер. А в будущем, мы будем использовать его для доставки кода на хостинг, где будет работать сайт. Поэтому настроим систему на виртуальном сервере сейчас, чтобы использовать такую же схему на боевом сервере.

Установка git на centos 7

Установка на виртуальную линукс машину также проста. В нашем распоряжении есть официальный репозиторий, поэтому мы можем использовать стандартную команду yum.

Но сначала проверим актуальное состояние пакетов в системе.

sudo yum update -y

Теперь установим последнюю рабочую версию.

sudo yum install git -y

Проверим версию программы и состояние установки.

git --version

Версия git 1.8.3.1
Версия git 1.8.3.1

Деплой кода на сервер

В прошлый раз мы создали необходимые сервера на нашей виртуальной машине с помощью docker compose. В том числе у нас есть файл index.php, который располагается в каталоге /www/ и доступен через apache сервер на 8001 порту.

Мы будем разрабатывать код на локальной машине, но тестировать его на виртуальном сервере. Поэтому мы должны доставлять код из нашего локального каталога в папку /www/html/ на сервере. Попробуем это сделать.

Github

Для этого нам потребуется сервер для обмена файлами. Также я хочу сделать этот проект публично доступным, поэтому я буду использовать сайт github.com. И создам на нем публичный репозиторий для этого проекта.

В первом уроке мы установили laravel в рабочий каталог. Давайте теперь обновим нашу директорию на виртуальном сервере из локального каталога через github.

Наш сервер пока не настроен на работу с laravel. Поэтому создадим тестовый каталог и файл index.php в нем.

Откроем терминал, перейдем в корневой каталог проекта и запустим git. Команда git init создаст локальный репозиторий нашего проекта, который мы сможем передать на удаленное хранилище.

git init
git init

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

git add --all

Или все файлы из текущего каталога командой

git add .

Но сейчас мы добавим только один каталог test

git add test

git add test
git add test

Теперь каталог test и файл index.php готовы для сохранения в нашем локальном репозитории. Проверить, что файл добавлен можно командой git status.

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

git commit -m "first commit"

git commit -m "first commit"
git commit -m "first commit"

В комментарии укажем на внесенные в проект изменения.

Теперь локальный проект готов к синхронизации с github.

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

git remote add github https://github.com/valentinovaletta/millionsubscribers.git

Проверим результат командой

git remote -v

git remote -v
git remote -v

Ну и наконец внесем изменения на github используя команду push

git push github master

Проверим на сайте, появились ли новые файлы.

https://github.com/valentinovaletta/millionsubscribers.git
https://github.com/valentinovaletta/millionsubscribers.git

Отлично, наш локальный репозиторий синхронизировался с сайтом github. Теперь загрузим изменения на наш виртуальный сервер и проверим работу вебсервера.

Git clone

На виртуальном сервере у нас уже установлен клиент git, а также запущены образы docker. В каталоге /www/ находятся файлы присоединенные к вебсерверу. Распакуем наш проект с гитхаба в этот каталог, чтобы увидеть изменения в браузере.

Для этого заходим на виртуальный сервер и переходим в каталог /www/ и выполняем команду git clone

git clone https://github.com/valentinovaletta/millionsubscribers.git www

После выполнения команды в каталоге /www/ появится наш подкаталог тест. И если мы перейдем на страницу http://192.168.0.107:8001/test/ в браузере хост машины, то увидим наш index.php файл.

http://192.168.0.107:8001/test/
http://192.168.0.107:8001/test/

Заключение

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

До того, как вы уйдете, посмотрите наши статьи и уроки про Ардуино. Например, подключение OLED дисплея к Ардуино.

Добавить комментарий

Ваш адрес email не будет опубликован.