Git – Negeer de map node_modules overal

Ik heb een project dat meerdere andere projecten bevat:

  • Hoofdproject
    • Miniproject 1
    • Miniproject 2

Alle bevatten de map node_modules. Ik wil dat git de map negeert, ongeacht waar het begint vanuit de hoofdmap. Iets als dit om toe te voegen in .gitignore :

*node_modules/*

Antwoord 1, autoriteit 100%

Voeg dit toe

node_modules/

naar .gitignore-bestand om alle mappen met de naam node_modulesin de huidige map en eventuele submappen te negeren


Antwoord 2, autoriteit 21%

Gebruik de universele one-linerin terminal in de projectdirectory:

raak .gitignore && echo “node_modules/” >> .gitignore && git rm -r –cached node_modules ; git-status

Het werkt ongeacht of je een .gitignorehebt gemaakt of niet, het maakt niet uit of je node_moduleshebt toegevoegd aan git-tracking of niet.

Bevestig en push dan de .gitignorewijzigingen.

Uitleg

touchzal het bestand .gitignoregenereren als het nog niet bestaat.

echoen >>voegen node_modules/toe aan het einde van .gitignore, waardoor de node_modulesmap en alle submappen die moeten worden genegeerd.

git rm -r --cachedverwijdert de map node_modulesuit git control als deze eerder was toegevoegd. Anders zal dit een waarschuwing tonen pathspec 'node_modules' did not match any files, die geen bijwerkingen heeft en die je veilig kunt negeren. De vlaggen zorgen ervoor dat de verwijdering recursief is en bevatten de cache.

git statusgeeft de nieuwe wijzigingen weer. Een wijziging in .gitignorezal verschijnen, terwijl node_modulesniet zal verschijnen omdat het niet langer wordt gevolgd door git.


Antwoord 3, autoriteit 5%

Probeer zoiets als dit te doen

**/node_modules

**wordt gebruikt voor een recursieve aanroep in het hele project

Twee opeenvolgende sterretjes **in patronen die overeenkomen met de volledige padnaam kunnen een speciale betekenis hebben:

Een leidende **gevolgd door een schuine streep betekent overeenkomst in alle mappen. Bijvoorbeeld, **/fookomt overal overeen met bestand of directory foo, hetzelfde als patroon foo. **/foo/barkomt overeen met bestand of directory baroveral direct onder directory foo.

Een afsluitende /**komt overeen met alles binnenin. abc/**komt bijvoorbeeld overeen met alle bestanden in directory abc, relatief aan de locatie van het .gitignore-bestand, met oneindige diepte.

Een schuine streep gevolgd door twee opeenvolgende sterretjes en een schuine streep komt overeen met nul of meer mappen. a/\**/bkomt bijvoorbeeld overeen met a/b, a/x/b, a/x/y/benzovoort.

Andere opeenvolgende sterretjes worden als ongeldig beschouwd.

Opmerking –

Waarom deze aanpak beter is dan node_modules/

De **werkt als een recursief patroon. Het is handig in monorepo-projecten waar je node_modules in submappen hebt. **zoekt naar alle node_modules in de directory & negeer ze.

Referentie


Antwoord 4, autoriteit 3%

Eerst en vooral is het toevoegen van een .gitignore-bestand in my-app. Like dus in onderstaande afbeelding.

en voeg dit vervolgens toe aan je .gitignorebestand

/node_modules

Opmerking

Je kunt ook andere bestanden toevoegen om ze te negeren om op github te worden gepusht. Hier zijn nog enkele bestanden die in .gitignore worden bewaard. U kunt ze toevoegen volgens uw behoefte. #is slechts een manier om commentaar te geven in een .gitignore-bestand.

# 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*

Antwoord 5

Het toevoegen van de onderstaande regel in .gitignore negeert node-modules uit de hele repository.

node_modules


Antwoord 6

Maak .gitignore-bestand rechtstreeks in de hoofdmap met de code-editor of met een opdracht

Voor Mac & Linux

raak .gitignore aan 

Voor Windows

echo >.gitignore 

open .gitignoreverklaar de map- of bestandsnaam zoals deze /mapnaam


Antwoord 7

**node_modules

Dit werkt voor mij

recursieve benadering om alle node_modules in submappen te negeren


Antwoord 8

het maakt automatisch een .gitignore-bestand aan, zo niet, maak dan een bestandsnaam .gitignoreaan
en voeg exemplaar en amp toe; Plak de onderstaande code

# dependencies
/node_modules
/.pnp
.pnp.js
# 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*

Hieronder staan ​​alle onnodige bestanden

Zie https://help.github.com/articles/ignoring- Bestanden / voor meer informatie over het negeren van bestanden.

en sla de .gitignorebestand op en u kunt uploaden


Antwoord 9

Voeg onder de lijn toe aan uw .gitignore

*/node_modules/*

Hiermee negeert u alle Node_Modules in uw huidige map en subdirectory.


Antwoord 10

U kunt het ook met SVN / Tortoise Git doen.

Klik met de rechtermuisknop op Node_Modules – & GT; Tortoise Git – & GT; Voeg toe aan Negeer lijst.

Hiermee genereert u .Gitignore voor u en u vindt geen map Node_modules in Staging opnieuw.


Antwoord 11

Voeg gewoon verschillende .gitignore-bestanden toe aan Mini Project 1 en Mini Project 2. Elk van de .gitignore-bestanden moeten / node_modules en je bent goed om te gaan.


Antwoord 12

Als uw subproject / clientnode_modules wordt gepleegd,

   # dependencies
    /node_modules
    /.pnp
    .pnp.js
    # 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*

Voeg vervolgens “Node_Modules” toe bij de laatste regel.

   # dependencies
    /node_modules
    /.pnp
    .pnp.js
    # 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 
    # ------ Up Here ------

Antwoord 13

vijand van degenen die de bovenstaande antwoorden proberen en nog steeds met het probleem worden geconfronteerd

Ik heb uiteindelijk bijna alle antwoorden geprobeerd, het loste mijn probleem op met het negeren van node_modules, maar pas nadat ik de wijzigingen had doorgevoerd!

Other episodes