आपकी स्थानीय git सेटिंग्स के आधार पर, यदि आपके पास एक शाखा है जो यह जांचती है कि आपने जो क्लोन किया है या वह मौजूद नहीं है, जहां आप धक्का देने की कोशिश कर रहे हैं, तो git आपकी स्थानीय शाखा को धक्का नहीं देगा।
चेतावनी: push.default परेशान है; इसका निहितार्थ Git 2.0 में 'मिलान' से बदलकर 'सरल' हो गया है। इस संदेश को हटाने और पारंपरिक व्यवहार को बनाए रखने के लिए, उपयोग करें:
git config --global push.default मिलान
इस संदेश को समाप्त करने और अब नए व्यवहार को अपनाने के लिए, उपयोग करें:
git config --global push.default simple
जब push.default को 'मिलान' के लिए सेट किया जाता है, तो git स्थानीय शाखाओं को उन दूरस्थ शाखाओं पर धकेल देगा जो पहले से ही समान नाम के साथ मौजूद हैं।
Git 2.0 के बाद से, Git अधिक रूढ़िवादी 'सरल' व्यवहार को परिभाषित करता है, जो वर्तमान शाखा को संबंधित दूरस्थ शाखा में धकेलता है जो 'git pull' का उपयोग कर वर्तमान शाखा को अद्यतन करता है।
'Git help config' देखें और आगे की जानकारी के लिए 'push.default' खोजें। ('सरल' मोड को Git 1.7.11 में पेश किया गया था। यदि आप कभी-कभी Git के पुराने संस्करणों का उपयोग करते हैं, तो 'सरल' के बजाय समान मोड 'current' का उपयोग करें)
घातक: वर्तमान शाखा MyLocalBranchमें कोई अपस्ट्रीम शाखा नहीं है। वर्तमान शाखा को पुश करने के लिए और रिमोट को अपस्ट्रीम के रूप में सेट करें, उपयोग करें
git push --set-upstream origin MyLocalBranch
push.defaultइस तरह सेट के साथ , हाँ,git pushवर्तमान शाखा को मूल में धकेल देगा, जो कि आपके गिथब रेपो है, यह मानते हुए कि आप वहां से क्लोन किए गए हैं। (branch.my_new_branch.remoteयदि आप चाहते थे तो आप एक अलग रिमोट निर्दिष्ट कर सकते थे।) तो क्या आपने यह कोशिश की और यह काम नहीं किया?