Как редактировать отдельные модули, которые подтянуты с помощью composer, чтобы изменения тоже были под управлением версий (Git)

Пусть есть ситуация:

  • Вы разрабатываете проект, в котором с помощью composer подтянут ряд библиотек.
  • Как известно, эти библиотеки загружаются в папку vendor/, изменений которой системой версии обычно игнорируются (так настраивают).

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

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

composer install

-- ясно, что для этого надо обновить репозиторий, в котором хранится пакет/или же из которого разработчики вносят в пакет обновления -- отладку же новых изменени можно проводить редактируя содержимое папки vendor/

Вносить новое можно сделать следующими способами (предполагается, что везде используются open source код, то есть в теории его как-то можно поправить):

  • Если у вас нет прямого доступа на правку -- то нужно делать pull request (если это гитхаб) -- отельная тема
  • Если у вас есть доступ к репозиторию, содержащему пакет (который вы поправили у себя на машине в vendor/):
    • Клонируйте этот репозиторий (git clone) в отдельную папку (если ещё нет -- на локальной машине)
    • Создайте проект в вашей IDE чисто для данного пакета (если ещё нет -- на локальной машине)
    • Перенесите в него изменения из vendor (каждый раз для новых изменений)
    • Опубликуйте изменения (gacp) (каждый раз для новых изменений)

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

    Key Words for FKN + antitotal forum (CS VSU):