यह देखने के लिए कि क्या यह एक पाठ फ़ाइल है, अकेले एक्सटेंशन GitHub के लिए पर्याप्त नहीं है।
इसलिए इसकी सामग्री को देखना होगा।
और जैसा कि " Git इस पाठ फ़ाइल को बाइनरी फ़ाइल के रूप में क्यों मानता है?" "
आप स्पष्ट रूप से एक पाठ होना चाहिए निर्दिष्ट करने के लिए एक .gitattributes फ़ाइल का उपयोग कर सकते हैं .sql, बाइनरी नहीं।
*.sql diff
अपडेट २०१ Update: जैसा कि मैंने " यूटीएफ -8 एनकोडिंग डॉक्यूमेंट पर काम नहीं करने के लिए यूटीएफ -8 एन्कोडिंग डॉक्यूमेंट " में उल्लेख किया है, २.१ribut working-tree-encoding.सुविधाएँ एक नई विशेषता है।
तो, जैसा कि रुसी के जवाब में दिखाया गया है :
*.sql text working-tree-encoding=UTF-16LE eol=CRLF
जैसा कि कोस्टिक्स टिप्पणियों में जोड़ता है :
यदि ये फ़ाइलें Microsoft SQL प्रबंधन स्टूडियो (या जो भी इसे MS SQL सर्वर के प्रबंधन उपकरण आपके द्वारा उपयोग किए जा रहे संस्करण में कहा जाता है) द्वारा उत्पन्न की जाती हैं, तो इसे सहेजने वाली फाइलें UCS-2 (या UTF-16) में एन्कोडेड होती हैं - a दो-बाइट एन्कोडिंग, जो वास्तव में गिट की आंखों में पाठ नहीं है
आप फ़ाइलों के लिए " गिट कहते हैं" में एक उदाहरण देख सकते हैंBinary files a… and b… differ*.reg "
जैसा कि " सेट फ़ाइल को गैर-बाइनरी में git में सेट करें ":
"Git मेरी फाइल को बाइनरी के रूप में क्यों चिह्नित कर रहा है?" इसका उत्तर यह है क्योंकि यह NUL (0) बाइट को फाइल के पहले 8000 अक्षरों के भीतर कहीं देख रहा है।
आमतौर पर, ऐसा इसलिए होता है क्योंकि फ़ाइल को UTF-8 के अलावा किसी अन्य चीज़ के रूप में सहेजा जा रहा है। इसलिए, यह संभवत: UCS-2, UCS-4, UTF-16, या UTF-32 के रूप में सहेजा जा रहा है। उन सभी ने ASCII वर्णों का उपयोग करते समय NUL वर्णों को एम्बेड किया है
जैसा कि नियो ने टिप्पणियों में उल्लेख किया है (और Git इस पाठ फ़ाइल को बाइनरी फ़ाइल के रूप में क्यों मानता है? )
आप फ़ाइल मेनू में 'उन्नत सहेजें विकल्प' मेनू आइटम से 'UTF-8 हस्ताक्षर के साथ' का चयन करके SSMS से UTF-8 में सहेजे गए फ़ाइल के एन्कोडिंग को बदल सकते हैं।