Git - Игнорировать папку node_modules везде

У меня есть проект, содержащий несколько других проектов:

  • Основной проект
    • Мини-проект 1
    • Мини-проект 2

Все, содержащие папку node_modules. Я хочу, чтобы git игнорировал папку независимо от того, где она начинается с корневой папки. Что-то вроде этого добавить в .gitignore:

*node_modules/*

Ответ 1

Добавьте это

node_modules/

to .gitignore, чтобы игнорировать все каталоги, называемые node_modules в текущей папке, и любые подпапки

Ответ 2

Используйте универсальный однострочный в терминале в каталоге проекта:

touch.gitignore && echo "node_modules/" >>.gitignore && git rm -r --cached node_modules; git status

Он работает независимо от того, создали ли вы .gitignore или нет, независимо от того, добавили ли вы node_modules в отслеживание git или нет.

Затем подтвердите изменения и нажмите .gitignore.

Объяснение

touch сгенерирует файл .gitignore, если он еще не существует.

echo и >> добавят node_modules/ в конце .gitignore, в результате чего папка node_modules и все подпапки будут игнорироваться.

git rm -r --cached удаляет папку node_modules из управления git, если она была добавлена ранее. В противном случае будет отображено предупреждение pathspec 'node_modules' did not match any files, которое не имеет побочных эффектов, и его можно смело игнорировать. Флаги делают удаление рекурсивным и включают кеш.

git status отображает новые изменения. Появится изменение .gitignore, в то время как node_modules не появится, так как git больше не отслеживает его.

Ответ 3

Прежде всего, добавьте файл .gitignore в мое приложение. Как на изображении ниже.

Put .gitignore in the parent folder/directory of node_modules.

и затем добавьте это в свой файл .gitignore

/node_modules

Примечание

Вы также можете добавить другие файлы, чтобы игнорировать их, чтобы они были отправлены на github. Вот еще несколько файлов, хранящихся в .gitignore. Вы можете добавить их по вашему требованию. # - это просто способ комментировать в файле .gitignore.

# See https://help.github.com/ignore-files/ for more about ignoring files.

# dependencies
/node_modules

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*

Ответ 4

Попробуйте сделать что-то вроде этого

**/node_modules

** используется для рекурсивного вызова во всем проекте

Две последовательные звездочки ("**") в шаблонах, сопоставленные с полным путем, могут иметь особое значение:

Ведущий "", за которым следует косая черта, означает совпадение во всех каталогах. Например, "/foo" соответствует файлу или каталогу "foo" в любом месте, так же, как шаблон "foo". "**/foo/bar" соответствует файлу или каталогу "bar" в любом месте, которое находится непосредственно в каталоге "foo".

Трейлинг "/" соответствует всему внутри. Например, "abc/" сопоставляет все файлы в каталоге "abc" относительно расположения файла .gitignore с бесконечной глубиной.

Косая черта, за которой следуют две последовательные звездочки, затем косая черта соответствует нулю или нескольким каталогам. Например, "a/**/b" соответствует "a/b", "a/x/b", "a/x/y/b" и т.д.

Другие последовательные звездочки считаются недействительными.

Ссылка

Ответ 5

Создайте файл .gitignore в корневой папке напрямую с помощью редактора кода или по команде

Для Mac & Linux

 touch .gitignore 

Для Windows

 echo .gitignore 

открыть .gitignore объявить папку или имя файла, как это /foldername