दर्पण गीठब को गीतालाब


11

एक स्थानीय गिटलैब में मैंने प्रोजेक्ट nova ( https://github.com/openstack/nova ) की एक प्रति बनाई ।

मैं स्थानीय नोवा रेपो को गितुब के साथ कैसे रखता हूं, शायद प्रति घंटे या प्रति दिन एक बार अपडेट कर रहा हूं?

मुझे बिटमनी के लिए यहाँ वर्णित के समान एक समाधान चाहिए: http://wiki.bitnami.com/Applications/BitNami_GitLab#Keeping_in_sync_with_the_GitLab-repository_at_GitHub

(मैंने ओपनस्टैक को स्थापित करने के लिए Devstack का उपयोग किया था।)

जवाबों:


6

GitLab में अब यह सुविधा अंतर्निहित है!
GitLab EE 8.2 के बाद से यह समर्थित हैहुर्रे!

एक दूरस्थ रिस्पांसरी से खींचना

आप अपनी शाखाओं, टैगों और स्वचालित रूप से एक अपस्ट्रीम रिपॉजिटरी से अपडेट किए गए एक रिपॉजिटरी सेट कर सकते हैं।
...

एक नया प्रोजेक्ट बनाते समय, आप रिपॉजिटरी मिररिंग को सक्षम कर सकते हैं जब आप रिपॉजिटरी को "URL द्वारा किसी भी रेपो" से आयात करना चुनते हैं। Git रिपॉजिटरी का पूरा URL दर्ज करने के लिए और दर्पण रिपॉजिटरी चेकबॉक्स पर क्लिक करें ।

GitLab ऑटो मिररिंग

किसी मौजूदा प्रोजेक्ट के लिए, आप अपनी परियोजना की सेटिंग्स and रिपॉजिटरी में जाकर और "रिमोट रिपॉजिटरी से खींचो" अनुभाग पर जाकर मिरर पुलिंग सेट कर सकते हैं । "मिरर रिपॉजिटरी" बॉक्स को चेक करें और नीचे दिए गए बदलाव सहेजें को हिट करें
...


1
उनके उदाहरण में गीतालाब का उपयोग किया गया है, मैंने वास्तव में गीथूब के साथ उस हिस्से को छोड़कर इसका पालन किया, और अद्यतन करने वाली चीज़ कभी खत्म नहीं हुई ...
मार्कस जेले

@MarcusJ बिल्कुल यहाँ, क्या आपको कोई हल मिला?
मेम्फिज

मुझे ऐसा करने में थोड़ी देर हो गई है, लेकिन मुझे लगता है कि मैंने जो किया वह ssh के प्रारूप में ssh url का उपयोग किया था: //git@gitlab.com: UserName: RepoName.git
MarcusJ

मैंने सिर्फ यह काम किया है, जीथब से गिटलैब तक खींचना आसान है यदि आपका रेपो सार्वजनिक है, तो बस इस URL को गिटलैब सेटिंग्स में पेस्ट करें: https://github.com/yourGithubUserName/repoName.gitफिर कॉम्बोक्स में पासवर्ड विधि चुनें और पासवर्ड टेक्स्टबॉक्स खाली छोड़ दें
knocte

4

यदि आपको कभी भी स्थानीय आवागमन की आवश्यकता नहीं है, तो निम्नलिखित नुस्खा काम करेगा:

इसके साथ रेपो क्लोन करें --mirror:

git clone --mirror https://github.com/openstack/nova.git

फिर एक क्रोनजॉब में, आप एक घंटे के अपडेट के लिए ऐसा करते हैं:

0 * * * * cd /path/to/nova.git && git fetch

इस --mirrorतरह से रीफ़्रेश सेट करता है कि बाद के भ्रूण सभी स्थानीय रेफरी को अपडेट करेंगे, इसलिए आपको परिवर्तनों को मर्ज करने की आवश्यकता नहीं है, निश्चित रूप से इसका मतलब यह है कि उस रेपो को धकेल दिया गया है।


ऐसा नहीं लगता कि यह सवाल का जवाब देता है, जो कि गीताब में एक दर्पण पाने के लिए है।
केन विलियम्स


0

रेपो को अपडेट करने के लिए क्रोन जॉब बनाएं


Gitlab में सेटिंग कैसे करें?
user186107

2
आपके द्वारा आवश्यक विवरण के साथ अपने प्रश्न को अपडेट करें, आपने क्या प्रयास किया है, और सटीक समस्या क्या है।
ड्रू खुरई

0

आप क्रोन नौकरियों का उपयोग करके ऐसा कर सकते हैं ।

अपने टर्मिनल प्रकार में crontab -e(अपने क्रॉस्टैब को संपादित करने के लिए) और नीचे के साथ नीचे एक नई लाइन जोड़ें।

* 0 * * * git clone ssh://username@hostname:port/repo

यह हर दिन आधी रात को एक क्लोन चलाएगा।


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