2011-10-05 14 views
9

मैं कोलो सुविधा में एक निजी सर्वर पर अपना निजी गिट भंडार चला रहा हूं। मैं इसे किसी भी निजी परियोजनाओं के लिए उपयोग करता हूं जिसे मैं स्रोत नहीं खोल सकता। मैं अपने सभी ओपन सोर्स काम के लिए जिथब का उपयोग करता हूं।दो गिट रेपो सिंक्रनाइज़ कैसे रखें?

मैं डेस्कटॉप उबंटू मशीन और मेरे मैकबुकप्रो पर विकास करता हूं। जैसे-जैसे मैं अपने विकास प्रणालियों में बदलाव करता हूं, मैं कोलो में मूल में बदलावों को धक्का देता हूं और दूसरी प्रणाली में खींचता हूं। मैं ज्यादातर तीन प्रणालियों को अधिकांश भाग के लिए अद्यतित रखने के बारे में बहुत अच्छा हूं, ज्यादातर बैकअप और आपदा पुनर्प्राप्ति उद्देश्यों के लिए।

अब बिट्टबकेट निजी गिट होस्टिंग मुफ्त में पेश कर रहा है, मैं वहां अपनी परियोजनाओं का एक क्लोन जोड़ने पर विचार कर रहा हूं। इसके अलावा, मैं बिटबकेट द्वारा प्रदान की गई अतिरिक्त सुविधाओं का उपयोग कर सकता हूं कि मेरे barebones निजी गिट सर्वर प्रदान नहीं करता है। हालांकि, मैं अपने कोलो सर्वर पर बैकअप रिडंडेंसी के लिए निजी रिपोज़ की एक प्रति रखना जारी रखना चाहता हूं।

  1. मेरी मानक के विकास की प्रक्रिया (संपादित करें, जोड़, प्रतिबद्ध, पुश) को बदलने के बिना मैं कैसे अपने आप समन्वयित एक bitbucket परियोजना के लिए अपने सर्वर को धक्का दे दिया करता है सकते हैं,:

    तो मैं कुछ प्रश्न हैं? जब भी मैं अपने गिट सर्वर पर धक्का देता हूं, तो मैं चाहता हूं कि वे स्वचालित रूप से मेरी बिटबकेट परियोजना पर धक्का दें। मैं अपना वर्कफ़्लो नहीं बदलना चाहता हूं और अपने विकास ग्राहकों के लिए आवश्यक छोटे बदलावों को चाहूंगा।

  2. अगर मैं अपने प्राथमिक गिट रेपो के रूप में बिटबकेट का उपयोग करना चाहता हूं, तो मैं अपनी परियोजनाओं को अपने निजी गिट सर्वर से बिटबकेट में कैसे माइग्रेट कर सकता हूं?

  3. एक बार जब मैं बिटबकेट में माइग्रेट करता हूं, तो भी मुझे अपने सर्वर पर एक और बैकअप पसंद आएगा। बिटबकेट को मेरे गिट सर्वर पर धक्का देने के लिए मैं स्वचालित रूप से कैसे काम कर सकता हूं? यह मूल रूप से हो सकता है कि आप अपने निजी सर्वर के लिए एक Git हुक जोड़ने automaticaly पुश करने के लिए bitbucket सकता सवाल 1.

उत्तर

7

# 1 के लिए, सबसे आसान समाधान आपके रिमोट रेपो पर एक हुक का उपयोग कर रहा है जो स्वचालित रूप से बिटबकेट पर जाता है।

# 2 के लिए: आप बस बिटबकेट को रिमोट के रूप में जोड़ते हैं और मूल के बजाय इसे दबाते हैं। यदि आपके पास कोई ट्रैकिंग शाखाएं हैं (.git/config देखें), remote = origin को जो भी नाम आपने बिटबकेट के लिए उपयोग किया है, उसे बदलें। एक और समाधान आपके मौजूदा origin रिमोट को हटाने/नाम बदलने और मूल के रूप में बिटबकेट जोड़ना होगा।

# 3 के लिए: git fetch निष्पादित एक cronjob शायद ऐसा करने का सबसे आसान तरीका है।

+0

धन्यवाद, मैं आपके सुझावों को आज़मा दूंगा! – Tauren

+0

@Tauren - इस मुद्दे पर कोई प्रतिक्रिया? – Tohid

+0

# 1: http://stackoverflow.com/questions/5769568/how-to-set-up-a-git-hook-so-that-after-pushing-to-ssh-peterfoo-com-bar-com –

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