2013-03-30 2 views
9

के लिए सिगविन और गीथब के साथ लाइन एंडिंग्स मैं विंडोज़ अनुप्रयोग के लिए गिथब दोनों के साथ-साथ सिगविन (विंडोज़ पर) का उपयोग करके कमांड लाइन में गिट दोनों का उपयोग करके अपने गिट प्रोजेक्ट पर काम करने में सक्षम होना चाहता हूं।विंडोज

लेकिन जब मैं एक से दूसरे में स्विच करता हूं तो मुझे लाइन के अंत में समस्याएं मिलती रहती हैं।

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

परीक्षण की उचित मात्रा के बाद मैं इसे दोनों उपकरणों के लिए काम नहीं कर सका।

यह क्या काम करेगा? .gitatributes मैं वर्तमान में निर्धारित किया है में: * पाठ = ऑटो लेकिन यह

उत्तर

5

यह एक GHfW बग होता है जो जब अपने भंडार विन्यास और अपने भंडार में डेटा सहमत नहीं हूँ है मदद नहीं करता है।

आप किसी फ़ाइल को कॉन्फ़िगर करते हैं CRLF लाइन अंत करने के लिए अनुवाद करने के लिए किया जा - true को core.autocrlf स्थापित करने, उदाहरण के लिए द्वारा, लेकिन आप अपने भंडार में धब्बे कि CRLF प्रारूप में पहले से ही कर रहे हैं (संभावना है, क्योंकि किसी को सच करने के लिए core.autocrlf सेट नहीं किया) तो यह समस्या हो सकती है।

इस मामले में, जीएचएफडब्ल्यू एमएसआईजीजी से अलग भंडार में सीआरएलएफ का अनुवाद करता है। नतीजतन, कुछ या सभी फाइलें गंदा दिखाई दीं।

मैं अपनी टीम के लिए अपनी CRLF लिए एक सुसंगत दृष्टिकोण की सलाह देते हैं कि वे क्या अपनी लाइन अंत के साथ क्या करना चाहिए के रूप में Git उपकरण द्वारा कोई अस्पष्टता से बचने के लिए होगा। उस ने कहा, यह बग हाल ही में libgit2 में तय किया गया था, लाइब्रेरी जो जीएचएफडब्ल्यू को कम करती है, और जल्द ही इसे जीएचएफडब्ल्यू में अपना रास्ता बनाना चाहिए।

1

मैंने गिटहब 2.7.0.24 का उपयोग करके अपनी खिड़कियों पर एक भंडार (सीआरएलएफ के साथ फाइलों के साथ) क्लोन किया। फिर मैं अपने साइगविन के गिट संस्करण 2.1.4 का उपयोग करना चाहता था।

मैंने [कोर] अनुभाग के तहत "autocrlf = true" जोड़कर .git/config संपादित किया। ("autocrlf = true" से पहले एक वास्तविक सारणी के साथ)

अब साइगविन का गिट कहता है कि मैं बिना किसी संशोधन के अद्यतित हूं।

मैं फ़ाइलों पर सीआरएलएफ रखता हूं क्योंकि वे मूल भंडार पर इस तरह से बनाए गए थे।

मैं GitHub आवेदन अब और का उपयोग नहीं होगा ...

मैंने देखा मर्ज संघर्ष नहीं सीआर साथ < < < < ==== >>>> लाइनों को जोड़ रहे हैं, लेकिन वे हटा दिया जाएगा जब मैं संघर्षों को हल करें।

4

विंडोज़ में गिट बैश और सिगविन दोनों पर काम करना गिट भ्रमित करने जा रहा है। यह है:

  • क्लोन/गिट बैश के तहत एक रेपो चेकआउट। जांच के दौरान, गिट सोचता है कि यह विंडोज पर है, इसलिए आमतौर पर यह टेक्स्ट फ़ाइलों को देखने के लिए CRLF का उपयोग करता है।
  • सिग्विन में रन गिट, गिट सोचता है कि यह लिनक्स पर है और रेपो को लिनक्स में चेक किया गया था (जो वास्तव में पिछले चरण के अनुसार नहीं है)।इसलिए, जब गिट साइगविन में CRLF देखता है, तो ऐसा लगता है कि LFCRLF में संशोधित किया गया है ताकि गिट बहुत सारी फाइलों में बदलावों की रिपोर्ट कर सके।

एक तरीका यह तय करने के लिए रेपो के रूट में .gitattributes फ़ाइल बनाने के लिए और इस तरह पंक्तियाँ जोड़ें है निम्नलिखित:

*.txt text eol=lf 

यह Git बता जब प्रत्यय .txt, LF दोनों जब लेखन का उपयोग कर के साथ मुठभेड़ फ़ाइल "डेटाबेस (.git)" में और कार्य निर्देशिका में जांच कर रहा है।

reference here