2008-10-02 13 views
41

असल में मैं अभी मैं सिर्फ धक्का कई बार टाइप कर रहा हूँ git push mybranch to repo1, repo2, repo3क्या मैं गिट में एक ही कमांड में एक से अधिक भंडारों को दबा सकता हूं?

की तरह कुछ करना चाहता था, और अगर मैं धक्का किया करने के लिए जल्दी में हूँ, मैं सिर्फ उन्हें सभी पृष्ठभूमि को भेजने git push repo1 & git push repo2 &

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

उत्तर

79

उस Git में प्रति दूरदराज के कई URL हो सकता है, भले ही git remote आदेश यह पिछले मैं जाँच की बेनकाब करने के लिए प्रकट नहीं किया था।

[remote "public"] 
    url = [email protected]:kch/inheritable_templates.git 
    url = [email protected]:projects/inheritable_templates.git 

अब आप कह सकते हैं "git push public" एक बार में दोनों रेपोस को पुश करने के लिए: .git/config में, कुछ इस तरह डाल दिया।

+2

अच्छी युक्ति। नोट, यह केवल पुश के लिए काम करता है। लाने के लिए यह केवल पहली यूआरएल प्रविष्टि का उपयोग करना प्रतीत होता है। ऐसा लगता है कि आप इस बहु-रिमोट पर एक शाखा को लक्षित कर सकते हैं। तो आप दूरस्थ नाम के बिना "गिट पुल" कर सकते हैं यदि आप अपनी कॉन्फ़िगरेशन '[शाखा "मास्टर"] रिमोट = सार्वजनिक' – studgeek

+0

पर कुछ ऐसा जोड़ते हैं, धन्यवाद, मेरा जीवन बचाता है! –

10

मेरे पास क्या एक नंगे भंडार है जो मेरे घर निर्देशिका में रहता है जो मैं धक्का देता हूं। उस भंडार में पोस्ट-अपडेट हुक फिर कई अन्य सार्वजनिक रूप से दृश्यमान स्थानों पर धक्का देता है या rsyncs।

यहाँ मेरी हुक/उत्तर अद्यतन है:

#!/bin/sh 
# 
# An example hook script to prepare a packed repository for use over 
# dumb transports. 
# 
# To enable this hook, make this file executable by "chmod +x post-update". 

# Update static info that will be used by git clients accessing 
# the git directory over HTTP rather than the git protocol. 
git-update-server-info 

# Copy git repository files to my web server for HTTP serving. 
rsync -av --delete -e ssh /home/afranco/repositories/public/ [email protected]:/srv/www/htdocs/git/ 

# Upload to github 
git-push --mirror github 
+0

यह अच्छा है। गिट-अपडेट-सर्वर-जानकारी साझा या व्याख्या करने की देखभाल? – kch

+0

जैसा कि मैंने उत्तर में जोड़ा है: git-update-server-info कुछ स्थिर जानकारी फ़ाइलों को लिखता है जिनका उपयोग गिट क्लाइंट द्वारा गिट प्रोटोकॉल की बजाय HTTP पर गिट निर्देशिका तक पहुंचने के लिए किया जाएगा। अधिक जानकारी के लिए निम्नलिखित देखें: http://www.kernel.org/pub/software/scm/git/docs/git-update-server-info.html –

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

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