मेरे पास एक रिपॉजिटरी है जिसे मैं बिटबकेट और गीथहब में धकेलना चाहता हूं। मेरी रिपॉजिटरी को दोनों द्वारा होस्ट किया जाना महत्वपूर्ण है।
क्या गिट में ऐसा करने का कोई तरीका है?
मेरे पास एक रिपॉजिटरी है जिसे मैं बिटबकेट और गीथहब में धकेलना चाहता हूं। मेरी रिपॉजिटरी को दोनों द्वारा होस्ट किया जाना महत्वपूर्ण है।
क्या गिट में ऐसा करने का कोई तरीका है?
जवाबों:
आप 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
.ssh/config
फ़ाइल इस सेटअप को प्राप्त करने की कुंजी है। उपयोग करने के लिए पहचान करने के लिए एक Host github.com
और एक जोड़ें । फिर आपको बिटबकेट और गीथब के बीच आगे और पीछे स्वैप करने की अनुमति से इनकार करने की अनुमति नहीं मिलेगी। आशा है कि यह किसी की मदद करता है। Host bitbucket.org
IdentityFile
हां, आप यह कर सकते हैं। आपको दो बार पुश करने की ज़रूरत नहीं है, लेकिन बस एक बार दोनों रिमोट रिपॉजिटरी पर पुश करने के लिए। मेरे पास पहले भी यही मुद्दा था, इसलिए लिखा कि यहां कैसे करना है। Git: Github और Bitbucket दोनों से पुश / पुश करें
कुछ आसान समाधान।
अपने सिर को पाने के लिए यह सबसे आसान है, लेकिन बनाए रखने के लिए सबसे अधिक प्रयास।
हम अपना नया रिमोट जोड़कर शुरू करते हैं:
$ 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 जोड़ने जा रहे हैं:
$ 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
मैंने इसके बारे में भी ब्लॉग किया ।