मामले में परिवर्तन की अनदेखी कैसे करें?


106

मुझे यकीन नहीं है कि यहां क्या हो रहा है, लेकिन कभी-कभी मेरी रिपॉजिटरी में एक विशेष फ़ाइल इसके नाम के मामले को बदल देगी। जैसे ,:

इससे पहले: File.h

उपरांत: file.h

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

[संपादित करें] मुझे संदेह है कि यह विज़ुअल स्टूडियो उस विशेष फ़ाइल के साथ कुछ अजीब कर रहा है, क्योंकि ऐसा तब होता है जब मैं इसे खोलता हूं और परिवर्तनों के बाद इसे बचाता हूं। मेरे पास वीएस में बग्स को ठीक करने का कोई तरीका नहीं है, लेकिन मुझे उम्मीद है कि बिट थोड़ा अधिक सक्षम होना चाहिए।


1
पुन :: सभी में निचले हिस्से में दृश्य स्टूडियो बचत फ़ाइलें दृश्य स्टूडियो के किस संस्करण का उपयोग कर रहे हैं? अंतिम बार मैंने जाँच की कि यह 2008 के संस्करण में बेहतर प्रतीत हुआ। 2005 में बग तब प्रतीत हुआ जब समाधान एक्सप्लोरर के बजाय डीबगर के माध्यम से फाइलें खोली गईं।
एडम मित्ज

वास्तव में हाँ यह 2005 है। हालांकि कुछ समय के लिए अपग्रेड का कोई मौका नहीं।
सूचना

जवाबों:


177

संस्करण 1.5.6 के बाद से ignorecaseके [core]अनुभाग में एक विकल्प उपलब्ध है.git/config

उदा ignorecase = true

इसे केवल एक रेपो के लिए बदलने के लिए, उस फ़ोल्डर से चलाएं:

git config core.ignorecase true

इसे विश्व स्तर पर बदलने के लिए:

git config --global core.ignorecase true

21
git config core.ignorecase true या git config --global core.ignorecase true को विश्व स्तर पर लागू करने के लिए।
हारून जेन्सेन

@graywh: यह core.ignorecase (तहत Git-config में दर्ज है kernel.org/pub/software/scm/git/docs/git-config.html )
बेन Lings

4
धन्यवाद, मैंने अंत में पाया कि git मेरे मामले को ध्यान में नहीं ले रहा था। ignorecase = falseचाल चली, यह डिफ़ॉल्ट रूप से true-_-
एलेक्स C

15

आप फ़ाइल को इस आदेश के साथ केस-ओनली तरीके से फ़ाइल का नाम बदलने के लिए बाध्य कर सकते हैं:

git mv --cached name.txt NAME.TXT

ध्यान दें कि यह एक विन्डोज़ विभाजन पर आपकी चेक आउट कॉपी में फ़ाइल के मामले को नहीं बदलता है, लेकिन आवरण परिवर्तन को रिकॉर्ड करता है और आप यह परिवर्तन कर सकते हैं। भविष्य के चेकआउट नए आवरण का उपयोग करेंगे।


1
"त्रुटि: अज्ञात विकल्प 'कैश्ड'।" यह डॉक्स में सूचीबद्ध नहीं है, या तो: git-scm.com/docs/git-mv
एलेक्स

12

विंडोज़ के लिए git संस्करण 1.6.1.9 में मैंने पाया कि "अज्ञान = सत्य 'विन्यास में पहले से ही डिफ़ॉल्ट रूप से सेट किया गया था।


7
हां, और जब आप जावा फ़ाइलों के साथ काम करते हैं, तो आप चाहते हैं कि यह सेटिंग झूठी पर सेट की जाए, अन्यथा ऐसी रिफ्लेक्टरिंग करते समय आप परेशानी में पड़ सकते हैं (एचटीएमएलपारर एचटीएमएलपैरसर या रिवर्स बन रहा है)।
फीलो

समान संस्करण के लिए 2.10.1.windows.1
कार्स

3
मुझे पता है कि यह पुराना है, लेकिन अज्ञानता को झूठे रूप में सेट करने के लिए विंडोज़ पर यह निरर्थक है क्योंकि विंडोज़ एक केस-इन्सेंसिव ऑपरेटिंग सिस्टम है। यह लागू होता है चाहे आप जावा या हांफते हुए काम कर रहे हों! C # या कुछ और।
पहुंचें

5

प्रश्न में वर्णित स्थिति अब मैक ओएस एक्स, गिट संस्करण> = 1.7.4 (मुझे लगता है) के साथ फिर से आ रही है। इलाज अपने अज्ञान = झूठ को सेट करना है और निचली फाइलों को फिर से नाम देना है (जो कि उस तरह से बदल गया है, विजुअल स्टूडियो नहीं) हाथ से अपने UsualCase पर वापस जाएं (यानी 'mv myname MyName')।

अधिक जानकारी यहाँ

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