समस्या इस तरह की अक्सर भंडार दो फ़ाइल नाम है कि केवल मामले में अलग है कि से खींचने की कोशिश कर के कारण होता है। यदि आप एफएटी पर हैं, एनटीएफएस मामले-असंवेदनशील मोड में (अनिवार्य रूप से, किसी भी समय इसका उपयोग विंडोज के तहत किया जा रहा है), या एचएफएस + केस-असंवेदनशील मोड में, और दो फाइलें "फूबर" और "फूडबार" हैं, तो गिट दो अलग-अलग देखेंगे फाइलें, लेकिन फाइल सिस्टम केवल एक ही देखेंगे, जो सभी प्रकार की समस्याओं का कारण बन जाएगा। गिट चेकआउट करेगा, कहें, "फूडबार", और फिर चेकआउट "फूबर", जो फाइल सिस्टम "फूडबार" की सामग्री को प्रतिस्थापित करने के रूप में देखता है लेकिन इसे जगह में छोड़ देता है। अब गिट के लिए, ऐसा प्रतीत होता है कि "फूबर" को "फूबर" की सामग्री के साथ बदल दिया गया है, और "फूबर" चला गया है।
इस मूल समस्या के दो अलग-अलग अभिव्यक्तियां हैं। एक ऐसा होता है जब आपके भंडार में वास्तव में दो फाइलें होती हैं जो केवल मामले पर भिन्न होती हैं। इस मामले में, आपको केस-संवेदी फ़ाइल सिस्टम पर काम करने की आवश्यकता है, या आपको यह सुनिश्चित करने के लिए भंडार को संपादित करने की आवश्यकता होगी कि इस तरह के कोई टकराव नहीं होता है; एक केस-असंवेदनशील फ़ाइल सिस्टम बस इस भंडार की सामग्री को स्टोर नहीं कर सकता है।
एक अलग मामला जिसे आप कामकाज कर सकते हैं वह तब होता है जब कोई नाम होता है जो फ़ाइल के मामले को बदलता है। उदाहरण के लिए, गिट रिपोजिटरी में "उदाहरण" से "उदाहरण" का नाम बदलना है। गिट नए संस्करण की जांच करने से पहले, यह सुनिश्चित करने के लिए प्रयास करेगा कि यह आपकी डिस्क पर मौजूद कुछ मौजूदा फ़ाइल को ओवरराइट नहीं कर रहा है। चूंकि ऐसा लगता है कि "उदाहरण" एक नया फ़ाइल नाम है, यह फाइल सिस्टम से पूछेगा कि यह मौजूद है, और फाइल सिस्टम "उदाहरण" देखेंगे और हाँ कहेंगे, इसलिए गिट नए संस्करण को देखने से इनकार कर देगा क्योंकि ऐसा लगता है कि यह ओवरराइटिंग होगा अनचाहे फाइलें इस मामले में, यदि आपके पास कोई स्थानीय परिवर्तन नहीं है जिसके बारे में आप परवाह करते हैं, तो साधारण git reset --hard <revision-to-checkout>
आम तौर पर समस्या को दूर करने और नए संशोधन के लिए पर्याप्त होगा।बस उन अन्य नामों पर फ़ाइलों का नाम बदलने की कोशिश न करें और याद रखें जो केवल मामले में भिन्न हैं यदि आप केस-असंवेदनशील फ़ाइल सिस्टम पर हैं, क्योंकि इससे इस तरह की समस्याएं पैदा होंगी।
स्रोत
2010-01-03 15:59:11
देखें कि http://git.or.cz/gitwiki/GitFaq में स्पष्टीकरण मदद करता है या नहीं। –
डिट्टो "* काम करने के लिए एकमात्र चीज अपमानजनक फ़ाइल को हटा रही है और फिर एक गिट खींचने का प्रयास करें। *"। मेरे लिए, कम से कम एक फ़ाइल गिट में नहीं थी; यह वाइल्डकार्ड नियम द्वारा गठित किया गया था। यकीन नहीं है कि वे अवरोधक क्यों थे, हालांकि। – ruffin