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_modules
in 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 .gitignore
hebt gemaakt of niet, het maakt niet uit of je node_modules
hebt toegevoegd aan git-tracking of niet.
Bevestig en push dan de .gitignore
wijzigingen.
Uitleg
touch
zal het bestand .gitignore
genereren als het nog niet bestaat.
echo
en >>
voegen node_modules/
toe aan het einde van .gitignore
, waardoor de node_modules
map en alle submappen die moeten worden genegeerd.
git rm -r --cached
verwijdert de map node_modules
uit 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 status
geeft de nieuwe wijzigingen weer. Een wijziging in .gitignore
zal verschijnen, terwijl node_modules
niet 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,**/foo
komt overal overeen met bestand of directoryfoo
, hetzelfde als patroonfoo
.**/foo/bar
komt overeen met bestand of directorybar
overal direct onder directoryfoo
.Een afsluitende
/**
komt overeen met alles binnenin.abc/**
komt bijvoorbeeld overeen met alle bestanden in directoryabc
, 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/\**/b
komt bijvoorbeeld overeen meta/b
,a/x/b
,a/x/y/b
enzovoort.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.
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 .gitignore
bestand
/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 .gitignore
aan
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 .gitignore
bestand 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!