git · Git
संदेश
! [rejected] main -> main (fetch first)
इसका मतलब
remote branch में ऐसे commit हैं जो आपके clone ने कभी देखे नहीं, इसलिए अभी push करना fast-forward नहीं होगा। ऐसा तब होता है जब किसी सहकर्मी ने पहले push कर दिया, या आपने बहुत पहले fetch किया था। git pull --rebase origin main उन commit को ले आता है और आपके commit को उनके ऊपर दोबारा रखता है, फिर push निकल जाता है। यहाँ --force कभी न लगाएँ: जिन commit को आप मिटा देंगे वे किसी और के हैं और आपके repository में मौजूद ही नहीं, इसलिए स्थानीय रूप से उन्हें लौटाने का कोई साधन नहीं।
सुधार
git pull --rebase origin main- कौन देता है
- git
- Git
- 29
git की लगभग हर त्रुटि एक इनकार होती है जिसका अर्थ है "इस स्थिति से वह काम करने पर कुछ खो जाएगा"; fatal: का मतलब है कि git ने कुछ भी बदले बिना रुक गया, और पहली पंक्ति के नीचे की hint: पंक्तियों में असली उपाय होता है।
एरर संदेश कैसे पढ़ें
- पहली पंक्ति से पढ़ें। जितना नीचे जाएँगे उतना वह औज़ार के भीतर की बात है; कारण आम तौर पर सबसे ऊपर लिखा होता है।
- फ़ाइल का नाम और पंक्ति संख्या दिखे तो वहीं से शुरू करें — stack का सबसे ऊपरी frame नहीं, बल्कि वह सबसे ऊपरी पंक्ति जिसमें आपकी लिखी फ़ाइल का नाम हो।
- संदेश को जैसा है वैसा खोजें, पर पहले अपने paths और variable नाम हटा दें — वही खोज को अटकाते हैं।
- वही स्थिति औज़ार के हर संस्करण में अलग शब्दों में आती है। नतीजे बेमेल लगें तो संस्करण संख्या भी जोड़ें।
- कोई सुधार चिपकाने से पहले देख लें कि वह क्या फेंक देगा। इनमें कुछ पलटे नहीं जा सकते।
अक्सर पूछे जाने वाले सवाल
Q. “! [rejected] main -> main (fetch first)” का क्या मतलब है?
remote branch में ऐसे commit हैं जो आपके clone ने कभी देखे नहीं, इसलिए अभी push करना fast-forward नहीं होगा। ऐसा तब होता है जब किसी सहकर्मी ने पहले push कर दिया, या आपने बहुत पहले fetch किया था। git pull --rebase origin main उन commit को ले आता है और आपके commit को उनके ऊपर दोबारा रखता है, फिर push निकल जाता है। यहाँ --force कभी न लगाएँ: जिन commit को आप मिटा देंगे वे किसी और के हैं और आपके repository में मौजूद ही नहीं, इसलिए स्थानीय रूप से उन्हें लौटाने का कोई साधन नहीं।
Q. इसे कैसे ठीक करें?
git pull --rebase origin main — चलाने से पहले ऊपर देख लें कि यह कमांड क्या फेंक देता है।
Q. यह कौन-सा औज़ार देता है?
git। यह Git में आता है, और संदेश 7 शब्दों का है।