Менеджер создания и управления задачами и todo-листами
-
Установите git на локальный компьютер:
- Для установки git на Ubuntu выполните команду:
$ sudo apt install git
- Для Mac просто в терминале вбейте:
$ git --version
- Если Git не установлен, вам будет предложено его установить.
- Если у вас Windows, то перейдите на страницу https://git-scm.com/download/win и загрузка запустится автоматически.
- Чтобы убедиться, что git установился корректно в командной строке выполните:
$ git --version
- Для установки git на Ubuntu выполните команду:
-
Настройте связь git c cервисом GitHub:
- Создайте локальную директорию (например C:\trello-rep) и перейдите в нее
- Запустите консоль внутри этой директории и выполните команду:
$ git clone https://github.com/Eliseev88/task-manager-trello
- Зайдите внутрь скаченного репозитория командой:
cd task-manager-trello
- Проверьте правильность адресов для чтения и записи командой:
$ git remote -v
- Результат должен быть:
origin https://github.com/Eliseev88/task-manager-trello (fetch) origin https://github.com/Eliseev88/task-manager-trello (push)
-
Проверьте свой компьютер на наличие необходимого ПО для старта проекта:
- Если на вашем компьютере уже установлены PHP и Composer, а также Node.js и npm, то вы можете сразу переходить к пункту 1
Проверить можно выполнив команды:
$ php -v $ composer --version $ node -v $ npm -v
- Вы также можете использовать Docker, Vagrant, OpenServer, Denwer или просто установленный локально php-сервер в связке с MySQL-сервером, главное чтобы на компьютере был установлен минимально-необходимый набор ПО.
- Если все необходимое ПО установлено, то запускаем терминал в директории с проектом и из ветки master выполняем дальнейшие шаги.
- Установите зависимости, прописанные в файле composer.json. Для этого выполните команду внутри директории с проектом:
$ composer install
- Далее установите npm-пакеты командой:
-
$ npm install
или$ yarn
в случае если вы используете yarn вместо npm
-
- Запустите сборку приложения командой:
$ npm run development
- Cоздай файл .env командой
cp .env.example .env
- Отредактируйте файл .env в соответствии с вашими настройками подключения к базе данных.
- Сгенерируйте ключи шифрования командой:
$ php artisan key:generate
- Запустите сервер командой:
$ php artisan serve
- Проект будет доступен по адресу http://127.0.0.1:8000/
Если при выполнении
$ composer install
возникла ошибка: Убедитесь, что в файле php.ini раскоментирована строчка:extension=php_fileinfo.dll
- Каждый разработчик должен создавать свои отдельные ветки и работать из под них.
Ветки нужны для того, чтобы вы могли вести совместную работу над проектом и не мешать друг другу при этом. Базовой веткой считается master. В ней содержится основной код приложения. Перед тем как взяться за решение какой-то задачи, вы должны завести новую ветку от последнего рабочего коммита мастер ветки и решать задачу в этой новой ветке. В ходе решения вы делаете ряд коммитов, после этого пушите изменения в удаленный репозиторий и создаете пулл-реквест. Не надо заводить себе именную ветку и работать всегда в ней, решая по одной задачи за раз. Так можно решать только одну задачу и нельзя быстро переключиться на решение другой задачи и ветки со временем будут все сильнее расходиться.
-
Для создания ветки и перехода на нее используется команда:
$ git checkout -b user-auth-branch
- Обратите внимания на нейминг названия ветки user-auth-branch - он должен отражать название того, над чем вы сейчас работаете. В данном примере из названия следует, что ветка создалась для работы над модулем аутентификации пользователя.
-
Для добавления файлов в git используйте команду:
$ git add file_name
-
$ git add .
- если файлов много
-
Пишите осмысленные коммиты, которые отражают в себе суть того, что было сделано
- Пример хорошего коммита:
$ git commit -m 'Добавлены HTML формы регистрации пользователя.'
- Пример хорошего коммита:
- После успешного слияния (merge) вашей текущей рабочей ветки с master на удаленном репозитории удаляйте уже не нужную текущую ветку и начинайте новую
- Перед началом работы, чтобы всегда иметь актуальный код из репозитория, выполните
$ git fetch
или$ git pull
в зависимости от ситуации. - Не забывайте выполнять
composer install
для подтягивания уже установленных зависимостей бэкенда другими разработчиками.
-
Для отправки изменений в проекте на сервер используйте команду:
$ git push -u origin your_branch_name
- Далее заходите через браузер на удаленный репозиторий и создавайте pull-request
- Не забывайте добавлять в .gitignore служебные файлы и директории, которые не нужны в репозитории
- После того, как ваш пулл-реквест будет просмотрен и дан код-ревью, нажимайте на merge и удаляйте ветку
Конфликты возникают при мердже веток если в этих ветках одна и та же строка кода была изменена по-разному или когда некий файл удален в одной ветке и отредактирован в другой. Тогда получается, что git не может сам решить какое из изменений нужно применить и он предлагает вручную решить эту ситуацию. Это замедляет работу с кодом в проекте. Чтобы избежать этого старайтесь распределять задачи так, чтобы связанные задачи не выполнялись одновременно различными разработчиками. Также необходимо договориться о каком-то конкретном стиле кода, чтобы не менять форматирование кода и вероятность того, что вы измените одну и ту же строчку станет ниже.
-
При попытки выполнить команду
git pull
получаем:
или на английскомerror: Ваши локальные изменения в указанных файлах будут перезаписаны при слиянии: routes/web.php
Файлы могут быть любые и несколько. Данная ошибка означает, что вами были внесены изменения в файл routes/web.php до выполнения командыerror: Your local changes to the following files would be overwritten by merge: routes/web.php
git pull
и поэтому содержимое этого файла на вашем локальном компьютере и в репозитории GitHub отличается. Решений данного конфликта может быть несколько в зависимости от ситуации:- Если вы действительно вносили изменения в этот файл и эти изменения для вас важны (вы хотите их сохранить), то выполняем команду
$ git pull --rebase --autostash
- Если вам не приципиальны ваши изменения и вы хотите просто перезаписать их, то выполняем команды
$ git rebase --hard HEAD
-
$ git pull
БУДЬТЕ АККУРАТНЫ ДАННАЯ КОМАНДА СОТРЕТ ВСЕ ВАШИ ДАННЫЕ ДО СОСТОЯНИЯ РЕПОЗИТОРИЯ GITHUB
- Если вы действительно вносили изменения в этот файл и эти изменения для вас важны (вы хотите их сохранить), то выполняем команду