2012-08-16 5 views
5

हर बार जब मैं एक पुल करता हूं, तो मेरे अन्य टीम के सदस्य से विलय संघर्ष होता है .. और मैंने मैन्युअल रूप से ==== और >>>> को निकालने का प्रयास किया है लेकिन एक्सकोड इसके बाद फ़ाइल कभी नहीं खोल पाएगा।एक्सकोड "pbxproj" फ़ाइल में विलय विवादों को कैसे संभालें?

मैं सिर्फ उत्सुक हूं, क्या यह एक समस्या है कि एक टीम पर हर आईओएस व्यक्ति से संबंधित है? क्या इस बकवास से बचने के लिए कोई युक्ति या चाल है? यह बड़ी मात्रा में मेरी उत्पादकता को गंभीरता से धीमा कर रहा है।

+1

इस्तेमाल किया एससीएम उपकरण जोड़ने पर विचार करें, किसी भी मामले में (? SVN Git अन्य?): Http://stackoverflow.com/questions/2004135/how-to-merge-conflicts-file-project-pbxproj -इन-एक्सकोड-उपयोग-एसवीएन? आरक्यू = 1, http://stackoverflow.com/questions/7481563/xcode-project-file-pbxproj-how-to-handle-it-in-version-control?rq=1 –

+0

'मर्ज = यूनियन' विकल्प आज़माएं: https://twitter.com/zholmquist/status/172824285562408961 यह बहुत से लोगों के लिए बहुत समय से काम करता है। यह भी देखें http://stackoverflow.com/questions/2729109/should-i-merge-pbxproj-files-with-git-using-merge-union –

उत्तर

2

आपको बस एक अच्छा मर्ज टूल चाहिए। मैं पी 4merge का उपयोग करता हूं: http://www.andymcintosh.com/?p=33 में गिट के साथ इसे एकीकृत करने के लिए एक गाइड है।

+0

मैं केवल एचजी का उपयोग करता हूं, लेकिन kdiff3 ने आम तौर पर मुझे अच्छी तरह से इलाज किया है .. तो हो सकता है देखने के लिए कुछ और हो। इसके अलावा, [यह (बंद) पोस्ट] (http://stackoverflow.com/questions/96051/best-file-comparison-tool) में अतिरिक्त मर्ज-टूल सुझाव शामिल हैं (सुनिश्चित नहीं है कि ओएस एक्स पर लागू होता है)। –

1

इन दोनों एक लंबा रास्ता तय कर सकते हैं:

  • कम xcode परियोजना पर भरोसा करते हैं, तो आप सामान की एक निर्देशिका जोड़कर एक परियोजना को फिर से संगठित कर सकता है, तो यह कम से कम परिवर्तन के साथ निर्माण करने के लिए मिलता है ऐसा है कि। इसका एक अच्छा उदाहरण: xcconfigs में अपनी बिल्ड सेटिंग्स को परिभाषित करें।

  • अपनी परियोजनाओं को सरल बनाएं। यदि आप एक ही बड़ी परियोजना के अलग-अलग घटक विकसित कर रहे हैं तो टकराव कम हो जाएंगे।

+0

क्या आप अपने दूसरे बुलेट बिंदु पर विस्तार कर सकते हैं? –

+0

@MattH। मूल प्रारंभिक बिंदु परियोजनाओं को अलग-अलग घटकों में विभाजित करना है। एक्सकोड या स्वि विकास के लिए कोई नया सिर्फ एक लक्ष्य में सबकुछ रख सकता है। हालांकि, आपके प्रोग्राम का बैकएंड एक स्थिर लाइब्रेरी लक्ष्य में बेहतर हो सकता है, जिसे आपके मुख्य ऐप की निर्भरता के रूप में कॉन्फ़िगर किया गया है और एक अलग xcode प्रोजेक्ट में एक अलग लक्ष्य से संबंधित है। तो आप अलग-अलग परियोजनाओं में अपने यूनिट परीक्षण डाल सकते हैं - आप छोटे टुकड़ों में चीजों को तोड़ देते हैं। टकराव कम संभावना है क्योंकि तब आपके पास सबकुछ के लिए एक मोनोलिथिक प्रोजेक्ट की बजाय कई घटकों का एक संरचित ग्राफ है। – justin