परिदृश्य:
- मैं एक नई शाखा बनाता हूं
- उस पर हैक करें
- इसे कमिट करें
- धक्का दो
- उस पर कुछ और हैक करें
- फिर से कमिट करें
- फिर से पुश करने की कोशिश करें
Git का जवाब:
अद्यतनों को अस्वीकार कर दिया गया क्योंकि आपकी वर्तमान शाखा की नोक इसके दूरस्थ समकक्ष के पीछे है। आदि।
मैं इस शाखा पर केवल एक हैकिंग कर रहा हूं - कोई और इसे छू नहीं रहा है। दूरस्थ शाखा वास्तव में स्थानीय शाखा के पीछे है। मुझे बिल्कुल नहीं खींचना चाहिए था।
(और अगर मैं खींचता हूं, तो गिट दोनों के बीच संघर्ष की रिपोर्ट करता है, और मुझे शाखा को खुद में विलय करने के लिए मजबूर करता है)
ऐसा (संभावना) क्यों हो रहा है? और मैं इसका निदान / निदान कैसे कर सकता हूं?
स्पष्ट होने के लिए, मैं कहीं भी शाखा नहीं लगा रहा हूं, और कोई भी इस पर काम नहीं कर रहा है:
Remote: Commit A -------- Commit B
Local: Commit A -------- Commit B -------- Commit C
C, B की सीधी निरंतरता है, जिसमें कोई शाखा शामिल नहीं है। लेकिन git को लगता है कि C A की एक शाखा है:
Remote: Commit A -------- Commit B
------- Commit C
/
Local: Commit A -------- Commit B
यह; यह B की सीधी निरंतरता है।
git remote -v
औरgit show remote origin
यह मानते हुए कि आप जिस समस्या से परेशान हैं, वह मूल है) सहायक हो सकता है