मुझे शायद कुछ सही नहीं मिल रहा है, लेकिन क्या कोई मुझे बता सकता है कि git rebase
विवादों में क्यों परिणाम देता है, जबकि git merge
(समान शाखा) नहीं है?गिट: विलय के दौरान विवादों में रिबेस का परिणाम क्यों होता है?
जहां तक मुझे पता है कि git rebase
मेरी वर्तमान शाखा में किए गए कामों से पहले दूसरी शाखा से काम करता है, जबकि git merge
वही काम करता है और उन्हें मेरी शाखा में पैच के रूप में लागू करता है, है ना? diff
तो वही नहीं है, हालांकि शायद उलट दिया गया है? यकीन नहीं है कि दूसरी शाखा के साथ मेरी शाखा क्यों पैच करना कोई समस्या नहीं है, जबकि दूसरी शाखा को मेरी प्रतिबद्धता के साथ पैच करना है।
मैं समझता हूं कि आप क्या कह रहे हैं, लेकिन मुझे अभी भी यह पूरी तरह से नहीं मिल रहा है। कहें मेरी शाखा ए ने ए, बी और सी किया है। फिर मैं शाखा डी और ई के साथ शाखा बी बनाते हैं। Commit f शाखा ए पर बनाया गया है ** ** रीबेस ** (शाखा बी पर होने पर) परिणामस्वरूप: ए, बी, सी, एफ, डी, ई; ** मर्ज ** परिणामस्वरूप होगा: ए, बी, सी, डी, ई, एफ। अब पृथ्वी पर प्रतिबद्धता सी के साथ एक विलय संघर्ष कैसे कर सकता है अगर यह पहली जगह में शाखा ए पर प्रतिबद्ध सी के शीर्ष पर बनाया गया था? – minitauros
@minitauros (1) एक विलय के परिणामस्वरूप दो शाखाएं शामिल हो जाएंगी: एक, बी, सी, एफ और एक के साथ एक, बी, सी, डी, ई, एक रैखिक इतिहास नहीं। (2) शाखा ए पर किए गए एफ को प्रतिबद्ध करते हैं, कोई संघर्ष नहीं करते हैं, तो मैं नहीं देख सकता कि यह पुन: प्रयास करते समय संघर्ष कैसे शुरू कर सकता है (यदि आपके पास अधिक विस्तृत उदाहरण है, तो यह बहुत अच्छा होगा)। (3) लेकिन यदि एफ और ई के साथ डी संघर्ष उस संघर्ष को हल करता है, तो एक विद्रोह संघर्ष को फिर से चलाएगा जबकि एक विलय नहीं होगा। – coredump
ठीक है, तो स्पष्टीकरण के लिए धन्यवाद! इसे थोड़ा सा साफ़ करता है। दुर्भाग्यवश मेरे पास उदाहरण मौजूद नहीं है (जैसा कि मैंने इसे ठीक किया है), लेकिन यदि मैं इसे फिर से चलाता हूं और यदि एक ही प्रश्न उठता है, तो मैं इस पोस्ट को अधिक जानकारी के साथ अपडेट करूंगा :)। अभी के लिए मुझे लगता है कि यह जवाब काफी अच्छा है, धन्यवाद! – minitauros