2011-11-15 11 views
5

मर्क्युरियल noob .git। मुझे Mercurial और xcuserdata और .ds_store और .git जैसी फ़ाइलों के साथ काम करने में बहुत परेशानी हो रही है। मेरा विवेक खत्म हो रहा है।मर्क्युरियल और xcuserdata, .ds_store, और यहाँ

मौजूदा सेटअप एक केंद्रीय रेपो कि एक बिचौलिया की तरह काम करता है। हम इसे धक्का देते हैं और इसमें बदलाव खींचते हैं।

करता है पहले से धकेल दिया गया है कि अवांछित फ़ाइलें (xcuserdata, Git, ds_store) से पहले एक .hgignore फ़ाइल बनाया गया था शामिल थे। इससे दुःस्वप्न हुआ है।

मैं क्या करने की कोशिश की:

मैं इस समस्या की अनदेखी और दे विलय इसे संभाल की कोशिश की है, लेकिन यह केंद्रीय रेपो हर संघर्ष की वजह से धक्का पर शाखाओं का कारण बनता है (पुश पर संघर्ष तो मैं डॉन टर्मिनल में प्रदर्शित नहीं हो रहे 'टी) धक्का पर मर्ज करने के लिए एक मौका मिलता है और मुद्दा यह है कि यह filemerge और मौज-मस्ती करने kdiff3 जैसे उपकरणों का विलय का कारण बनता है के लिए परियोजना फ़ाइल भ्रष्ट।

मैं एक स्थानीय .hgignore फ़ाइल बनाने और एचजी xcuserdata पर भूल जाते हैं कि सामान पर नज़र रखने को रोकने के लिए उपयोग करने की कोशिश, लेकिन यह अभी भी धक्का और उन अवांछित फ़ाइलें खींचती है।

क्या मैं ऐसा करना चाहते हैं:

मैं केंद्रीय रेपो उन अवांछित फ़ाइलें निकालना चाहते हैं। प्रत्येक डेवलपर के पास अभी भी उन फ़ाइलों का अपना स्थानीय संस्करण होना चाहिए। नई प्रतिबद्धता उन फ़ाइलों को अनदेखा कर देगी। यह मैं कैसे करूंगा?

धन्यवाद

उत्तर

4

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

सावधान रहें कि forget केवल आपकी शाखा के लिए काम करता है, यदि आपके पास अन्य शाखाएं हैं, तो आपको उनमें से प्रत्येक पर यह करना होगा।

स्वचालित रूप से .hgignore में निहित सभी फाइलों को भूल करने के लिए, आप कर सकते हैं

hg forget "set:hgignore()" 

सुनिश्चित करें कि अपनी टीम के हर हिस्से इन फ़ाइलों के बारे में अपने निर्णय के बारे में पता है रहो, नहीं तो यह संभव है कि वे जोड़ देगा शोध करे फ़ाइल भविष्य में फिर से। संचार यहाँ कुंजी है!

FYI, .hgignore फ़ाइल पर पहले से पर कोई प्रभाव नहीं पड़ता है, यह केवल उस फ़ाइल को प्रभावित करता है जो जोड़ा नहीं जाता है।

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

+0

बहुत बहुत शुक्रिया। वह सेट: hgignore कमांड एक lifesaver है। T_T मुझे पता चला कि मेरी hgignore फ़ाइल हालांकि सब कुछ हटा नहीं रही है। मैं इसे \ *। Xcodeproj/xcuserdata/* पर सेट करता हूं लेकिन यह इसके भीतर से सबकुछ हटा नहीं रहा है। मुझे लगता है कि मैं इसके साथ खेलूँगा। –

+0

गह, असफल रूप से hgignore करने के लिए और अधिक संशोधन की कोशिश की। यह .xcuserdatad/WorkspaceSettings.xcsettings जैसी कुछ फ़ाइलों को हटाने में कामयाब रहा, लेकिन मुझे अन्य xcuser सामग्री को हटाने के लिए hgignore फ़ाइल नहीं मिल रही है। क्या मुझे अपनी hgignore फ़ाइल को केंद्रीय रिपो या कुछ में अपलोड करना चाहिए? –

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