2010-11-10 8 views
37

पर गिट में फ़ाइल नामों में एशियाई पात्रों को कैसे संभाला जाए, मैं यूएस-अंग्रेज़ी ओएस   एक्स 10.6.4 पर हूं और गिट रिपोजिटरी में अपने नाम पर एशियाई पात्रों के साथ फ़ाइलों को स्टोर करने का प्रयास करता हूं।ओएस एक्स

ठीक है, चलो एक Git काम कर पेड़ में इस तरह के एक फ़ाइल बना सकते हैं:

$ touch どうもありがとうミスターロボット.txt 

Git अष्टाधारी-भाग निकले UTF-8 फार्म के रूप में दिखाया जा रहा है:

$ git version 
git version 1.7.3.1 
$ git status 
# On branch master 
# 
# Initial commit 
# 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# "\343\201\250\343\202\231\343\201\206\343\202\202\343\201\202\343\202\212\343\201\213\343\202\231\343\201\250\343\201\206\343\203\237\343\202\271\343\202\277\343\203\274\343\203\255\343\203\233\343\202\231\343\203\203\343\203\210.txt" 
nothing added to commit but untracked files present (use "git add" to track) 

दुर्भाग्य से, मैं नहीं कर रहा हूँ Git भंडार में जोड़ने के लिए सक्षम:

$ git add どうもありがとうミスターロボット.txt 
$ git status 
# On branch master 
# 
# Initial commit 
# 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# "\343\201\250\343\202\231\343\201\206\343\202\202\343\201\202\343\202\212\343\201\213\343\202\231\343\201\250\343\201\206\343\203\237\343\202\271\343\202\277\343\203\274\343\203\255\343\203\233\343\202\231\343\203\203\343\203\210.txt" 
nothing added to commit but untracked files present (use "git add" to track) 

Git बस इस फाइल को नजरअंदाज कर दिया।

का उपयोग वाइल्डकार्ड काम:

$ git add *.txt 
$ git status 
# On branch master 
# 
# Initial commit 
# 
# Changes to be committed: 
# (use "git rm --cached <file>..." to unstage) 
# 
# new file: "\343\201\250\343\202\231\343\201\206\343\202\202\343\201\202\343\202\212\343\201\213\343\202\231\343\201\250\343\201\206\343\203\237\343\202\271\343\202\277\343\203\274\343\203\255\343\203\233\343\202\231\343\203\203\343\203\210.txt" 
# 

लेकिन मैं एक विशिष्ट फ़ाइल नाम के लिए एक आवेदन से Git आदेश आह्वान करना चाहते हैं। मेरे पास वाइल्डकार्ड पैटर्न का आविष्कार करने का विकल्प नहीं है जो वास्तव में इस फ़ाइल से मेल खाता है, लेकिन कोई और नहीं।

क्या यह गिट या मुझे गिट का सही उपयोग नहीं कर रहा है?

+3

मुझे लगता है कि यह गिट और ओएसएक्स के बीच एक ज्ञात बग है: http://thread.gmane.org/gmane.comp.version-control.git/70688 –

+0

मुझे नहीं लगता कि यह रचित/विघटित से संबंधित है जर्मन उमलॉट्स जैसे पात्र। – Mot

+0

@mklhmnn: क्या आप सुनिश्चित हैं कि आपके उदाहरण में से कोई भी वर्ण विघटित और पूर्वनिर्धारित रूप नहीं है? – JeremyP

उत्तर

52

गिट डिफ़ॉल्ट रूप से किसी भी गैर-असीसी चरित्र को उद्धृत करता है, न केवल एशियाई लोगों को। इस उद्धरण व्यवहार को अक्षम करने का एक विकल्प है।

आप निम्न आदेश का उपयोग कर उसे निष्क्रिय कर सकते हैं: वैकल्पिक रूप से

git config --global core.quotepath false 

या, के बाद ($ घर/.gitconfig आमतौर पर)

[core] 
    quotepath = false 

अपना Git कॉन्फ़िग फ़ाइल के लिए निम्न स्निपेट जोड़कर यह, गिट को आपके फाइलनामों को ठीक उसी तरह दिखाना चाहिए जैसा वे हैं।

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

+0

मेरे सीमित परीक्षण में (उबंटू पर गिट 1.7.3.2 का उपयोग करके), एक बार जब मैंने 'core.quotepath' को अक्षम कर दिया, तो गिट फ़ाइल नामों को अपेक्षित रूप से प्रदर्शित करेगा। साथ ही, 'core.quotepath' सक्षम होने के साथ भी, स्पष्ट रूप से जोड़ना अपेक्षित सूचकांक को अपडेट करेगा, इसलिए मूल समस्या एक बग हो सकती है जो गिट के नए संस्करणों में तय हो गई हो। –

+0

क्या आप जानते हैं कि यह उद्धरण पर्यावरण चर सेट करके या गिट को कमांड लाइन पैरामीटर पास करके अक्षम किया जा सकता है? – Mot

+1

हालांकि मेरी समस्या थोड़ा अलग है, एक accented चरित्र, एक एशियाई नहीं, लेकिन, यह सलाह मेरे लिए काम नहीं किया। –