git एक गिट गड़बड़ को छंटनी




version-control branch (2)

ठीक। एक बड़े फट के बाद, मैंने इसे करने में कामयाब रहा है किसी और के लिए एक समान कार्य शुरू करने के लिए, इसमें बहुत कुछ शामिल होगा:

git rebase

आज्ञाएं और जब चीजें खराब हो गईं:

git reflog

के बाद

git reset --hard [email protected]{ref}

https://code.i-harness.com

मैंने सिर्फ एक ऐसी परियोजना का उत्तराधिकारी प्राप्त किया है जिसे गिट का उपयोग करते हुए बनाए रखा गया था। एक बिंदु पर, कोड को 3 अलग-अलग सिस्टमों पर तैनात किया गया था और प्रत्येक सिस्टम ने अपना विकेन्द्रीकृत गिट रेजोजोटरी बनाए रखा था।

3 सिस्टमों में से प्रत्येक ने मूल आधार प्रणाली को 3 अलग-अलग दिशाओं में बढ़ा दिया। इनमें से कोई भी सिस्टम एक-दूसरे के विरुद्ध सिंक्रनाइज़ नहीं किया गया है कुछ परिवर्तन मास्टर शाखा पर हैं, अन्य नई शाखाओं में हैं

मैं 3 अलग-अलग स्रोतों को एक साथ कैसे ला सकता हूं ताकि मैं कर सकूं:

  1. साथ काम करने के लिए एक आम आधार खोजें;
  2. पता करें कि कौन से परिवर्तन बग फिक्स हैं जो सभी 3 प्रणालियों में लागू किया जाना चाहिए; तथा
  3. 3 प्रणालियों को समझदार तरीके से बनाए रखना ताकि केवल एक ही आम शाखा हो और तीन अलग-अलग प्रणालियों के लिए आवश्यक अनुकूलन को अलग कर दें?

मैं शायद सभी रिपॉजिटरी को एक केंद्रीय भंडार में शाखाओं को अलग करने के लिए शुरू कर दूँगा, जिससे मैं शाखाओं के बीच फिर से रिसाइज़ कर सकता हूं, आदि के बीच मर्ज कर सकता हूं।

एक अच्छा दृश्य उपकरण जैसे कि git-age , gitnub , gitx , हंसी अद्भुत काम कर सकते हैं, लेकिन आपके कार्य शायद ही कभी थकाऊ हो जाएगा जब तक कि आप ब्रांचिंग पॉइंट नहीं ढूंढ सकते। यदि समान शाखाएं सभी शाखाओं में लागू होती हैं तो आप अपनी प्रतिबद्धता को पुन: क्रमबद्ध करने के लिए (इंटरेक्टिव) रिबेस का उपयोग कर सकते हैं, ताकि वे एक ही क्रम में हो। इसके बाद आप अपनी शाखाओं को 'ज़ूमिंग' शुरू कर सकते हैं, जिससे मास्टर की कमाई डालकर शाखा की ओर बढ़ो। रिबेस का उपयोग करने के लिए पुन: क्रमित करने का एक अच्छा विवरण यहां मिल सकता है

संभावना है कि जिन कार्यों को आपको लेने की जरूरत है, वे गिट होवे इंडेक्स द्वारा दिए गए लिंक में वर्णित हैं। एक अच्छी चीट शीट हमेशा पहुंच के भीतर होती है। इसके अलावा, मुझे संदेह है कि एरिक सिंक के बाद " DVCS और DAGs, भाग 1 " में फॉलोअप में कुछ उपयोगी होगा (यह नहीं था, लेकिन यह एक दिलचस्प पढ़ा गया था)।

अतिरिक्त अच्छे लिंक हैं: गीट मैजिक , गीथ रेडी और सोर्समेज गीट गाइड

मुझे उम्मीद है कि सभी रेपो में ऐसे संदेश होंगे जो आपको प्रत्येक पैच के उद्देश्य बताते हैं, यह या कोड की समीक्षा है :)

अनुकूलन को बनाए रखने के लिए हमारे पास निम्न के साथ भाग्य था:

हम जेनेरिक कोड से अनुकूलित कोड को अलग करके (या अलग रखते हुए) शुरू कर चुके हैं। फिर हमने दो दृष्टिकोणों की कोशिश की है; दोनों जो ठीक काम किया:

  1. सभी तैनाती को अपने स्वयं के भंडार मिले जहां कस्टमाइजेशन रखा गया था।
  2. सभी तैनाती को एक 'अनुकूलन' - रिपॉजिटरी में अपनी शाखा मिली।

पहली तैनाती के बाद और दूसरी बात यह थी कि हम कुछ समय बिता चुके थे कि भविष्य में अनुकूलित अनुकूलन / काटने के अंक को अनुकूलित रेपो में दोहराव को कम करने की कोशिश कर रहे थे (alt 1, जो वर्तमान में हम जिस दृष्टिकोण का उपयोग करते हैं) और आधार / कोर में रेपो।

और हाँ, जब हम कोर / अनुकूलन विभाजन फिसलते हुए देखते हैं तो हम निर्दयता से पुन: प्रतिक्रिया करने की कोशिश करते हैं :)







dvcs