2015-03-27 9 views
9

फ़ोल्डर में abc~1, 123~1, a1d2~3 जैसे फ़ाइल नामों वाली फ़ाइलें शामिल हैं।tilde, '~' नाम वाली फ़ाइलों को जोड़ने में असमर्थ

जब मैं कर git add --all यह कहते हैं,

$ git add --all 
error: Invalid path 'abc~1.png' 
error: unable to add abc~1.png to index 
fatal: adding files failed 

मैं एक परीक्षण और त्रुटि किया था और मैंने पाया यह त्रुटि बनी रहती है केवल जब टिल्ड प्रतीक एक संख्या से पीछा किया जाता है।

फ़ोल्डर पहली बार के लिए Git द्वारा पता लगाया जाता है, तो अन्य फ़ाइलों को भी Git द्वारा ट्रैक नहीं कर रहे हैं।

$ git clean --dry-run 
Would remove Rest.png 
Would remove abc~1.png 

कृपया इस समस्या को ठीक करने में सहायता करें।

+0

क्या आप वाकई भी उनके नाम में ~ के साथ उन सभी फ़ाइलों को जोड़ने के लिए चाहते हैं? लगता है कि संपादक मेरे लिए अस्थायी फ़ाइलें उत्पन्न .. –

+0

हाँ, फ़ाइल नामों के साथ उन छवियों (एबीसी ~ 1.png) जावा कोड में किया जाता है। – SabareeshSS

उत्तर

15

यह एक परिवर्तन यह है कि Git in December 2014 msys लिए बनाया गया था का परिणाम है।

विंडोज 'डिफ़ॉल्ट फ़ाइल सिस्टम, FAT और NTFS पर, डॉस शैली 8.3 फ़ाइल नाम पश्च संगतता के लिए समर्थित हैं। इसका मतलब है कि एक ही फ़ाइल को संदर्भित करने के लिए कई तरीके हैं। उदाहरण के लिए, फ़ाइल क्रेडेंशियल-कैश - daemon.c भी CREDEN ~ 1.c (जब तक अन्य फ़ाइल पहले से ही है कि तथाकथित "छोटे नाम" से मैप किया गया है, यानी के माध्यम से पहुँचा जा सकता है सटीक संक्षिप्त नाम है अप्रत्याशित)।

के बाद से इस मानचित्रण अप्रत्याशित है, हम विंडोज पर इस तरह के फ़ाइल नाम की अनुमति नहीं देने की जरूरत है, और जब तक उस पर, हम भी अन्य फ़ाइल नाम विंडोज 'फाइल सिस्टम (जैसे NUL, CON, आदि) के साथ असंगत शामिल नहीं है।

हम बनाने के लिए पिछली प्रतिबद्धता में पेश किए गए core.protectNTFS गार्ड का उपयोग करते हैं, सुनिश्चित करें कि हम उचित होने पर केवल ऐसे फ़ाइल नामों को रोक दें।

इस व्यवहार को निष्क्रिय करने के लिए आप चला सकते हैं:

git config core.protectNTFS false 

हालांकि, बाद से नए व्यवहार है आप की रक्षा के लिए, मैं इसे बदलने वापस की सलाह देते हैं अपनी फ़ाइलें जोड़ा होने के बाद:

git config core.protectNTFS true 

नाम में टिल्ड्स के साथ फ़ाइलों को जोड़ने या ऐसे फ़ाइल नामों वाली शाखाओं को देखने की आवश्यकता होने पर ही इस सुरक्षा को अक्षम करें।

सामान्य रूप से, यदि मैं में एक विंडोज वातावरण में काम कर रहा हूं तो मैं ऐसे फ़ाइल नामों से बचने की सलाह दूंगा।

+0

धन्यवाद लिंक और समाधान प्रदान के लिए एक बहुत एंथोनी। – SabareeshSS

+0

अच्छा खोज, +1। क्या इसे 'git add' में '-f' ध्वज के साथ घुमाया जा सकता है? –

+1

@mu 無 नहीं, यह नहीं कर सकता। सबा, मदद करने में सक्षम होने के लिए खुशी हुई। मैं शर्त लगाऊंगा कि आप इससे प्रभावित एकमात्र नहीं होंगे। मैंने एक संपादन का प्रस्ताव दिया है ताकि अन्य लोग इस प्रश्न को आसानी से ढूंढ सकें। –

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