git - आप एक विशिष्ट फ़ोल्डर में गिट भंडार कैसे क्लोन करते हैं?




repository git-clone (10)

कमांड git clone [email protected]:whatever निष्पादित करना git clone [email protected]:whatever मेरे वर्तमान फ़ोल्डर में एक निर्देशिका बनाता है जो नामित करता है, और उस फ़ोल्डर में गिट भंडार की सामग्री को छोड़ देता है:

/httpdocs/whatever/public

मेरी समस्या यह है कि मुझे अपनी वर्तमान निर्देशिका में क्लोन किए गए गिट रिपॉजिटरी की सामग्री की आवश्यकता है ताकि वे वेब सर्वर के लिए उचित स्थान पर दिखाई दें:

/httpdocs/public

मुझे पता है कि मैंने रिपोजिटरी को क्लोन करने के बाद फ़ाइलों को कैसे स्थानांतरित किया है, लेकिन ऐसा लगता है कि यह गिट को तोड़ने लगता है, और मैं सिर्फ git pull को कॉल करके अपडेट करने में सक्षम होना चाहता हूं। मैं यह कैसे कर सकता हूँ?


आइए मान लें कि आप एक फ़ोल्डर जैसे /stuff में चाहते हैं, लेकिन आपकी खींच /repo/tokens/ निर्देशिका /repo/tokens/ तहत एक निर्देशिका बना रही है।

तुम कर सकते हो:

mkdir /stuff
ln -s /repo/tokens /stuff

बस। आप कर चुके हैं।


आप के साथ एक भंडार क्लोन

git clone [url]

उदाहरण के लिए, यदि आप स्टैनफोर्ड यूनिवर्सिटी ड्रूपल ओपन फ्रेमवर्क गिट लाइब्रेरी को क्लोज़ करना चाहते हैं जिसे ओपन_फ्रेमवर्क कहा जाता है, तो आप ऐसा कर सकते हैं:

$ git clone git://github.com/SU-SWS/open_framework.git

यह open_framework नामक एक निर्देशिका बनाता है (आपके वर्तमान स्थानीय फ़ाइल सिस्टम स्थान पर), इसके अंदर एक .git निर्देशिका प्रारंभ करता है, उस भंडार के लिए सभी डेटा खींचता है, और नवीनतम संस्करण की एक कार्यशील प्रतिलिपि बनाता है। यदि आप नव निर्मित ओपन_फ्रेमवर्क निर्देशिका में जाते हैं, तो आप वहां प्रोजेक्ट फाइलें देखेंगे, जो काम करने या इस्तेमाल करने के लिए तैयार हैं। यदि आप रिपॉजिटरी को open_framework के अलावा किसी अन्य नाम की निर्देशिका में क्लोन करना चाहते हैं, तो आप उसे अगली कमांड-लाइन विकल्प के रूप में निर्दिष्ट कर सकते हैं:

$ git clone git:github.com/SU-SWS/open_framework.git mynewtheme

वह आदेश पिछले जैसा ही काम करता है, लेकिन लक्ष्य निर्देशिका को mynewtheme कहा जाता है।

गिट में कई अलग-अलग स्थानांतरण प्रोटोकॉल हैं जिनका आप उपयोग कर सकते हैं। पिछला उदाहरण गिट: // प्रोटोकॉल का उपयोग करता है, लेकिन आप http (s): // या user @ server: /path.git भी देख सकते हैं, जो एसएसएच ट्रांसफर प्रोटोकॉल का उपयोग करता है।


एक विशिष्ट फ़ोल्डर में गिट भंडार क्लोन करने के लिए, आप -C <path> पैरामीटर, उदाहरण के लिए उपयोग कर सकते हैं

git -C /httpdocs clone [email protected]:whatever

यद्यपि यह अभी भी इसके ऊपर एक whatever फ़ोल्डर बना देगा, इसलिए वर्तमान निर्देशिका में भंडार की सामग्री को क्लोन करने के लिए, निम्न वाक्यविन्यास का उपयोग करें:

git [email protected]:whatever .

ध्यान दें कि मौजूदा निर्देशिका में क्लोनिंग केवल तभी दी जाती है जब निर्देशिका खाली हो

चूंकि आप ऐसे फ़ोल्डर में क्लोन कर रहे हैं जो जनता के लिए सुलभ है, तो अपने वेब सर्वर कॉन्फ़िगरेशन (उदाहरण के लिए) में --separate-git-dir=<git dir> का उपयोग करके अपने गिट रिपोजिटरी को अपने काम करने वाले पेड़ से अलग करने पर विचार करें .htaccess फ़ाइल)।


क्लोन:

git clone [email protected]:jittre/name.git

"विशिष्ट शाखा" क्लोन करें:

git clone -b [branch-name] [email protected]:jittre/name.git

फ़ोल्डर में जाएं .. यदि फ़ोल्डर खाली है, तो:

git clone [email protected]:whatever .

अन्य

git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master

मूल पोस्ट से इस लाइन के बारे में:

"मुझे पता है कि मैंने रिपो को क्लोन करने के बाद फ़ाइलों को कैसे स्थानांतरित किया है, लेकिन ऐसा लगता है कि यह गिट तोड़ने लगता है"

मैं ऐसा करने में सक्षम हूं और मुझे अपने ऐड, प्रतिबद्ध, पुश, पुल ऑपरेशंस के साथ अब तक कोई समस्या नहीं दिख रही है।

यह दृष्टिकोण उपरोक्त वर्णित है, लेकिन केवल चरणों में टूट नहीं गया है। यहां मेरे लिए काम करने वाले कदम हैं:

  1. रेपो को किसी भी ताजा अस्थायी फ़ोल्डर में क्लोन करें
  2. उस रूट फ़ोल्डर में सीडी जिसे आपने स्थानीय रूप से क्लोन किया है
  3. /.git निर्देशिका सहित फ़ोल्डर की संपूर्ण सामग्री को कॉपी करें - किसी भी मौजूदा फ़ोल्डर में; (एक ग्रहण परियोजना कहें जिसे आप अपने रेपो के साथ विलय करना चाहते हैं)

मौजूदा फ़ोल्डर जिसे आपने अभी फाइलों की प्रतिलिपि बनाई है, अब गिट के साथ बातचीत करने के लिए तैयार है।


यदि आप वर्तमान निर्देशिका में चीज़ को जांचने की कोशिश कर रहे हैं तो सुनिश्चित करें कि आप .git रिपॉजिटरी को हटा दें।

rm -rf .git तो git clone https://github.com/symfony/symfony-sandbox.git


यदि आप वर्तमान फ़ोल्डर में क्लोन करना चाहते हैं, तो आपको यह कोशिश करनी चाहिए:

git clone https://github.com/example/example.git ./

वर्तमान कार्य निर्देशिका में क्लोन करने के लिए:

गिट क्लोन https://github.com/link.git

एक और निर्देशिका में क्लोन करने के लिए:

गिट क्लोन https://github.com/link.git ./Folder1/Folder2

आशा करता हूँ की ये काम करेगा :)


प्रयोग

git clone <repository>

स्थानीय मशीन पर <भंडार> पर स्थित भंडार क्लोन करें। मूल भंडार स्थानीय फाइल सिस्टम या HTTP या SSH के माध्यम से सुलभ रिमोट मशीन पर स्थित हो सकता है।

git clone <repo> <directory>

स्थानीय मशीन पर <directory> नामक फ़ोल्डर में <repository> पर स्थित भंडार को क्लोन करें।

स्रोत: एक भंडार की स्थापना







git-clone