Можно использовать git хук post-merge:
https://gist.github.com/yarkovaleksei/597b2e1dcfe6...
Суть в том, что после обновления ветки хук смотрит менялся ли файл package.json и если да, то вызывает npm install.
А если дев окружение в докере поднимается, то просто в Dockerfile в CMD пишем npm install и выполняем каждый раз при запуске контейнера. Если ничего не менялось, то ничего и не установится.