2012-07-08 14 views
7

पर रिमोट मौजूद नहीं है, तो रिमोट (एसएसएच का उपयोग करके) में गिट रिपोजिटरी नहीं है, फिर भी स्थानीय रिपॉजिटरी को दूरस्थ रूप से कॉपी करना और फ़ाइलों को मैन्युअल रूप से कॉपी किए बिना रिमोट ट्रैकिंग सेट करना संभव है एसपीपी का उपयोग करके और फिर एक गिट क्लोन के बाद?रिमोट को धक्का देने के लिए कैसे करें यदि रिमोट

उत्तर

9

को रिमोट पर रिपॉजिटरी सेट करने की आवश्यकता है, लेकिन आपको फ़ाइलों को मैन्युअल रूप से कॉपी नहीं करना चाहिए। कम से कम, आपको इसके साथ इतिहास नहीं मिलता है।

पहले, अपने दूरदराज के ssh और ऐसा करते हैं:

mkdir your_repo.git 
cd your_repo.git 
git init --bare 

.git निर्देशिका नाम पर पूरी तरह से वैकल्पिक है। --bare विकल्प सूचकांक के बिना भंडार बनाता है और इसलिए धक्कादायक है।

तब आप अपने स्थानीय भंडार के लिए वापस जाओ और दूरदराज जोड़ें:

git remote add remote_name [email protected]:path/to/your_repo.git 

आप बिल्कुल तैयार हैं। आपको बस इतना करना है:

git push remote_name 
+0

धन्यवाद, अगर मैं चाहता हूं कि मेरा रिमोट नंगे रेपो नहीं है, तो भी संभव है? धन्यवाद – Ryan

+1

आम तौर पर, यह एक अच्छा विचार नहीं है। मुझे यकीन नहीं है कि यह संभव है, लेकिन फिर भी, गैर-नंगे भंडारों को धक्का देने का अर्थ है कि उस रेपो पर, आपके सभी सामानों को संघर्ष के बिना विलय करने की आवश्यकता है, लेकिन इसके लिए कोई गारंटी नहीं है। यह भी देखें [http://stackoverflow.com/questions/1764380/push-to-non-bare-repository), [यहां] (http://gitready.com/advanced/2009/02/01/push -to-only-bare-repositories.html) और [यहां] (http://sitaramc.github.com/concepts/bare.html) – Shahbaz

1

Ii आप एक ssh उपयोग कर सकते है, आप रेपो (हाँ, एक SCP के साथ) नकल कर सकता है, लेकिन नकल केवल एक फ़ाइल: एक git bundle

वहां से आप उस रिमोट सर्वर पर उस बंडल को एक नंगे रेपो के रूप में क्लोन कर सकते हैं (वह एक फ़ाइल जो रेपो आप क्लोन कर सकते हैं) और रिमोट रेपो के रूप में इसका उपयोग करें (आप रिमोट नंगे रेपो को दबा सकते हैं)।

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