И чем это принципиально отличается от коммита node_modules?
Тем что в node_modules мусор, там есть бинари, там есть библиотеки которые не попадают в конечную сборку приложения. То есть если я использую vue + cypress (e2e testing). То в node_modules будет 2>k зависимостей, а для того, чтобы собрать приложение нужно только vue.