पर पुश करें, मैं केवल git push
का उपयोग केवल मौजूदा शाखा को कॉन्फ़िगर किए गए अपस्ट्रीम पर धक्का देने के लिए करना चाहता हूं। इसके लिए मैंने git config push.default upstream
सेट किया जो वास्तव में सही काम करता है।वर्तमान शाखा को गेरिट
अब मैंने गेरिट के लिए उपयुक्त रिमोट सेट अप करने का प्रयास किया, जो स्वचालित रूप से refs/for/*
पर चला जाता है।
विचार यह इस तरह से कर रहा था:
[remote "gerrit"]
url = ssh://host:port/repo
push = refs/heads/*:refs/for/*
मैं git push gerrit
टाइप करें और Git सही रेफरी को केवल वर्तमान शाखा पुश करने के लिए उम्मीद करना चाहते हैं।
दुर्भाग्य से अब गिट सभी स्थानीय शाखाओं को गेरिट को धक्का देने की कोशिश करता है। - क्या गिट को केवल push.default
के साथ मौजूदा शाखा को धक्का देने का कोई तरीका है?
अद्यतन:
- Git धक्का केवल एक ही refspec उपयोग कर सकते हैं।
- यदि कमांड लाइन पर एक स्पष्ट रेफस्पेक दिया जाता है तो इसका उपयोग किया जाता है।
- यदि कमांड लाइन पर कोई भी नहीं दिया गया है, तो दूरस्थ के साथ परिभाषित एक का उपयोग किया जाता है।
- यदि रिमोट के साथ कोई भी नहीं दिया जाता है, तो केवल push.default पर विचार किया जाता है।
गेरिट के लिए मुझे शाखा के साथ 'शाखा: रेफरी/फॉर/शाखा' जैसी रीफस्पेक की आवश्यकता है, जिसमें शाखा वर्तमान शाखा है।
प्रश्न:
- वहाँ के लिए क्या push.default = नदी के ऊपर क्या कर रहा है एक स्पष्ट refspec बराबर है?
- क्या सादा
git push
बनाने के लिए गिट को कॉन्फ़िगर करने का कोई तरीका है स्वचालित रूप से सही रेफरी/रेफरी के लिए पुश करें?
वर्तमान में मुझे मिला सबसे अच्छा तरीका एक अलग लिपि में सब कुछ लपेट रहा है जैसे here। लेकिन मुझे अभी भी विश्वास नहीं है कि केवल एक उपयुक्त रेफस्पेक के साथ यह संभव नहीं है।
ठीक है। बस यहां विभिन्न विकल्पों की जांच करें। मैंने सीखा है कि 'push.default' केवल तभी माना जाता है जब कोई रेफस्पेक नहीं दिया जाता है। और यदि आप कमांड लाइन के माध्यम से एक रेफस्पेक (जैसे 'HEAD') की आपूर्ति करते हैं, तो यह रिमोट के साथ दिए गए रेफस्पेक को ओवरराइड करता है। इसलिए यह केवल 'रेफ/हेड' को दबाएगा, जो आप नहीं चाहते हैं। दिलचस्प। – VonC