# Настройка сброки плагина для IntellijIDEA ## Загрузка исходного кода `git clone https://github.com/Wani4ka/PrisonAPI.git` ## Импорт в IntellijIDEA 1. New project from Existing Sources 2. В папке, которая была создана при написании команды `git clone`, выбрать pom.xml 4. Нажать Next 6. Finish 7. Если IDEA спросит про импортирование настроек, согласиться. 8. Открыть настройки IDEA - Build, Execution, Deployment - Build Tools - Maven - Runner 9. Поставить галочку Delegate IDE build/run actions to gradle 10. Снять галочку Run in background 11. Закрыть настройки IDEA и открыть настройки проекта (Project Structure) 12. Во вкладке Project выбрать Project language level как 8 13. Закрыть настройки и собрать проект 14. jar файл плагина можно найти в папке /target. ## Отправка изменений `git push` Тут возможны несколько случаев: * Во внешнем репозитории не было изменений, которые опережали бы текущие изменения. В этом случае отправка произойдет успешно. * Во внешнем репозитории были изменения, которых нет в локальном. В этом случае нужно сначала получить изменения, которых нет в локальном репозитории (см. ниже). ## Получение изменений ### Проверяем текущий статус `git status` Если незафиксированных изменений нет, переходим к следующему шагу. Если имеются изменения, нужно сначала их зафиксировать: `git add .` `git commit -m "%Сообщение%"` ### Получаем изменения `git pull` Тут возможны несколько случаев: * В локальном репозитории не было изменений и в этом случае все изменения будут просто стянуты из внешнего репозитория. * В локальном репозитории были зафиксированные изменения, которых не было во внешнем, и они не конфликтуют с изменениями во внешнем. В этом случае Git автоматически сольет изменения и откроет редактор, где попросит ввести название новой фиксации, которая будет результатом слияния изменений внешнего и локального репозитория. * В локальном репозитории были зафиксированные изменения и эти изменения конфликтуют с изменениями во внешнем репозитории. Такая ситуация возникает, когда в разных фиксациях были отредактированы одинаковые участки файлов. В этом случае Git не может определить, какое редактирование приоритетнее и предоставляет пользователю сделать это вручную. После исправления всех конфликтов, нужно сделать коммит, чтобы зафиксировать результат слияния.