Respostas:
Adicione isso
node_modules/
para .gitignorearquivo para ignorar todos os diretórios chamados node_modulesna pasta atual e todas as subpastas
Use o one-liner universal no terminal no diretório do projeto:
toque em .gitignore && echo "node_modules /" >> .gitignore && git rm -r --cached node_modules; status git
Funciona não importa se você criou um .gitignoreou não, não importa se você adicionou node_modulesao git tracking ou não.
Em seguida, confirme e envie as .gitignorealterações.
Explicação
touchirá gerar o .gitignorearquivo se ele ainda não existir.
echoe >>será acrescentado node_modules/no final de .gitignore, fazendo com que a node_modulespasta e todas as subpastas sejam ignoradas.
git rm -r --cachedremove a node_modulespasta do controle git se ela foi adicionada anteriormente. Caso contrário, isso exibirá um aviso pathspec 'node_modules' did not match any files, que não tem efeitos colaterais e você pode ignorar com segurança. Os sinalizadores fazem com que a remoção seja recursiva e incluem o cache.
git statusexibe as novas alterações. Uma alteração para .gitignoreaparecerá, enquanto node_modulesnão aparecerá, pois não está mais sendo rastreada pelo git.
touchnão deve ser necessário aqui: >>criará o arquivo se ele não existir.
touché preciso. >>retornará no such file or directory: .gitignorecaso contrário.
echo "node_modules/" > .gitignoredeve criar um novo arquivo com o conteúdo original, usando >> Anexa texto para o final do actual especificado arquivo
Tente fazer algo assim
**/node_modules
** é usado para uma chamada recursiva em todo o projeto
Dois asteriscos consecutivos
**em padrões correspondentes ao nome completo do caminho podem ter um significado especial:Uma liderança
**seguida por uma barra significa correspondência em todos os diretórios. Por exemplo,**/foocorresponde a um arquivo ou diretório emfooqualquer lugar, o mesmo que padrãofoo.**/foo/barcorresponde arquivo ou pastabarem qualquer lugar que está diretamente sob o diretóriofoo.Um final
/**corresponde a tudo por dentro. Por exemplo,abc/**corresponde a todos os arquivos dentro do diretórioabc, relativos ao local do arquivo .gitignore, com profundidade infinita.Uma barra seguida por dois asteriscos consecutivos e uma barra corresponde a zero ou mais diretórios. Por exemplo,
a/\**/bjogosa/b,a/x/b,a/x/y/be assim por diante.Outros asteriscos consecutivos são considerados inválidos.
node_modules/?
Primeiro e mais importante é adicionar .gitignorearquivo no meu aplicativo. Assim na imagem abaixo.
e depois adicione isso no seu .gitignorearquivo
/node_modules
Você também pode adicionar outros arquivos para ignorá-los para serem empurrados no github. Aqui estão mais alguns arquivos mantidos em .gitignore. Você pode adicioná-los de acordo com sua exigência. #é apenas uma maneira de comentar no arquivo .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*
Crie o arquivo .gitignore na pasta raiz diretamente pelo editor de código ou pelo comando
Para Mac e Linux
toque em .gitignore
Para Windows
echo .gitignore
abra .gitignore declare o nome da pasta ou arquivo como este / foldername
A adição da linha abaixo no .gitignore ignorará os módulos do nó de todo o repositório.
node_modules
Adicione abaixo da linha ao seu .gitignore
*/node_modules/*
Isso ignorará todos os node_modules em seu diretório atual e também no subdiretório.
você também pode fazer isso com o SVN / Tortoise git.
apenas clique com o botão direito do mouse em node_modules -> Tortoise git -> add to ignore list.
Isso irá gerar .gitIgnore para você e você não encontrará a pasta node_modules na preparação novamente.
**node_modules
Isso funciona para mim
abordagem recursiva para ignorar todos os node_modules presentes nas subpastas