git merge
उस के लिए एक प्रतिस्थापन अनपेक्षित फ़ाइलों को अधिलेखित कर देगा
नीचे दी गई टिप्पणियाँ 'एफओआई' का उपयोग 'ब्याज की फाइलें', फाइलों के लिए करती हैं
- दाता शाखा में मौजूद है,
- प्राप्त शाखा में मौजूद नहीं है,
- और मर्ज को रोक रहे हैं क्योंकि वे आपके वर्किंग डायरेक्टरी में मौजूद और अनट्रैक हैं।
git checkout -f donor-branch # replace FOI with tracked `donor` versions
git checkout receiving-branch # FOI are not in `receiving`, so they disapppear
git merge donor-branch # now the merge works
git pull
उस के लिए एक प्रतिस्थापन अनपेक्षित फ़ाइलों को अधिलेखित कर देगा
pull = fetch + merge
, इसलिए हम ऊपर दिए git fetch
गए git checkout -f, git checkout, git merge
ट्रिक को फॉलो करते हैं।
git fetch origin # fetch remote commits
git checkout -f origin/mybranch # replace FOI with tracked upstream versions
git checkout mybranch # FOI are not in mybranch, so they disapppear
git merge origin/mybranch # Now the merge works. fetch + merge completes the pull.
विस्तृत विवरण
git merge -f
मौजूद नहीं है, लेकिन git checkout -f
करता है।
हम ब्याज की फ़ाइलों को निकालने के लिए git checkout -f
+ git checkout
(ऊपर देखें) का उपयोग करेंगे , और फिर आपका मर्ज सामान्य रूप से आगे बढ़ सकता है।
चरण 1. यह चरण दाता शाखा के ट्रैक किए गए संस्करणों के साथ जबरन एफओआई की जगह लेता है (यह दाता शाखा की जांच भी करता है, और बाकी कामकाजी डायर को अद्यतन करता है)।
git checkout -f donor-branch
चरण 2. यह चरण एफओआई को हटा देता है क्योंकि उन्हें हमारी वर्तमान (दाता) शाखा में ट्रैक किया जाता है, और receiving-branch
हम स्विच में अनुपस्थित हैं ।
git checkout receiving-branch
चरण 3. अब जब कि एफओआई अनुपस्थित है, दाता शाखा में विलय करने से किसी भी अनटैक की गई फ़ाइलों को अधिलेखित नहीं किया जाएगा, इसलिए हमें कोई त्रुटि नहीं मिलती है।
git merge donor-branch