लेकिन मुझे एक त्रुटि मिलती है "[खारिज]" और "नॉन फास्ट फॉरवर्ड" के बारे में कुछ
ऐसा इसलिए है क्योंकि Git शाखाओं से परिवर्तन को आपके वर्तमान मास्टर में विलय नहीं कर सकता है। मान लीजिए कि आपने शाखा की जाँच कर ली है master
, और आप दूरस्थ शाखा में विलय करना चाहते हैं other-branch
। जब आप ऐसा करते हैं:
$ git pull origin other-branch
Git मूल रूप से यह कर रहा है:
$ git fetch origin other-branch && git merge other-branch
यही है, एक pull
बस एक के fetch
बाद एक है merge
। हालाँकि, जब-जब pull
, Git तभी विलीन होगा other-branch
यदि यह तेजी से अग्रेषित मर्ज कर सकता है। एक तेज़-फ़ॉर- मर्ज एक मर्ज है जिसमें जिस शाखा का आप विलय करने का प्रयास कर रहे हैं उसका प्रमुख उस शाखा के प्रमुख का प्रत्यक्ष वंशज है जिसे आप मर्ज करना चाहते हैं। उदाहरण के लिए, यदि आपके पास यह इतिहास का पेड़ है, तो विलय के other-branch
परिणामस्वरूप तेजी से आगे विलय होगा:
O-O-O-O-O-O
^ ^
master other-branch
हालाँकि, यह तेजी से आगे बढ़ने वाला मर्ज नहीं होगा :
v master
O-O-O
\
\-O-O-O-O
^ other-branch
अपनी समस्या को हल करने के लिए, पहले लाने दूरदराज के शाखा:
$ git fetch origin other-branch
फिर इसे अपनी वर्तमान शाखा में मर्ज करें (मैं मान लूंगा master
), और किसी भी मर्ज टकराव को ठीक करें:
$ git merge origin/other-branch
# Fix merge conflicts, if they occur
# Add merge conflict fixes
$ git commit # And commit the merge!