Ответ 1
Добавьте это
node_modules/
to .gitignore
, чтобы игнорировать все каталоги, называемые node_modules
в текущей папке, и любые подпапки
У меня есть проект, содержащий несколько других проектов:
Все, содержащие папку node_modules
. Я хочу, чтобы git игнорировал папку независимо от того, где она начинается с корневой папки. Что-то вроде этого добавить в .gitignore:
*node_modules/*
Добавьте это
node_modules/
to .gitignore
, чтобы игнорировать все каталоги, называемые node_modules
в текущей папке, и любые подпапки
Используйте универсальный однострочный в терминале в каталоге проекта:
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 больше не отслеживает его.
Прежде всего, добавьте файл .gitignore
в мое приложение. Как на изображении ниже.
и затем добавьте это в свой файл .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*
Попробуйте сделать что-то вроде этого
**/node_modules
**
используется для рекурсивного вызова во всем проекте
Две последовательные звездочки ("**") в шаблонах, сопоставленные с полным путем, могут иметь особое значение:
Ведущий "", за которым следует косая черта, означает совпадение во всех каталогах. Например, "/foo" соответствует файлу или каталогу "foo" в любом месте, так же, как шаблон "foo". "**/foo/bar" соответствует файлу или каталогу "bar" в любом месте, которое находится непосредственно в каталоге "foo".
Трейлинг "/" соответствует всему внутри. Например, "abc/" сопоставляет все файлы в каталоге "abc" относительно расположения файла .gitignore с бесконечной глубиной.
Косая черта, за которой следуют две последовательные звездочки, затем косая черта соответствует нулю или нескольким каталогам. Например, "a/**/b" соответствует "a/b", "a/x/b", "a/x/y/b" и т.д.
Другие последовательные звездочки считаются недействительными.
Создайте файл .gitignore в корневой папке напрямую с помощью редактора кода или по команде
Для Mac & Linux
touch .gitignore
Для Windows
echo .gitignore
открыть .gitignore объявить папку или имя файла, как это /foldername