मैं गिट चेरी पिक का उपयोग करने के तरीके सीखने की कोशिश कर रहा हूं, मैंने मैनुअल पेज पढ़े हैं git
git cherry-pick --help
कर रिटर्न देता है लेकिन यह मदद नहीं करता है। मैं नीचे की समस्या का प्रयास और व्याख्या करूंगा। मेरे पास दो शाखाएं master
और other
हैं।गिट चेरी-पिक विलय के दौरान संघर्ष विलय का कारण बनता है
शाखा master
द हिस्ट्री प्रतिबद्ध पर
0x2 Second commit from master branch
0x1 Initial commit
और भंडार है कि मैं पर नज़र रखने हूँ readme
में केवल फाइल है निम्नलिखित सामग्री
Some text
शाखा other
पर है प्रतिबद्धता इतिहास
0x5 CHECKPOINT, going to cherry-pick onto master
0x4 second commit from branch other
0x3 first commit from other branch:
0x2 Second commit from master branch
0x1 Initial commit
और readme
फ़ाइल की सामग्री
Some text.
Adding some text from other branch. Adding some more text.
Going to cherry-pick this commit.
कार्यशील निर्देशिका कोई ट्रैक न किए गए परिवर्तनों के साथ दोनों शाखाओं पर साफ है कर रहे हैं। इस बिंदु से जब मैं मास्टर शाखा में स्विच करता हूं और git merge other
के साथ विलय करता हूं तो विलय विलय विवादों के साथ शानदार ढंग से होता है। लेकिन जब मैं git cherry-pick 0x5
कोशिश वहाँ किसी मर्ज विरोध हो, तो मैं से git
error: could not apply 0x5... CHECKPOINT, going to cherry-pick onto master
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
निम्नलिखित उत्पादन और readme
फ़ाइल निम्न सामग्री
<<<<<<< HEAD
Some text
=======
Some text.
Adding some text from other branch. Adding some more text.
Going to cherry-pick this commit.
>>>>>>> 0x5... CHECKPOINT, going to cherry-pick onto master
क्यों इस मर्ज संघर्ष है मिल सकता है? मैं समझने की कोशिश कर रहा हूं कि ऐसा क्यों होता है। cherry-pick
आईएनजी cherry-pick
अपने आप को संपादित करने वाले सभी संपादनों को बनाने की कोशिश करने के समान नहीं होना चाहिए और फिर उस परिवर्तन को शाखा (master
इस मामले में) में बदलना चाहिए?
साथ ही git
में विलय विवाद होने पर भी? मुझे अजीब समय पर उन्हें लग रहा है। क्या यह कार्यान्वयन निर्भर है (उदाहरण के लिए मर्ज करने के लिए उपयोग किए गए एल्गोरिदम पर निर्भर)?
धन्यवाद!
लेकिन अगर मैं आगे बढ़ता हूं और मैन्युअल रूप से बदलाव करता हूं जो चेरी-पिक के माध्यम से किए जाते हैं तो ऐसा कोई मुद्दा नहीं है, तो जब मैं चेरी-पिक लेता हूं तो फिर कोई समस्या क्यों होती है? दोनों दोनों अर्थात् समान नहीं होना चाहिए? – Curious
@ विलय गिट बहुत विचित्र है जब विलय कर रहा है (जो चेरी-पिक भी है)। यह किसी भी छोटी सी चीज़ के बारे में चिंतित होगा और आपसे इसे संभालने के लिए कहेंगे। यह कष्टप्रद है लेकिन फिर, यह अनुमान लगाने के लिए बेहतर नहीं है कि यह निश्चित रूप से नहीं जानता है। –
मैंने आपके उत्तर को ऊपर उठाया लेकिन मुझे अभी भी इसे समझने में कुछ परेशानी हो रही है। लेकिन फिर जब मैं विलय हुआ तो कोई विलय संघर्ष क्यों नहीं हुआ? मैंने फ़ाइल को 'अन्य' शाखा में सभी कामों में अंत में संपादित किया है, इसलिए वहां एक मर्ज भी होना चाहिए था? – Curious