Проверяем код форка PHP & composer (если проект является пакетом) -- как запустить

Если вы используете композер и сделали форк, ради последующего пулл-реквеста и хотите предварительно проверить изменения (а затем уже сделать сам пулл-реквест), то действуйте так:

    Правки в форке для проверки

  1. Меняем имя пакета: задайте в composer.json новое имя в соответствии с форматом, например:
    "name": "cooluser/bestlibrary"

    -- коммитим и делаем push (можно сразу gacp).

    Теперь сам форк уже готов к загрузке в приложение, далее будем говорить о правках в приложении, в которое нужно подтянуть этот форк.

  2. Правки в приложении

  3. Далее, так как загрузка будет идти из репозитория, необходимо явно указать адрес вашего vcs репозитория (или добавить к имеющимся репозиториям, если они уже есть в composer.json) в composer.json вашего проекта.
  4. Вместо оригинального имени пакета, от которого вы и сделали форк, указываем в зависимостях (секция "require") нашего проекта имя пакета, которое мы дали выше нашему форку (напр. "cooluser/bestlibrary"), в качестве требуемой версии пакета укажите в compser.json версию dev-master (она будет соответствовать ветке мастер git-репозитория) вашего пакета (форка).
  5. выполните в вашем проекте команду composer update, чтобы обновить зависимость и подгрузить заменяющий код.
  6. Всё! Можно проверять работу, но если вам нужно сделать пулл-реквест, продолжайте читать далее ;)
  7. Пулл-реквест после проверки форка

  8. Используйте идеи этого алгоритма действий по работе с форками php + composer.

    Возврат к оригинальному пакету

  9. Если вы хотите вернуться к оригинальному пакету -- просто укажите его в зависимостях вместо вашего репозитория-форка (ранее добавленный vcs репозиторий удалять из composer.json вашего проекта не обязательно -- он может пригодиться, если вы почему-либо решите снова переключиться на форк), версия оригинального пакета выбирается исходя из обстоятельств.

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