एक सर्वर में रिपोजिटरी गिट: एसटीजी, देव, लाइव

सबसे पहले, मैं गिट पर नौसिखिया हूँ। और यह बात है:
हमने हाल ही में एक नए सर्वर या लाइव साइट पर माइग्रेट किया है, और हमारे पास कोई स्टेज इंस्टेंस नहीं है। तो मैं स्टेजिंग (या क्यूए), और विकास के लिए एक और सबडोमेन के लिए एक उपडोमेन होना चाहता हूँ।

मैंने पहले से ही एक - bare भंडार शुरू किया है, मेरा प्रश्न है, ¿मैं इस साइट में एक ही सर्वर में स्थित इस भंडार में कैसे जोड़ सकता हूं?
मैं अपनी स्थानीय मशीन से नहीं जोड़ रहा हूं क्योंकि साइट में 15 जीबी आकार है। तो, यह इतना बर्बाद समय होगा।

और उसके बाद, मुझे लगता है कि मुझे प्रत्येक सबडोमेन में रिपोजिटरी क्लोन करने की आवश्यकता है, और क्रमशः चरण और विकास चरण में चेकआउट करना है, है ना?

अभी मेरे पास यह है:

/var/www/html/live/ (All site files)
/var/www/html/repository.git/
/var/www/html/stging/ (empty)
/var/www/html/dev/ (empty)
1
जोड़ा संपादित
विचारों: 1

1 उत्तर

यह आमतौर पर मुख्य नंगे रेपो /var/www/html/repository.git/ के भीतर 3 शाखाओं के माध्यम से किया जाता है।

यदि वह नंगे रेपो खाली है, तो आप अपने लाइव फ़ोल्डर की सामग्री के साथ पहली प्रतिबद्धता बनाना चाहते हैं:

export GIT_DIR=/var/www/html/repository.git
git config --bool core.bare false
git config user.name yourUserName
git config user.email yourEmail

cd /var/www/html/live
# edit a .gitignore file, listing big files and folders you should ignore
git add .
git commit -m "Live repo import"

# Make two other branches
git branch dev
git branch stg

# restore the bare repo nature
git config --bool core.bare true

unset GIT_DIR

फिर आप गैर-नंगे उदाहरणों में अपने रेपो को क्लोन कर सकते हैं:

cd /var/www/html/live
# no need to checkout HEAD: the files are already there
git clone --no-checkout /var/www/html/repository.git   

cd /var/www/html/stging/ 
git clone --branch stg /var/www/html/repository.git   

cd /var/www/html/dev/
git clone --branch dev /var/www/html/repository.git   
1
जोड़ा
आपको बहुत - बहुत धन्यवाद! यह एक आकर्षण की तरह काम करता है।
जोड़ा लेखक Beto Castillo, स्रोत