Заметки обо всем

Отменить последний коммит в git

Отменить последний коммит в git

Никак не могу запомнить, а использовать приходится часто.

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

git reset HEAD~

Если же нужно отменить и коммит и изменения, делаем:

git reset --hard HEAD~

Все это, конечно касается только коммитов, которые еще не запушены в репозиторий.

Привязка бранча к другому remote

Для привязки бранча к другому репозиторию выполняем:

git branch your_branch_name --set-upstream-to your_remote/your_branch_name

Laravel Valet и 502

При обновлении глобальных зависимостей composer или пакетов brew, связвнных с разработкой, приложения, использующие Valet могут перестать работать с ошибкой 502.

Решить проблему в этом случае может помочь запуск:

valet install

Фикс IDE Support для Lighthouse

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

Проблема следующая: при установке Lighthouse и генерации файлов для поддержки этого пакета в IDE, PHPStorm перестает различать директивы. Выглядит примерно так:

(далее…)

Настройка Postman для работы с Laravel Passport

Настройка Passport в заметке не рассматривается. Рассматривается кейс, когда Passport установлен для авторизации приложения-монолита в режиме, при котором авторизация api-запросов фронта просходит с помощью сессий и токены Passport не выпускаются, однако, есть необходимость подключить Postman.

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

(далее…)

Postman, Laravel, form-data и PUT

Недавно пришлось писать API на Laravel, причем только бекенд. Вот тогда-то я в полной мере и оценил, насколько хорош Postman для тестирования API в процессе разработки.

Однако, есть один момент, который немного подпортил впечатления: Postman отправляет объект form-data, в том числе файлы, только методом POST. А Laravel в свою очередь, при операции update ждет данные методом PUT/PATCH.

Решение: в параметрах запроса добавляем _method: PUT

Как исправить уже "запушенный" коммит

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

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

Как делается:

git commit --amend -a

Коммитим изменения. Откроется редактор, сохраняем коммит мессадж.
После этого делаем:

git push -f origin HEAD

Curl и запросы между приложениями в Valet

Столкнулся со следующей проблемой: Curl/Guzzle/Laravel не может отправлять запросы между Laravel-приложениями в Valet.

Ошибка:

cURL error 6: Could not resolve: app.test (Domain name not found)

Наиболее часто предлагаемое решение: прописать в DNS macOS первым значением 127.0.0.1, мне не подошло, так как ломает VPN.

Решил, удалив пакет curl-openssl:

brew uninstall curl-openssl --ignore-dependencies
valet restart

Изменяем дефолтную папку для моделей Laravel

В Laravel модели по умолчанию генерируются в корень директории app, что по ряду причине не удобно и идет в разрез с обычной логикой постоения структуры приложния.

Сегодня мы будем изменять дефолтную папку для моделей на /app/Models.

(далее…)

Создание команды git hist — красивый лог коммитов

Для того, чтобы каждый раз не вводить длинные команды для отображения истории коммитов git, сделаем алиас:

(далее…)