मैं एक उत्तर का प्रयास करना चाहता हूं जिसमें गिट-फ्लो, और तीन 'बिंदु' या उपयोग-मामले, गिट सेंट्रल रिपॉजिटरी, स्थानीय विकास और उत्पादन मशीन शामिल हैं। यह अच्छी तरह से परीक्षण नहीं किया गया है ।
मैं अविश्वसनीय रूप से विशिष्ट आदेश दे रहा हूं। कहने के बजाय <your folder>
कहूंगा /root/git
। एकमात्र स्थान जहां मैं मूल कमांड बदल रहा हूं, अपने विशिष्ट सर्वर नाम की जगह ले रहा है example.com
। मैं समझाऊंगा फ़ोल्डर्स उद्देश्य तो आप इसे तदनुसार समायोजित कर सकते हैं। कृपया मुझे किसी भी भ्रम की जानकारी दें और मैं उत्तर को अपडेट कर दूंगा।
सर्वर पर git संस्करण 1.7.1 है। सर्वर CentOS 6.3 (फाइनल) है।
विकास मशीन पर गिट संस्करण 1.8.1.1 है। यह मैक ओएस एक्स 10.8.4 है।
केंद्रीय रिपॉजिटरी और उत्पादन मशीन एक ही मशीन पर हैं।
केंद्रीय रिपॉजिटरी, जिसे svn उपयोगकर्ता 'सर्वर' से संबंधित कर सकते हैं, निम्नानुसार कॉन्फ़िगर किया गया है। मेरे पास एक फ़ोल्डर है /root/git
जहां मैं अपने सभी गिट रिपॉजिटरी रखता हूं। मैं एक परियोजना के लिए गिट रिपोजिटरी बनाना चाहता हूं जिसे मैं 'फूल' कहता हूं।
cd /root/git
git clone --bare flowers flowers.git
Git कमांड ने दो संदेश दिए:
Initialized empty Git repository in /root/git/flowers.git/
warning: You appear to have cloned an empty repository.
किसी बारे में चिन्ता की जरूरत नहीं।
विकास मशीन पर निम्नानुसार कॉन्फ़िगर किया गया है। मेरे पास एक फ़ोल्डर है /home/kinjal/Sites
जहाँ मैंने अपनी सभी परियोजनाएँ रखी हैं। मैं अब सेंट्रल गिट रिपॉजिटरी प्राप्त करना चाहता हूं।
cd /home/kinjal/Sites
git clone root@example.net:/root/git/flowers.git
यह मुझे उस बिंदु पर ले जाता है जहां मैं इसमें सामान जोड़ना शुरू कर सकता हूं। मैंने सबसे पहले git flow की स्थापना की
git flow init -d
डिफ़ॉल्ट रूप से यह शाखा पर है develop
। मैं अब यहाँ अपना कोड जोड़ता हूँ। फिर मुझे केंद्रीय गिट भंडार के लिए प्रतिबद्ध होना चाहिए।
git add .
git commit -am 'initial'
git push
इस बिंदु पर इसे विकसित शाखा में धकेल दिया गया। मैं इसे मास्टर शाखा में भी जोड़ना चाहता हूं।
git flow release start v0.0.0 develop
git flow release finish v0.0.0
git push
ध्यान दें कि मैंने रिलीज की शुरुआत और रिलीज के बीच कुछ भी नहीं किया। और जब मैंने रिलीज़ खत्म किया तो मुझे दो फ़ाइलों को संपादित करने के लिए कहा गया। इसने विकास शाखा को गुरु की ओर धकेल दिया।
उत्पादन स्थल पर, जो मेरे केंद्रीय गिट भंडार के रूप में एक ही मशीन पर है, मैं भंडार को अंदर रखना चाहता हूं /var/www/vhosts/example.net
। मेरे पास पहले से है /var/www/vhosts
।
cd /var/www/vhosts
git clone file:///root/git/flowers.git example.net
यदि उत्पादन मशीन भी एक अलग मशीन पर होगी, तो git clone
कमांड विकास मशीन पर इस्तेमाल होने वाले की तरह दिखेगा।
git clone --bare
वह करेगा जो आपको लगता है कि यह करेगा।