2015-07-21 4 views
7

हालांकि मैं इस मंच में पहले से ही इसी तरह की टिप्पणियां पढ़ता हूं, मुझे एक ऐसा दृष्टिकोण नहीं मिला है जो टीमवर्क के लिए एक निर्बाध तरीके से उपयुक्त हो।गिट पर प्रोजेक्ट.pbxproj के साथ विवादों को मर्ज करें - एक्सकोड आईओएस

यदि आप जानते हैं कि मेरा क्या मतलब है, तो आप पहले से ही एक अलग फ़ाइल में काम करते समय भी गिट और project.pbxproj फ़ाइल के साथ मुश्किल काम कर सकते हैं।

कहो,

  • डेवलपर: Foo फ़ोल्डर बनाया, परियोजना के लिए foo.swift जोड़ने।
  • बी डेवलपर: बार फ़ोल्डर बनाया गया, परियोजना में bar.swift जोड़ना।

विभिन्न पथ ... लेकिन आप जानते हैं, संघर्ष! और जैसा कि आप यह भी देख सकते हैं, project.pbxproj बाहर छोड़ना एक विकल्प नहीं है।

तो मेरा सवाल यह है कि: आप पेशेवर तरीके से इसे कैसे संभालेंगे, गिट प्रवाह तैयार और सबसे आसान तरीका।

आपको बहुत बहुत धन्यवाद।

पीएस: यदि मायने रखता है तो मैं वर्तमान में बिटबकेट और स्रोत ट्री का उपयोग कर रहा हूं।

PS2: मैं कमांड लाइन से बचना चाहता हूं और यदि संभव हो तो मैन्युअल रूप से संपादन फ़ाइल करना चाहता हूं।

+0

खींच क्यों 'विशेष project.pbxproj' है? किसी भी फाइल में संघर्ष हो सकते हैं। – trojanfoe

+0

pbxproj फ़ाइल के साथ समस्या यह है कि जब यह एक टेक्स्ट फ़ाइल है, तो इसकी संरचना एक गड़बड़ है और वहां विलय विवादों को सुलझाने में बहुत दर्दनाक हो सकता है। उदाहरण के लिए, एक समस्याग्रस्त विलय एक फ़ाइल में 1k संघर्षों को समझने में कठोर हो सकता है (संदर्भ के रूप में हर जगह uuids, आदि)। – droussel

उत्तर

5

एक .gitattributes फ़ाइल बनाएँ और निम्न पंक्ति जोड़कर:

*.pbxproj merge=union

-बनाए गए अपने आप हो जाएगा और आप कुछ भी स्पर्श किए बिना।

वैकल्पिक रूप से, आप mergepbx को आजमा सकते हैं, जो एक अधिक बुद्धिमान विलय करता है।

+0

कोशिश की है ... यह बुलेट प्रमाण नहीं है। मेरे पास एक मामला था, कि एक्सकोड प्रोजेक्ट अब और नहीं खुल रहा था। हाथ से विलय करने की जरूरत है। – Primoz990

1
  1. नई फाइलें "मुख्य-विकसित" शाखा पर केवल एक डेवलपर द्वारा बनाई गई हैं।
  2. नई फ़ाइलें पुश "मुख्य-विकसित करने के लिए"
  3. उन फ़ाइलों अन्य डेवलपर्स द्वारा कार्यान्वित किया जाता है के बाद
संबंधित मुद्दे