होम·एरर संदेश

git · Git

संदेश

Your branch and 'origin/main' have diverged

इसका मतलब

आपकी branch और origin/main दोनों के पास ऐसे commit हैं जो दूसरे के पास नहीं हैं, यानी इतिहास दो धाराओं में बँट गया है। ऐसा तब होता है जब आप स्थानीय रूप से commit कर रहे थे और कोई और push कर रहा था, या जब आपने पहले भेजे commit को amend या rebase से बदल दिया। git pull --rebase आपके commit को उनके ऊपर दोबारा रखकर इतिहास को एक लकीर में रखता है, पर आपके commit को नए hash देता है, इसलिए यदि वे पहले साझा हो चुके थे तो वही काम दो बार दर्ज हो जाता है; ऐसे मौके पर --no-rebase, जो एक merge commit छोड़ता है, अधिक सुरक्षित है।

सुधार

git pull --rebase origin main
कौन देता है
git
Git
29

git की लगभग हर त्रुटि एक इनकार होती है जिसका अर्थ है "इस स्थिति से वह काम करने पर कुछ खो जाएगा"; fatal: का मतलब है कि git ने कुछ भी बदले बिना रुक गया, और पहली पंक्ति के नीचे की hint: पंक्तियों में असली उपाय होता है।

एरर संदेश कैसे पढ़ें

  • पहली पंक्ति से पढ़ें। जितना नीचे जाएँगे उतना वह औज़ार के भीतर की बात है; कारण आम तौर पर सबसे ऊपर लिखा होता है।
  • फ़ाइल का नाम और पंक्ति संख्या दिखे तो वहीं से शुरू करें — stack का सबसे ऊपरी frame नहीं, बल्कि वह सबसे ऊपरी पंक्ति जिसमें आपकी लिखी फ़ाइल का नाम हो।
  • संदेश को जैसा है वैसा खोजें, पर पहले अपने paths और variable नाम हटा दें — वही खोज को अटकाते हैं।
  • वही स्थिति औज़ार के हर संस्करण में अलग शब्दों में आती है। नतीजे बेमेल लगें तो संस्करण संख्या भी जोड़ें।
  • कोई सुधार चिपकाने से पहले देख लें कि वह क्या फेंक देगा। इनमें कुछ पलटे नहीं जा सकते।

अक्सर पूछे जाने वाले सवाल

Q. “Your branch and 'origin/main' have diverged” का क्या मतलब है?

आपकी branch और origin/main दोनों के पास ऐसे commit हैं जो दूसरे के पास नहीं हैं, यानी इतिहास दो धाराओं में बँट गया है। ऐसा तब होता है जब आप स्थानीय रूप से commit कर रहे थे और कोई और push कर रहा था, या जब आपने पहले भेजे commit को amend या rebase से बदल दिया। git pull --rebase आपके commit को उनके ऊपर दोबारा रखकर इतिहास को एक लकीर में रखता है, पर आपके commit को नए hash देता है, इसलिए यदि वे पहले साझा हो चुके थे तो वही काम दो बार दर्ज हो जाता है; ऐसे मौके पर --no-rebase, जो एक merge commit छोड़ता है, अधिक सुरक्षित है।

Q. इसे कैसे ठीक करें?

git pull --rebase origin main — चलाने से पहले ऊपर देख लें कि यह कमांड क्या फेंक देता है।

Q. यह कौन-सा औज़ार देता है?

git। यह Git में आता है, और संदेश 6 शब्दों का है।

साथ आने वाले एरर