एकता में संस्करण नियंत्रण के लिए सर्वोत्तम अभ्यास?


11

मैं थोड़ा भ्रमित हूं कि एकता के साथ संस्करण नियंत्रण का उपयोग कैसे करें, विशेष रूप से वस्तुओं जैसे दृश्यों या प्रीफैब के साथ जो कि सिर्फ कोड नहीं हैं।

हमारे पास हाल ही में एक मुद्दा था जब मेरे सहयोगी और मैं एक ही दृश्य के विभिन्न हिस्सों पर काम कर रहे थे। जिसके परिणामस्वरूप संघर्ष, शाखाओं में बँधना और प्रचुर मात्रा में विलय हो गया।

अंत में मेरे संशोधन को वैसे भी उनके परिवर्तनों से अतिरंजित किया गया था।

इस समय मैं जिस तरह से देख रहा हूं, वह केवल उसी वस्तुओं पर काम कर रहा है, लेकिन यह बहुत सुविधाजनक नहीं लगता है, खासकर तब से जब हम वर्तमान में काम कर रहे हैं।

आमतौर पर लोग इन स्थितियों में क्या करते हैं?

(हम मर्क्यूरियल, बिटबकेट और सोर्सट्री का उपयोग कर रहे हैं।)


1
ईआरएम। टिप्पणी करने के लिए परवाह करें कि मुझे पूछने के बाद 5 मिनट से कम क्यों रखा गया था? अगर मुझे नहीं पता कि मैं इसमें गलत नहीं हूं तो मैं सवाल को बेहतर नहीं बना सकता।
कवोरू

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

1
क्या ये दृश्य फ़ाइलें पाठ फ़ाइलें हैं जो विलय के लिए कठिन हैं या क्या वे बाइनरी फाइलें हैं जो कम असंभव हैं? यदि वे बायनेरिज़ हैं, तो एकता उसके लिए मर्ज (और शायद अलग है?) उपकरण प्रदान करती है
नाथन कूपर

@NathanCooper वे द्विपदीय हैं जहाँ तक मैं बता सकता हूँ। कम से कम वे बायनेरिज़ की तरह व्यवहार करते हैं, और उन्हें एक टेक्स्ट एडिटर में खोलने से मुझे किसी अन्य संकलित फ़ाइल के रूप में मंबो-जंबो का भार मिलता है। मुझे स्मार्ट मर्ज के बारे में पता नहीं था। धन्यवाद!
कवोरू

जवाबों:


6

यदि आप GitHub का उपयोग कर रहे हैं, तो आप निम्न समाधान आज़मा सकते हैं।

  1. एकता में संपादित करें-> परियोजना सेटिंग्स -> संपादक, फिर परियोजना सेटिंग्स के निरीक्षक में।
  2. "संस्करण नियंत्रण मोड" को "दृश्यमान मेटा फ़ाइलों" में बदलें।
  3. "एसेट क्रमांकन मोड" को "फोर्स टेक्स्ट" में बदलें।

यह मेरे लिए ठीक काम करता है।


3

अधिकांश संस्करण नियंत्रण प्रणाली (VCS) पाठ के लिए डिज़ाइन किए गए हैं। आमतौर पर diffस्रोत कोड की तुलना ( ) और विलय के लिए उनके पास बहुत शक्तिशाली और सुविधाजनक विशेषताएं हैं , और कुछ उपकरण भी स्वचालित रूप से परिवर्तनों को मर्ज कर सकते हैं (और अनुमान लगाने का एक सभ्य काम करते हैं कि परिवर्तनों को कैसे मर्ज किया जाना चाहिए और किस बिंदु पर डेवलपर को करने के लिए आग्रह किया जाना चाहिए। मैनुअल मर्ज)।

diffसंबंधित एप्लिकेशन से बाइनरी फ़ाइलों के लिए बेहतर समर्थन और विलय करने के लिए बहुत अच्छा होगा जो उन फ़ाइलों का उपयोग करते हैं। उदाहरण के लिए, Microsoft Word, दो दस्तावेज़ों की तुलना करना संभव बनाता है, और जबकि यह एक सुविधाजनक विलय उपकरण होने से बहुत दूर है, फिर भी यह कुछ भी नहीं से बेहतर है और कई अवसरों पर मुझे घंटों बचाता है। दुर्भाग्य से, विलय की सुविधा आमतौर पर या तो सॉफ्टवेयर उत्पादों में ओवरसाइन होती है, या लागू करने में मुश्किल होती है (आप diffकिसी 3 डी दृश्य की कल्पना कैसे करते हैं ?)

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

दो साल पहले, मैंने वीडियो संपादन सॉफ्टवेयर में संस्करण नियंत्रण उपयोग के विषय में एक समान प्रश्न पूछा था । मेरा मानना ​​है कि मेरे प्रश्न के उत्तर जो आंशिक रूप से यहां भी दिए गए हैं, एकमात्र (लेकिन महत्वपूर्ण) अंतर यह है कि मेरे प्रश्न का संबंध बड़ी फाइलों से है, जबकि आपके मामले में, बाइनरी फाइलें शायद अपेक्षाकृत छोटी हैं।

आपने जो दृष्टिकोण पाया, वह है "समान वस्तुओं पर काम करना"। यदि आप विलय नहीं कर सकते हैं, तो समान सामान पर समानांतर काम न करें। यदि आप एक ही कार्यालय में काम करते हैं, तो यह करना आसान हो सकता है। यदि नहीं, तो अधिकांश संस्करण नियंत्रण प्रणाली ( आपके द्वारा उपयोग किए जाने वाले सहित ; यह बिटबकेट के संदर्भ में भी यहां चर्चा की गई है ) समर्थन लॉकिंग , जिसमें वीसीएस के उपयोगकर्ता के लिए सिस्टम के माध्यम से यह बताना है कि वह किसी दिए गए फ़ाइल पर काम कर रहा है अभी; अन्य उपयोगकर्ता फ़ाइल के नवीनतम संस्करण को लोड कर सकते हैं, लेकिन उन्हें इसे बदलने की उम्मीद नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.