निम्नलिखित स्थिति पर विचार करें:
- आपके पास गिट रिपॉजिटरी का क्लोन है
- आपके कुछ स्थानीय कमिट हैं (कमिट जो अभी तक कहीं धकेल नहीं दिए गए हैं)
- रिमोट रिपॉजिटरी में नए कमिट्स हैं जिन्हें आपने अभी तक नहीं समेटा है
तो कुछ इस तरह:
यदि आप git pull
डिफ़ॉल्ट सेटिंग्स के साथ निष्पादित करते हैं, तो आपको कुछ इस तरह मिलेगा:
ऐसा इसलिए है क्योंकि git ने एक मर्ज किया है।
हालांकि एक विकल्प है। आप इसके बजाय एक रिबास करने के लिए बता सकते हैं:
git pull --rebase
और आपको यह मिलेगा:
मेरी राय में, विद्रोही संस्करण के कई फायदे हैं जो ज्यादातर आपके कोड और इतिहास दोनों को साफ रखने के आसपास होते हैं, इसलिए मैं इस तथ्य से थोड़ा मारा हूं कि गिट डिफ़ॉल्ट रूप से मर्ज करता है। हां, आपके स्थानीय कमिट की हैश बदल जाएगी, लेकिन यह बदले में मिलने वाले सरल इतिहास के लिए भुगतान करने के लिए एक छोटी सी कीमत की तरह लगता है।
किसी भी तरह से मैं यह सुझाव नहीं दे रहा हूं कि यह किसी तरह एक बुरा या गलत डिफ़ॉल्ट है, हालांकि। मुझे सिर्फ उन कारणों के बारे में सोचने में परेशानी हो रही है जो डिफ़ॉल्ट के लिए मर्ज को पसंद किया जा सकता है। क्या हमारे पास कोई अंतर्दृष्टि है कि इसे क्यों चुना गया? क्या ऐसे फायदे हैं जो इसे डिफ़ॉल्ट के रूप में अधिक उपयुक्त बनाते हैं?
इस प्रश्न के लिए प्राथमिक प्रेरणा यह है कि मेरी कंपनी कुछ आधारभूत मानकों को स्थापित करने की कोशिश कर रही है (उम्मीद है कि अधिक दिशा-निर्देश जैसे) कि हम अपने रिपॉजिटरी को कैसे व्यवस्थित करते हैं और प्रबंधित करते हैं ताकि डेवलपर्स के लिए रिपॉजिटरी को आसान बनाने के लिए वे पहले से काम नहीं कर सकें। मुझे ऐसा मामला बनाने में दिलचस्पी है कि हमें इस प्रकार की स्थिति में आमतौर पर रिबास करना चाहिए (और शायद डेवलपर्स की सिफारिश करने के लिए डिफ़ॉल्ट रूप से रिबास करने के लिए अपने वैश्विक कॉन्फ़िगरेशन सेट करें), लेकिन अगर मैं इसके विरोध में था, तो मैं निश्चित रूप से पूछ रहा हूं कि रिबास क्यों नहीं है ' यदि यह बहुत अच्छा है तो डिफ़ॉल्ट रूप से टी। इसलिए मैं सोच रहा हूं कि क्या कुछ है जो मुझे याद आ रहा है।
यह सुझाव दिया गया है कि यह प्रश्न डुप्लिकेट है कि क्यों कई वेबसाइट "गिट मर्ज" पर "गिट रीबेस" पसंद करती हैं? ; हालाँकि, यह सवाल कुछ हद तक इस एक के विपरीत है। यह मर्ज के ऊपर रीबेस की खूबियों पर चर्चा करता है, जबकि यह सवाल रिबेज पर मर्ज के लाभों के बारे में पूछता है। वहाँ के उत्तर इस बात को दर्शाते हैं, मर्ज के साथ समस्याओं और छूट के लाभों पर ध्यान केंद्रित करना।