GitHub रिपॉजिटरी की क्लोन सामग्री (बिना फोल्डर के ही)


232

मुझे GitHubgit clone पर एक रिपॉजिटरी की सामग्री चाहिए । जब मैं (git @ github: me / name.git ...) मुझे एक फोल्डर मिलता है और नाम के अंदर मुझे अपनी सामग्री मिलती है ... मुझे केवल सामग्री कैसे मिलेगी?git clonename/



नेटवर्क संसाधनों को बचाने के लिए वास्तव में अनावश्यक वस्तुओं को डाउनलोड करना छोड़ें: stackoverflow.com/questions/600079/…
Ciro Santilli Sant eed eed eed

जवाबों:


313

यदि वर्तमान निर्देशिका खाली है, तो आप ऐसा कर सकते हैं:

git clone git@github:me/name.git .

( .वर्तमान निर्देशिका को निर्दिष्ट करने के लिए अंत में नोट करें।) बेशक, यह .gitआपके वर्तमान फ़ोल्डर में निर्देशिका बनाता है , न कि आपकी परियोजना से केवल स्रोत कोड।

इस वैकल्पिक [directory]पैरामीटर को git cloneमैनुअल पेज में प्रलेखित किया गया है , जो बताता है कि मौजूदा निर्देशिका में क्लोनिंग की अनुमति केवल तभी है जब वह निर्देशिका खाली हो।


2
दुर्भाग्य से, यह काम नहीं करता है अगर वहाँ अन्य, गैर संबंधित निर्देशिका पहले से ही dir में हैं। इसका हल ढूंढ रहे हैं। त्रुटि संदेश है: "घातक: गंतव्य पथ '।' पहले से ही मौजूद है ... "
जॉन लिटिल

12
निर्देशिका git क्लोन खाली होना चाहिए
jolyonruss

1
@HumaunRashid .उत्तर में चर्चा के अनुसार जोड़ें git clone https://github.com/humaun21/Test .:। और हाँ, git@github.me/name.gitआपके वास्तविक git रेपो पते के लिए एक प्लेसहोल्डर है।
एरोन कैंपबेल

1
@JohnLittle की यही समस्या थी, पता चलता है कि एक छिपी हुई .DS_Store फ़ाइल है, जो वहाँ छिप जाती है। बस rm .DS_Storeऔर आप जाने के लिए अच्छे हैं।
सेलरनड

1
यदि आप लिनक्स ओएस पर काम कर रहे हैं, तो आपको यह सुनिश्चित करने की आवश्यकता है कि छिपी फ़ाइलों और उपनिर्देशिकाओं की जाँच सहित निर्देशिका खाली है। आप ऐसा कर सकते हैं ls -a के साथ। आपके पास केवल होना चाहिए। और .. आउटपुट के रूप में। यह अन्यथा काम नहीं करेगा
आयो मकंजुला

156

दुर्भाग्य से, यह काम नहीं करता है यदि अन्य, गैर-संबंधित निर्देशिका पहले से ही एक ही dir में हैं। इसका हल ढूंढ रहे हैं। त्रुटि संदेश है: "घातक: गंतव्य पथ '।' पहले से ही मौजूद है..."।

इस मामले में समाधान है:

git init
git remote add origin git@github.com:me/name.git
git pull origin master

यह नुस्खा तब भी काम करता है, जब आप चेकआउट करना चाहते हैं।


अरे इसमें मुझे एक त्रुटि मिल रही है जैसे अनुमति अस्वीकृत <सार्वजनिक कुंजी>। दूरदराज के अंत अप्रत्याशित रूप से काट दिये गए।
स्टेन

यह नहीं होना चाहिए , और न के github.comबाद ? git remote ...github
amn

5
यह जवाब एक स्वीकार किया जाना चाहिए था। अच्छी तरह से काम।
विक्रमवी

मैं यहां कहीं और पढ़ता हूं कि आपको git fetch --allइससे पहले चलाने की आवश्यकता है git pull origin master, क्योंकि अगर रेपो पर अन्य शाखाएं हैं, तो git pullउन्हें नहीं मिलेगा जब तक कि आप fetchपहले उपयोग न करें । क्या ये सही है?
एलेक्स जी

38

यदि फ़ोल्डर खाली नहीं है, तो @ JohnLittle के उत्तर का थोड़ा संशोधित संस्करण मेरे लिए काम करता है:

git init
git remote add origin https://github.com/me/name.git
git pull origin master

जैसा कि @ पीटर-कॉर्ड्स ने बताया है, केवल अंतर git के बजाय https प्रोटोकॉल का उपयोग कर रहा है, जिसके लिए आपको SSH कुंजियों को कॉन्फ़िगर करने की आवश्यकता है ।


आप किस संस्करण को चला रहे हैं? यह मेरे लिए काम नहीं किया। यह अभी भी मुझे इसे स्थापित नहीं करने देगा क्योंकि dir खाली नहीं है
guribe94

@ guribe94 git संस्करण 2.5.0
टॉम ज़मानोविक

3
यह एक ही उत्तर है, बस ssh पर git-प्रोटोकॉल के बजाय अनाम https का उपयोग करना (ssh कीपर सेट अप के साथ github खाता की आवश्यकता है)।
पीटर कॉर्डेस

15

आप गंतव्य निर्देशिका को git cloneकमांड के दूसरे पैरामीटर के रूप में निर्दिष्ट कर सकते हैं , इसलिए आप ऐसा कर सकते हैं:

git clone <remote> .

यह वर्तमान स्थानीय निर्देशिका में सीधे रिपॉजिटरी को क्लोन कर देगा।


2

वर्तमान और खाली फ़ोल्डर में git रेपो क्लोन करने के लिए (नहीं git init) और यदि आप ssh का उपयोग नहीं करते हैं:

git clone https://github.com/accountName/repoName.git .

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.