Git - नोड_मॉडल्स फ़ोल्डर को हर जगह अनदेखा करें


367

मेरे पास एक परियोजना है जिसमें कई अन्य परियोजनाएं हैं:

  • मुख्य परियोजना
    • मिनी परियोजना 1
    • मिनी परियोजना २

सभी युक्त node_modulesफ़ोल्डर। मैं फ़ोल्डर को अनदेखा करना चाहता हूं, चाहे वह रूट फ़ोल्डर से शुरू हो रहा हो। कुछ इस तरह से .gitignore में जोड़ने के लिए:

*node_modules/*

जवाबों:


747

इसे जोड़ो

node_modules/

वर्तमान फ़ोल्डर और किसी भी सबफ़ोल्डर में .gitignoreसभी निर्देशिकाओं को अनदेखा करने के लिए फ़ाइल करने के लिएnode_modules


कर्म के लिए ग्लोब पथ क्या होगा, इसमें शामिल नहीं है?
SuperUberDuper

7
नोडज के लिए gitignore टेम्प्लेट के लिए: github.com/github/gitignore/blob/master/Node.gitignore
जेवियर एगिया

8
यदि आप पहले git_modules फ़ोल्डर को git में जोड़ चुके हैं तो @ एंड्रयूश्रेबर का उत्तर देखें। आपको इसे "git rm -r --cached node_modules" से कैश से निकालना होगा।
कैस्पर

176

प्रोजेक्ट डायरेक्टरी में टर्मिनल में यूनिवर्सल वन-लाइनर का उपयोग करें :

स्पर्श .itignore && इको "नोड_मॉडल /" >> .itignore && git rm -r - कैशेड नोड_मॉड्यूल्स; गिट की स्थिति

यदि आपने .gitignoreकोई node_modulesट्रैकिंग बनाई है या नहीं, इससे कोई फर्क नहीं पड़ता कि आपने कोई ट्रैकिंग बनाई है या नहीं, इससे कोई फर्क नहीं पड़ता ।

फिर .gitignoreपरिवर्तनों को प्रतिबद्ध और धक्का दें ।

व्याख्या

touch.gitignoreयदि यह पहले से मौजूद नहीं है तो फ़ाइल उत्पन्न करेगा ।

echoऔर के अंत में >>जोड़ देगा , जिससे फ़ोल्डर और सभी सबफ़ोल्डर्स को अनदेखा किया जाएगा।node_modules/.gitignorenode_modules

git rm -r --cachednode_modulesयदि यह पहले जोड़ा गया था, तो इसे नियंत्रण से फ़ोल्डर को हटा दिया जाता है । अन्यथा, यह एक चेतावनी दिखाएगा pathspec 'node_modules' did not match any files, जिसका कोई दुष्प्रभाव नहीं है और आप सुरक्षित रूप से अनदेखा कर सकते हैं। झंडे हटाने के कारण पुनरावर्ती होते हैं और कैश को शामिल करते हैं।

git statusनए परिवर्तन प्रदर्शित करता है। एक परिवर्तन .gitignoreदिखाई देगा, जबकि node_modulesयह नहीं दिखाई देगा क्योंकि यह अब गिट द्वारा ट्रैक नहीं किया जा रहा है।


5
touchयहां जरूरी नहीं होना चाहिए: >>यदि यह मौजूद नहीं है तो फाइल बनाएंगे।
लायनेलो

touchजरूरत है। अन्यथा >>लौट आएंगे no such file or directory: .gitignore
एंड्रयू श्रेबर

1
हम्म, ओएस से ओएस
लियोनेलो

macOS को स्पर्श की आवश्यकता नहीं लगती है
Carles Alcolea

echo "node_modules/" > .gitignoreएक बनाना चाहिए नई मूल सामग्री के साथ फ़ाइल, का उपयोग कर >> संलग्न कर देता है मौजूदा निर्दिष्ट फ़ाइल के अंत पर पाठ
chrisz

28

कुछ ऐसा करने का प्रयास करें

**/node_modules

** पूरे प्रोजेक्ट में पुनरावर्ती कॉल के लिए उपयोग किया जाता है

**पूर्ण पथनाम के विरुद्ध मिलान किए गए पैटर्न में लगातार दो तारांकन विशेष अर्थ हो सकते हैं:

