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