एक परियोजना के लिए एक ही समय में बिटबकेट और गिटहब का उपयोग कैसे करें?


94

मेरे पास एक रिपॉजिटरी है जिसे मैं बिटबकेट और गीथहब में धकेलना चाहता हूं। मेरी रिपॉजिटरी को दोनों द्वारा होस्ट किया जाना महत्वपूर्ण है।

क्या गिट में ऐसा करने का कोई तरीका है?


4
यह बहुत उपयोगी लगता है। खासकर जब एक रिपॉजिटरी नीचे हो। फिलहाल बिटकॉइन डाउन है और मैं मूल रूप से अपना काम करने में सक्षम नहीं हूं।
imranal

जवाबों:


117

आप git के साथ कई रिमोट रिपॉजिटरी का उपयोग कर सकते हैं। लेकिन आपको अपने 2 के अलग-अलग रीमेक में धक्का देना होगा जो मुझे विश्वास है।

उदाहरण के लिए, यदि आपकी परियोजना वर्तमान में गिथब की ओर इशारा करती है, तो आप अपने वर्तमान दूरस्थ भंडार का नाम बदल सकते हैं github:

$ git remote rename origin github

आप फिर एक और रिमोट रिपॉजिटरी जोड़ सकते हैं, कह सकते हैं bitbucket:

$ git remote add bitbucket git@bitbucket.org:your_user/your_repo.git

अब गिटहब या बिटबकेट पर संबंधित शाखा में परिवर्तन को धकेलने के लिए आप यह कर सकते हैं:

$ git push github HEAD
$ git push bitbucket HEAD

एक ही नियम खींचने पर लागू होता है: आपको यह निर्दिष्ट करने की आवश्यकता है कि आप किस रिमोट से खींचना चाहते हैं:

$ git pull github your_branch
$ git pull bitbucket your_branch

9
आने वाले भावी लोगों पर ध्यान दें, आपकी .ssh/configफ़ाइल इस सेटअप को प्राप्त करने की कुंजी है। उपयोग करने के लिए पहचान करने के लिए एक Host github.comऔर एक जोड़ें । फिर आपको बिटबकेट और गीथब के बीच आगे और पीछे स्वैप करने की अनुमति से इनकार करने की अनुमति नहीं मिलेगी। आशा है कि यह किसी की मदद करता है। Host bitbucket.orgIdentityFile
अल्टिमेटर

31

हां, आप यह कर सकते हैं। आपको दो बार पुश करने की ज़रूरत नहीं है, लेकिन बस एक बार दोनों रिमोट रिपॉजिटरी पर पुश करने के लिए। मेरे पास पहले भी यही मुद्दा था, इसलिए लिखा कि यहां कैसे करना है। Git: Github और Bitbucket दोनों से पुश / पुश करें


2
अच्छी पोस्ट! यदि आप कर सकते हैं तो यहां एक गर्मियों को शामिल करना अच्छा होगा।
OneHoopyFrood

28

कुछ आसान समाधान।

एकाधिक रीमोट को स्वतंत्र रूप से धकेला (और लाया गया)

अपने सिर को पाने के लिए यह सबसे आसान है, लेकिन बनाए रखने के लिए सबसे अधिक प्रयास।

हम अपना नया रिमोट जोड़कर शुरू करते हैं:

$ cd myproject 
$ git remote add bitbucket ssh://git@bitbucket.org/user/myproject.git 
$ git push bitbucket master

सीधे आगे ना? हर बार जब हम कोई बदलाव करते हैं, तो हमें अपने मूल "मूल" और हमारे नए रिमोट "बिटबकेट" पर जोर देना होगा:

$ git push origin master
$ git push bitbucket master

बड़े पैमाने पर ओवरहेड नहीं है, लेकिन मुझे यकीन है कि यह समय के साथ बढ़ जाएगा। या आप एक '' अन्य उपनाम gpob = "git पुश ओरिजिन मास्टर और & git पुश बिटबकेट मास्टर" बना सकते हैं।

एक से अधिक URL वाले एकल रिमोट को (और लाया गया) लगातार

इस पद्धति के साथ, हम अपने मौजूदा दूरस्थ "मूल" में एक अतिरिक्त URL जोड़ने जा रहे हैं:

$ cd myproject
$ git remote set-url --add origin ssh://git@bitbucket.org/user/myproject.git
$ git push origin master
Everything up-to-date
Everything up-to-date

बहुत कम प्रयास!

बेशक सिल्वर लाइनिंग में एक बादल होता है, और इस मामले में, यह है कि जब हम एक साथ कई यूआरएल को पुश कर सकते हैं, तो हम केवल मूल "मूल" से प्राप्त कर सकते हैं (आप इसे बदल सकते हैं, लेकिन यह इस पद के दायरे से बाहर है )।

अंत में, यह देखने के लिए कि किस रिमोट से लाया जाएगा:

$ git remote -v show

मैंने इसके बारे में भी ब्लॉग किया

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.