2012-03-19 13 views
125

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

इस परियोजना के लिए लगभग 50 पुल अनुरोध भी हैं, जो मेरी प्रतिबद्धता विलय होने पर सभी के संघर्ष होंगे। क्या कोई तरीका है कि गिट स्थापित किया जा सकता है ताकि जब भविष्य में विलय हो जाए, तो यह उन संघर्षों को अनदेखा करता है जहां उनमें से एक सिर्फ एक सफेद जगह बदलता है?

गिट को संशोधित करना या किसी तृतीय पक्ष टूल का उपयोग करना संभव नहीं है, लेकिन एक हुक का उपयोग करना ठीक है।

+0

[गीट व्हाइटस्पेस संकट] के संभावित डुप्लिकेट (http: // stackoverflow।कॉम/प्रश्न/1316364/गिट-व्हाइटस्पेस-संकट) –

+0

@CeesTimmerman: एर, यह इस से दो महीने छोटा है। – callumacrae

+0

"22 अगस्त को '0 9 को 16:27 बजे पूछा गया", यह 2 साल से अधिक पुराना है। –

उत्तर

174
git merge -Xignore-all-space 

या (अधिक सटीक)

git merge -Xignore-space-change 

मर्ज के दौरान सभी जगह से संबंधित संघर्ष की अनदेखी करने के लिए पर्याप्त होना चाहिए।

git diff देखें:

--ignore-space-change 

खाली स्थान के की मात्रा में परिवर्तन पर ध्यान न दें।
यह लाइन अंत में सफेद जगह को अनदेखा करता है, और एक या अधिक सफेद जगह वर्णों के समकक्ष समकक्ष समकक्षों को समझाता है।

--ignore-all-space 

जब लाइनों की तुलना खाली स्थान के ध्यान न दें।
यह अंतर को अनदेखा करता है भले ही एक पंक्ति में सफेद जगह है जहां दूसरी रेखा में कोई भी नहीं है।

ks1322 टिप्पणी में कहते हैं एक अच्छी सलाह:

यह --no-commit के साथ विलय और मर्ज की समीक्षा से पहले वास्तविक प्रतिबद्ध करने के लायक है।


OP Callum Macrae रिपोर्ट है कि, उस स्थिति में, मर्ज निर्बाध आगे बढ़ना है, और पुल अनुरोध पैच में निहित पीछे वाले स्पेस स्थानीय फ़ाइल पर लागू होते हैं।
हालांकि, ओपी एक पूर्व-प्रतिबद्ध हुक का उपयोग करता है जो पिछली पिछली जगहों का ख्याल रखता है।
(मुझे लगता है कि this one के समान कुछ भी है, referenced here)।


ओ पी की पूर्व प्रतिबद्ध हुक referenced here है:

पिछली श्वेत रिक्ति को दूर करने के लिए इसके अलावा, यह एक से तीन रिक्त स्थान टैब से पहले (मैं टैब चौड़ाई 4 करने के लिए सेट है) निकाल देता है, और EOLs कहते हैं ।
मैंने रिपोर्ट की है कि ईओएल जो कोड जोड़ता है वह फाइल विंडोज़ में फ़ाइल को हटा देता है, लेकिन इसे दोहराने में सक्षम नहीं है।

+0

धन्यवाद! क्या वह व्हाइटस्पेस को अनदेखा करेगा जहां विवाद हैं, या फ़ाइल में सभी सफेद जगह बदलती हैं? – callumacrae

+0

@CallumMacrae अच्छा सवाल है। मुझे उस मामले का परीक्षण करना होगा। – VonC

+0

अब तक मेरे परीक्षणों से, ऐसा लगता है कि यह फ़ाइल में सभी व्हाइटस्पेस परिवर्तनों को हटा देता है। हालांकि, अब मैं पूंछ व्हाइटस्पेस को हटाने के लिए प्री-प्रतिबद्ध हुक का उपयोग कर रहा हूं, इसलिए यह कोई मुद्दा नहीं है। – callumacrae

संबंधित मुद्दे