2011-06-17 13 views
5

लोग,Git एक रिमोट ट्रैकिंग शाखा को एकल फाइल धक्का

यह मेरा उपयोग मामला है: मैं 3 शाखाएँ हैं, सभी तीन रिमोट ट्रैकिंग शाखाएं हैं।

git branch 
    release-alpha 
* release-allUS 
    master 

अब मैं रिहाई-allus शाखा में एक नई फ़ाइल जोड़ा मैं एक ऐसा करके प्रतिबद्ध बनाया,:,

git add filter_driver.rb 
git commit -m "driver code" 

अब मैं दूरदराज के रिलीज-allus शाखा को केवल इस फ़ाइल को पुश करने के लिए चाहते हैं मैं उसको कैसे करू? किसी भी प्रतिक्रिया के लिए बहुत बहुत धन्यवाद।

उत्तर

11

चूंकि आपने स्थानीय रूप से किया है, वह सब एक फ़ाइल है, git push आपके रिमोट पर काम करेगा। पुश केवल स्थानीय स्तर पर किए गए कार्यों को धक्का देगा।

git push origin release-allUS 

रूप manojlds टिप्पणी में कहा, यह केवल अगर कुछ चरणों बाकी रहा है काम करेंगे और वहाँ कोई अन्य unpushed स्थानीय प्रतिबद्ध हैं। यदि ऐसा है, तो आप शायद रिमोट से नई ट्रैकिंग शाखा बना रहे हैं, चेरी नई शाखा में स्थानीय प्रतिबद्धता उठाकर, रिमोट को धक्का देकर, फिर मूल ट्रैकिंग शाखा को रीब्रेस कर रहे हैं।

+1

+1 - इसके अलावा, यह तब तक है जब तक कि अन्य फाइलें पहले चरणबद्ध नहीं होतीं। – manojlds

4

मुझे पता है कि आप एक निश्चित शाखा को इस तरह से धक्का कर सकते हैं:

git push origin <branch> 

मैं सिर्फ git push --help का शीघ्रता से अवलोकन लिया और एक शाखा के लिए प्रतिबद्ध एक एकल फाइल भेजने के बारे में कुछ भी कहने के लिए प्रतीत नहीं होता ।

शायद इसके आसपास एक काम integration शाखा होगी जो आप कभी भी स्पर्श करना चाहते हैं, सिवाय इसके कि आप कभी भी स्पर्श नहीं करना चाहते हैं। अगर आप अपनी integration शाखा में हैं, तो आप पर उस प्रतिबद्धता में जो कुछ भी कर रहे थे, उस पर लाने के लिए आप git cherry-pick <commit> कर सकते हैं और फिर git push origin integration करें।

संबंधित मुद्दे