2012-05-15 15 views
110

मैं निम्नलिखित का उपयोग कर मेरे पीसी पर एक अन्य स्थानीय रेपो के लिए नाम bak के साथ एक रिमोट के रूप में एक स्थानीय रेपो अधिनियम बनाने के लिए कोशिश कर रहा हूँ, के रूप में यह इलाज के लिए कैसे:एक स्थानीय रेपो जोड़ सकते हैं और एक दूरस्थ रेपो

git remote add /home/sas/dev/apps/smx/repo/bak/ontologybackend/.git bak 

जो इस त्रुटि देता है:

fatal: '/home/sas/dev/apps/smx/repo/bak/ontologybackend/.git' is not a valid remote name 

मैं दो स्थानीय रेपोस सिंक करने के लिए, एक के रूप में एक दूरस्थ अन्य के लिए bak नामित कॉन्फ़िगर कोशिश कर रहा हूँ, और फिर git pull bak जारी करने।

ऐसा करने का सबसे अच्छा तरीका क्या है?


संपादित करें:

क्षमा करें, दूरदराज के ऐड मुझे मूर्ख, मैं सिर्फ महसूस किया गया है किया जाना चाहिए:

git remote add bak /home/sas/dev/apps/smx/repo/bak/ontologybackend/.git 

दूरदराज के नाम पते से पहले चला जाता है।

उत्तर

147

आप remote add आदेश करने के लिए अपने तर्क है उलट:

git remote add <NAME> <PATH> 

तो:

git remote add bak /home/sas/dev/apps/smx/repo/bak/ontologybackend/.git 

अधिक जानकारी के लिए git remote --help देखें।

+3

'अंत विशेष रूप से हालांकि इसकी आवश्यकता पर .git' है? –

+2

यह सिर्फ एक रास्ता है ... गिट पर इसका ध्यान नहीं है कि इसका नाम क्या है। – larsks

+1

@ErikAigner पारंपरिक रूप से, नंगे रिपोज़ ".git" प्रत्यय के साथ समाप्त हो जाएंगे। हालांकि आम तौर पर इसकी अपनी निर्देशिका नहीं है, बल्कि इसके बजाय: "/path/to/projectname.git"। - इसके अलावा यह थोड़ा अंतर बनाता है। – Atli

5

ऐसा लगता है कि अपने स्वरूप गलत है:

If you want to share a locally created repository, or you want to take contributions from someone elses repository - if you want to interact in any way with a new repository, it's generally easiest to add it as a remote. You do that by running git remote add [alias] [url]. That adds [url] under a local remote named [alias].

#example 
$ git remote 
$ git remote add github [email protected]:schacon/hw.git 
$ git remote -v 

http://gitref.org/remotes/#remote

43

अपने लक्ष्य को आसान बैकअप के लिए या एक बाहरी ड्राइव पर चिपका के लिए या भंडार की स्थानीय प्रतिलिपि रखने के लिए है, तो क्लाउड स्टोरेज (ड्रॉपबॉक्स, आदि) के माध्यम से साझा करना आप bare repository का उपयोग करना चाह सकते हैं। यह आपको साझा करने के लिए अनुकूलित, एक कार्यशील निर्देशिका के बिना भंडार की एक प्रति बनाने की अनुमति देता है।

उदाहरण के लिए:

$ git init --bare ~/repos/myproject.git 
$ cd /path/to/existing/repo 
$ git remote add origin ~/repos/myproject.git 
$ git push origin master 

इसी तरह आप के रूप में अगर यह एक दूरस्थ रेपो थे क्लोन कर सकते हैं:

$ git clone ~/repos/myproject.git 
+1

यह स्वीकार्य उत्तर होना चाहिए, क्योंकि यह पूरी तरह से सवाल करता है "इसका सबसे अच्छा तरीका क्या है?"। "स्थानीय रेपो को रिमोट रेपो के रूप में माना जाता है", जैसा कि @ ओपेन्सस कहा जाता है, वास्तव में एक नंगे निर्देशिका है (जैसे वास्तविक रिमोट रिपोजिटरी) – Jack

+1

मैं एक संपादन का सुझाव देता हूं: चाहे आपको "गिट रिमोट एड .." + " गिट पुश "या सिर्फ" गिट क्लोन "यहां इंगित किया गया है: https: // stackoverflow।कॉम/ए/315 9 0 993/5446285 (एडेलफस का उत्तर) – Jack

+1

@ जैक - क्या आप भ्रमित होने पर क्या विस्तार कर सकते हैं? मुझे संशोधन करने में खुशी है लेकिन उत्तर को अपेक्षाकृत संक्षेप में रखना चाहता हूं। –

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