2011-09-30 10 views
6

मुझे पता है कि निर्देशिकाओं को अनदेखा करने के तरीके पर कई सवाल हैं, और मुझे आमतौर पर अब तक कोई समस्या नहीं है, लेकिन अब मैं कुछ समझ गया हूं जिसे मैं समझ नहीं पा रहा हूं।गिट एक निर्देशिका में सभी फ़ाइलों को अनदेखा क्यों करता है?

/src 
/war 
    com.example.MyProject/ 
    WEB-INF/ 
    classes/ 
    deploy/ 
    lib/ 

मैं निर्देशिका classes/, deploy/ और com.example.MyProject/ की सामग्री पर ध्यान चाहते हैं, और यहाँ है मेरी .gitignore फ़ाइल:

यहाँ मेरी निर्देशिका संरचना है

*.log 
war/WEB-INF/classes/ 
war/WEB-INF/deploy/ 
com.example.MyProject/ 

फ़ाइल के अंतर्गत com.example.MyProject/ स्वचालित रूप से कर रहे हैं उत्पन्न, और गिट com.example.MyProject.nocache.js नाम की एक फ़ाइल को छोड़कर उन सभी को अनदेखा करता है। वास्तव में, जब मैं git status करना मुझे मिलता है:

# On branch myBranch 
# Changed but not updated: 
# (use "git add <file>..." to update what will be committed) 
# 
#  modified: .gitignore 
#  ...... 
#  modified: war/com.example.MyProject/com.example.MyProject.nocache.js 

क्यों Git कि निर्देशिका में है कि एकल फाइल की अनदेखी करने के लिए मना कर दिया है? मैं क्या गलत कर रहा हूं?

उत्तर

5

यदि फ़ाइल को पहले से ही गिट द्वारा ट्रैक किया जा रहा है, तो फ़ाइल को .gitignore पर जोड़ने से गिट को इसे ट्रैक करने से नहीं रोका जाएगा। फ़ाइल को अपने पेड़ में रखने के लिए आपको git rm --cached <file> करने की आवश्यकता होगी और फिर इसे

+0

गूंगा मुझ से हटा दिया जाता है! जो पिछली प्रतिबद्धता में गलती से जोड़ दिया गया था: मुझे बस इसे हटाना पड़ा। धन्यवाद! – MarcoS

+0

और उदाहरण के लिए उपयोगकर्ता प्रोजेक्ट> टीम> अनट्रैक के लिए, यह उस फ़ोल्डर में सभी फ़ाइलों को हटा देगा (उन्हें अनचाहे कर देगा) फिर पूरक स्पष्टीकरण के लिए –

5

अगर फ़ाइल को इंडेक्स में पहले ही जोड़ा जा चुका है, तो यह अभी भी वहां रहेगा, भले ही आप इसे .gitignore फ़ाइल में जोड़ दें।

Git सूचकांक से फ़ाइल को हटाने का प्रयास करें:

git rm --cached war/com.example.MyProject/com.example.MyProject.nocache.js 

--cached विकल्प सुनिश्चित करें कि फ़ाइल अपने फ़ोल्डर में रहता है बनाता है और सिर्फ सूचकांक

+1

+1 बदलें: "- कैश किया गया विकल्प यह सुनिश्चित करता है कि फ़ाइल आपके भीतर रहती है फ़ोल्डर और सूचकांक से हटा दिया जाता है "। –

संबंधित मुद्दे