Вообще ситуация выглядит странно и
node_modules скорее всего из репозитория надо убирать. Далее по сути вопроса.
Для того, чтобы новые модули не отслеживались гитом самый простой вариант добавить их игнорирование для конкретного репозитория (будет работать только для вашего локального репозитория) в файл
.git/info/exclude написать:
node_modules/*
Также, для решения этой задачи можно устанавливать модули в другие папки, варианты см. в
документации, их много, приводить не буду.
Сложнее в случае, если вы изменяете уже отслеживаемые гитом файлы модулей. Чтобы ваши изменения не отслеживались гитом можно сказать ему, чтобы он игнорировал изменения в них. Для этого есть
команда git update-index --skip-worktree <path>
. Можно выполнить ее сразу для всех файлов в папке
node_modules, а можно выборочно только для тех которые фактически изменены.
# для всех
git ls-files node_modules | xargs git update-index --skip-worktree
# для измененных
git ls-files -m node_modules | xargs git update-index --skip-worktree
git ls-files node_modules
- выводит список файлов, отслеживаемых гитом в папке
node_modules, с ключом
-m только те, которые модифицированы.
xargs
- выполняет соответствующую команду для каждого из этих файлов.