एक **स्लैश के बाद एक अग्रणी का मतलब सभी निर्देशिकाओं में मेल खाता है। उदाहरण के लिए, **/fooफ़ाइल या निर्देशिका से fooकहीं भी मेल खाता है , पैटर्न के समान foo**/foo/barफ़ाइल या निर्देशिका से barकहीं भी मेल खाता है जो सीधे निर्देशिका के अंतर्गत है foo

एक अनुगामी /**सब कुछ अंदर मेल खाता है। उदाहरण के लिए, .ignignore फ़ाइल के स्थान के सापेक्ष, abc/**निर्देशिका के अंदर सभी फ़ाइलों abcको अनंत गहराई से मेल खाता है ।

एक स्लैश दो लगातार तारांकन के बाद फिर एक स्लैश शून्य या अधिक निर्देशिकाओं से मेल खाता है। उदाहरण के लिए, a/\**/bमैचों a/b, a/x/b, a/x/y/bऔर पर इतना।

अन्य लगातार तारांकन अमान्य माने जाते हैं।

संदर्भ


2
यह सही जवाब है।
राजा 12

यह समझाने की देखभाल करें कि यह दृष्टिकोण सरलता से बेहतर क्यों है node_modules/?
तनकोम

22

सबसे पहली और महत्वपूर्ण बात यह है कि .gitignoremy-app में फ़ाइल जोड़ें । नीचे इमेज में ऐसा है।

मूल फ़ोल्डर /। नोड_मॉडल्स की निर्देशिका में .ignignore रखो।

और इसके बाद इसे अपनी .gitignoreफ़ाइल में जोड़ें

/node_modules

ध्यान दें

आप उन्हें गितुब पर धकेलने के लिए उन्हें अनदेखा करने के लिए अन्य फ़ाइलों को भी जोड़ सकते हैं। यहाँ कुछ और फाइलें रखी गई हैं। आप अपनी आवश्यकता के अनुसार उन्हें जोड़ सकते हैं। #केवल .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*

आप .gitignore में निर्माण क्यों जोड़ेंगे?
सेबस्टियन नीलसन

6
@SebastianNielsen एक ही कारण है कि हम नोड_मॉड्यूल को ट्रैक नहीं करते हैं। आप निर्माण / संकलन करके प्राप्त करते हैं।
डैनियल फॉल्ट

8

सीधे कोड संपादक या कमांड द्वारा रूट फ़ोल्डर में .gitignore फ़ाइल बनाएँ

मैक और लिनक्स के लिए

 स्पर्श करना 

विंडोज के लिए

 प्रतिध्वनि 

खुले .itignore इस तरह के फ़ोल्डर / फ़ाइल नाम की घोषणा करता है


4

.OGignore में नीचे की पंक्ति को जोड़ने से पूरे रिपॉजिटरी से नोड मॉड्यूल को अनदेखा किया जाएगा।

node_modules

यहां छवि विवरण दर्ज करें


1
कैसे? यह केवल उसी फ़ोल्डर में नोड_मॉडल्स फ़ोल्डर को नजरअंदाज करेगा, जहां .itignore फ़ाइल मौजूद है
राजेंद्रन नादर

@ राजेन्द्रनधर धन्यवाद, मैं केवल यह पता लगाने की कोशिश कर रहा था कि मैं खुद बाहर हूं।
जैक बेनिम्बल

0

अपने .gitignore में नीचे पंक्ति जोड़ें

*/node_modules/*

यह आपकी वर्तमान निर्देशिका के साथ-साथ उपनिर्देशिका के सभी नोड_मॉड्यूल्स की अनदेखी करेगा।


ध्यान दें कि इस प्रश्न का पहले से ही स्वीकृत उत्तर है। कृपया अपने उत्तर को यह सुनिश्चित करने के लिए संपादित करें कि यह इस प्रश्न में पहले से मौजूद अन्य उत्तरों में सुधार करता है।
hongsy

0

आप इसे SVN / Tortoise git के साथ भी कर सकते हैं।

बस नोड_मॉड्यूल पर राइट क्लिक करें -> कछुआ गिट -> सूची को अनदेखा करने के लिए जोड़ें।

यह आपके लिए .gitIgnore उत्पन्न करेगा और आपको फिर से मंचन में नोड_मॉडल फ़ोल्डर नहीं मिलेगा।


0
**node_modules

यह मेरे लिए काम करता है

सब फ़ोल्डर्स में मौजूद सभी नोड_मॉड्यूल्स को अनदेखा करने के लिए पुनरावर्ती दृष्टिकोण

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.