पुश पुश उत्पत्ति HEAD का क्या अर्थ है?


102

मैंने पाया, आधिकारिक गाइड में :

git push origin HEAD

रिमोट पर वर्तमान शाखा को समान नाम पर धकेलने का एक आसान तरीका।

हालाँकि, कमांड का अर्थ मेरे लिए स्पष्ट नहीं है। इसका प्रभाव क्यों होता है?

मुझे कोई उत्तर नहीं मिला ( यह सवाल समस्या का इलाज करने के लिए लगता है, लेकिन शीर्षक भ्रामक है)।

जवाबों:


129

HEADवर्तमान शाखा के शीर्ष पर इंगित करता है। gitउस से शाखा का नाम प्राप्त कर सकते हैं। तो यह इस प्रकार है:

git push origin CURRENT_BRANCH_NAME

लेकिन आपको वर्तमान शाखा का नाम याद रखना / लिखना नहीं है। साथ ही यह आपको दुर्घटना से गलत दूरस्थ शाखा को धकेलने से रोकता है।

यदि आप वर्तमान शाखा से भिन्न शाखा को धकेलना चाहते हैं तो कमांड काम नहीं करेगी।


17
यह उल्लेख करने में मदद कर सकता है कि HEADयह एक प्रतीकात्मक रेफरी है, और इसके साथ देखा जा सकता है git symbolic-ref HEAD
जॉन स्जाकमेस्टर

git push originऔर : के बीच अंतर क्या है git push origin HEAD?
मैकिएक

1
@MaciejD एक शाखा का नाम निर्दिष्ट किए बिना धक्का मूल काम नहीं करता है। या तो आप एक शाखा का नाम जोड़ते हैं या आप HEAD कहते हैं, जिसका अर्थ है कि आप जिस शाखा में हैं
Schwarzie2478

2
वास्तव git push originमें एक वैध कमांड है। यदि push.defaultGit config सेटिंग सेट है nothingतो git push origin"कुछ भी नहीं (त्रुटि बाहर)" के अनुसार धक्का नहीं देगा man git-config। लेकिन अन्य push.defaultसेटिंग्स में अन्य व्यवहार हैं। के लिए खोज push.defaultमें man git-config। इसके अलावा, "जब कमांड लाइन निर्दिष्ट नहीं करती है कि कहां पुश करना है" और "जब कमांड लाइन निर्दिष्ट नहीं करता है कि क्या पुश करना है" तो विवरण अनुभाग में man git-push(जो man git-push, नहीं man git-config)।
डेविड विनीकी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.