git - गिटहब रेपो से एक फ़ोल्डर या निर्देशिका डाउनलोड करें




github (14)

मैं गिटहब पर होस्ट किए गए रिमोट गिट रेपो से केवल एक विशिष्ट फ़ोल्डर या निर्देशिका कैसे डाउनलोड कर सकता हूं?

उदाहरण गिटहब रेपो यहां बताएं:

[email protected]:foobar/Test.git

इसकी निर्देशिका संरचना:

Test/
    foo/ 
       a.py
       b.py
    bar/
       c.py
       d.py

मैं केवल फू फ़ोल्डर डाउनलोड करना चाहता हूं और पूरे टेस्ट प्रोजेक्ट को क्लोन नहीं करना चाहता हूं।


DownGit जाएं> अपना यूआरएल दर्ज करें> डाउनलोड करें!

अब, आप DownGit से किसी भी गिटहब सार्वजनिक निर्देशिका या फ़ाइल ( विशेष रूप से बड़ी फ़ाइल ) के लिए सीधे डाउनलोड या डाउनलोड लिंक बना सकते हैं! यहां एक सरल प्रदर्शन है-

आप डाउनलोड की गई फ़ाइल की संपत्ति- विस्तृत उपयोग को भी कॉन्फ़िगर कर सकते हैं।


इस सुविधा के लिए दो विकल्प:

विकल्प 1: ब्राउज़र एक्सटेंशन

क्रोम एक्सटेंशन , फ़ायरफ़ॉक्स एडन

उपयोग:

  1. किसी भी गिटहब रिपोज़ पेज में।
  2. बस आपको आवश्यक वस्तुओं पर डबल क्लिक करें।
  3. नीचे दाईं ओर डाउनलोड बटन पर क्लिक करें।
  4. प्रगति डैशबोर्ड देखें और ब्राउज़र ट्रिगर डाउनलोड के लिए प्रतीक्षा करें।
  5. ज़िप फ़ाइल प्राप्त करें।

टोकन प्राप्त करें:

  1. अपने ब्राउज़र पर गिटज़िप एक्सटेंशन आइकन पर क्लिक करें।
  2. "टोकन प्राप्त करें" के अलावा "सामान्य" या "निजी" लिंक पर क्लिक करें।
  3. गीथूब ऑथ पेज पर गिटज़िप अनुमति को अधिकृत करें।
  4. शुरुआत के रेपो पेज पर वापस।
  5. उपयोग करना जारी रखें।

विकल्प 2: गिथब gh-page

http://itolien.github.io/gitzip गिटहब एपीआई, और जेएसजेप, फाइलसेवर.जेएस पुस्तकालयों का उपयोग करके।

चरण 1: शीर्ष-दाईं ओर फ़ील्ड में इनपुट जिथब यूआरएल।
चरण 2: एंटर दबाएं या सीधे ज़िप डाउनलोड करने के लिए डाउनलोड पर क्लिक करें या उप-फ़ोल्डर और फ़ाइलों की सूची देखने के लिए खोज पर क्लिक करें।
चरण 3: फ़ाइलों को प्राप्त करने के लिए "ज़िप फ़ाइल डाउनलोड करें" या "फ़ाइल प्राप्त करें" बटन पर क्लिक करें।

अधिकांश मामलों में, यह ठीक काम करता है, सिवाय इसके कि फ़ोल्डर में 1,000 से अधिक फाइलें हैं, जिथब पेड़ एपीआई सीमा के कारण। ( गिथब एपीआई # सामग्री को संदर्भित करता है)

और यदि आपके पास गिटहब खाता है और इस साइट में "टोकन प्राप्त करें" लिंक का उपयोग करें, तो यह निजी / सार्वजनिक प्रतिनिधि का समर्थन भी कर सकता है और दर सीमा को अपग्रेड कर सकता है।


1. इस लिंक पर क्लिक करें http://kinolien.github.io/gitzip/
2. गीथूब फ़ोल्डर का पेस्ट लिंक जिसे आप डाउनलोड करना चाहते हैं।
3. खोज पर क्लिक करें यह डाउनलोड करने के लिए सभी फाइलें दिखाएगा।
नोट: - खोज का उपयोग टोकन कुंजी दर्ज करने की कोई आवश्यकता नहीं है;) .. इसे सरल रखें (वाई)


अन्य उत्तरों के साथ कुछ भी गलत नहीं है, लेकिन मैंने सोचा कि मैं पहली बार इस प्रक्रिया के माध्यम से घूमने वाले लोगों के लिए चरण-दर-चरण निर्देश साझा करूंगा।

एक गीथब रिपोजिटरी (मैक ओएस एक्स) से एक फ़ोल्डर कैसे डाउनलोड करें:

~ टर्मिनल खोलने के लिए बस स्पॉटलाइट पर क्लिक करें और टर्मिनल टाइप करें और फिर एंटर दबाएं

  1. मैक पर आपके पास पहले से ही एसवीएन है (केवल टर्मिनल खोलने के लिए और उद्धरण चिह्नों के बिना "svn" या "कौन svn" टाइप करें)
  2. गीथूब पर: रेपो के भीतर विशिष्ट फ़ोल्डर नाम पर क्लिक करके अपने गिट फ़ोल्डर (रेपो नहीं) पर गिथब पथ का पता लगाएं
  3. ब्राउज़र के पता बार से पथ कॉपी करें
  4. ओपन टर्मिनल और टाइप: एसवीएन निर्यात
  5. पते में अगला पेस्ट (उदाहरण के लिए): https://github.com/mingsai/Sample-Code/tree/master/HeadsUpUI
  6. शब्दों को बदलें: पेड़ / मास्टर
  7. शब्द के साथ: ट्रंक
  8. फ़ाइलों के लिए गंतव्य फ़ोल्डर में टाइप करें (इस उदाहरण में, मैं वर्तमान उपयोगकर्ता के लिए डाउनलोड फ़ोल्डर के अंदर लक्षित फ़ोल्डर को संग्रहीत करता हूं)
  9. यहां स्थान केवल स्पेसबार शब्द नहीं है (स्पेस) ~ / डाउनलोड / हेड्सयूयूयूआई
  10. अंतिम टर्मिनल कमांड फ़ोल्डर को डाउनलोड करने के लिए पूर्ण आदेश दिखाता है (पता 5 से पता की तुलना करें) svn निर्यात https://github.com/mingsai/Sample-Code/trunk/HeadsUpUI ~ / डाउनलोड / हेड्सयूयूयूआई

बीटीडब्ल्यू - यदि आप विंडोज या किसी अन्य प्लेटफॉर्म पर हैं तो आप http://subversion.apache.org पर उपversण (svn) का बाइनरी डाउनलोड पा सकते हैं

~ अगर आप इसे डाउनलोड करने के बजाय फ़ोल्डर को चेकआउट करना चाहते हैं तो इसे svn help (tldr: चेकआउट के साथ निर्यात को प्रतिस्थापित करें) का उपयोग करने का प्रयास करें।

अद्यतन करें

एक बाधित डाउनलोड / चेकआउट फिर से शुरू करने पर टिप्पणी के बारे में। मैं svn update बाद svn cleanup चलाने की कोशिश करता हूँ। अतिरिक्त विकल्पों के लिए कृपया एसओ खोजें।


आप निर्देशिका पेड़ का एक साधारण डाउनलोड कर सकते हैं:

git archive --remote [email protected]:foobar/Test.git HEAD:foo | tar xf -

लेकिन अगर आप इसे जांचना चाहते हैं, और काम करने में सक्षम हैं और उन्हें वापस धक्का देते हैं, तो आप ऐसा नहीं कर सकते हैं।


उपरोक्त उत्तरों को बढ़ाने के लिए, वास्तविक निर्देशिका में वास्तविक गिटहब भंडार से वास्तविक उदाहरण होगा:

svn ls https://github.com/rdcarp/playing-cards/trunk/PumpkinSoup.PlayingCards.Interfaces

svn export https://github.com/rdcarp/playing-cards/trunk/PumpkinSoup.PlayingCards.Interfaces  /temp/SvnExport/Washburn

कभी-कभी एक ठोस उदाहरण प्रस्तावित प्रतिस्थापन को स्पष्ट करने में मदद करता है।


गिटहब से निर्देशिका निर्यात करने के लिए, "/ trunk /" के साथ निर्देशिका के यूआरएल में "/ tree / master /" को प्रतिस्थापित करें।

उदाहरण के लिए, निम्नलिखित यूआरएल से निर्देशिका निर्यात करने के लिए:

https://github.com/liferay/liferay-plugins/tree/master/portlets/sample-hibernate-portlet

निम्न आदेश चलाएं:

svn export https://github.com/liferay/liferay-plugins/trunk/portlets/sample-hibernate-portlet

जो कोई भी विशिष्ट फ़ोल्डर पर काम कर रहा है, उसे उस विशेष फ़ोल्डर को क्लोन करने की जरूरत है, इसलिए कृपया नीचे दिए गए चरणों का पालन करें ** --- स्पेस चेकक का उपयोग करके --- **

चरण 1: एक निर्देशिका बनाएँ।

चरण 2: एक गिट भंडार शुरू करें। ( git init )

चरण 3: स्पैस चेकआउट सक्षम करें। ( git config core.sparsecheckout true )

चरण 4: गिट को बताएं कि आप कौन सी निर्देशिका चाहते हैं (गूंज 2015 / ब्रांड / मई (उस फ़ोल्डर को देखें जिसे आप काम करना चाहते हैं) >> .git/info/sparse-checkout )

चरण 5: git remote add -f origin https://jafartke.com/mkt-imdev/DVM.git ( git remote add -f origin https://jafartke.com/mkt-imdev/DVM.git )

अंतिम चरण 6: फ़ाइलों को प्राप्त करें ( git pull origin master )


मैं लिनक्स का उपयोग करता हूं, इसे ~ / .bashrc में डाल दें, जिसे भी कहा जाता है: D $ HOME / .bashrc

git-dowloadfolder(){
a="$1"
svn checkout ${a/tree\/master/trunk}

}

फिर खोल के साथ ताज़ा करें

source ~/.bashrc 

फिर इसे गिट-डाउनलोडफोल्डर ब्लब्बलबला के साथ प्रयोग करें: डी


मैंने एक ओपन सोर्स प्रोजेक्ट बनाया है, जिसे GitHubFolderDownloader कहा जाता है। यह आपको संपूर्ण भंडार क्लोनिंग या डाउनलोड किए बिना एक संग्रह के एक फ़ोल्डर को डाउनलोड करने देता है।


यदि आप वास्तव में सिर्फ फ़ोल्डर को "डाउनलोड" करना चाहते हैं और इसे "क्लोन" नहीं करना चाहते हैं (विकास के लिए), तो भंडार के सबसे हाल के संस्करण की एक प्रति प्राप्त करने का सबसे आसान तरीका (और इसलिए इसमें एक फ़ोल्डर / फ़ाइल), पूरे रेपो क्लोन करने या पहले स्थान पर गिट स्थापित करने की आवश्यकता के बिना, गिटहब पर वांछित भंडार / कांटा / शाखा / प्रतिबद्धता पर जाकर एक ज़िप संग्रह (किसी भी रेपो, कांटा, शाखा, प्रतिबद्धता, आदि के लिए) डाउनलोड करना है। (उदाहरण के लिए http(s)://github.com/<user>/<repo>/commit/<Sha1> फ़ाइलों की प्रतिलिपि के लिए जब वे एक विशिष्ट प्रतिबद्धता के बाद थे) और ऊपरी दाएं के पास Downloads बटन का चयन करना ।

इस संग्रह प्रारूप में कोई भी गिट-रेपो जादू नहीं है, केवल ट्रैक की गई फाइलें (और शायद कुछ .gitignore फ़ाइलें जिन्हें ट्रैक किया गया था, लेकिन आप उन्हें अनदेखा कर सकते हैं: पी) - इसका मतलब है कि यदि कोड बदलता है और आप चाहते हैं शीर्ष पर बने रहें, आपको इसे मैन्युअल रूप से फिर से डाउनलोड करना होगा, और इसका भी अर्थ है कि आप इसे गिट रिपोजिटरी के रूप में उपयोग करने में सक्षम नहीं होंगे ...

सुनिश्चित नहीं है कि आप इस मामले में जो खोज रहे हैं (फिर से, "डाउनलोड करें" / व्यू बनाम "क्लोन" / विकसित करें), लेकिन फिर भी यह उपयोगी हो सकता है ...


यदि आपके पास svn , तो आप ऐसा करने के लिए svn export का उपयोग कर सकते हैं:

svn export https://github.com/foobar/Test.git/trunk/foo

यूआरएल प्रारूप पर ध्यान दें:

  • आधार यूआरएल https://github.com/
  • अंत में संलग्न /trunk

svn export चलाने से पहले, पहले निर्देशिका की सामग्री को सत्यापित करना अच्छा होता है:

svn ls https://github.com/foobar/Test.git/trunk/foo

यह उन कुछ स्थानों में से एक है जहां एसवीएन गिट से बेहतर है।

अंत में हमने तीन विकल्पों की ओर अग्रसर किया है:

  1. गिटहब से डेटा को पकड़ने के लिए wget का उपयोग करें (कच्चे फ़ाइल दृश्य का उपयोग करके)।
  2. अपस्ट्रीम परियोजनाएं निर्माण कलाकृतियों के रूप में आवश्यक डेटा सबसेट प्रकाशित करें।
  3. छोड़ दो और पूर्ण चेकआउट का उपयोग करें। पहले निर्माण पर यह बड़ी हिट है, लेकिन जब तक आपको बहुत अधिक ट्रैफिक नहीं मिलता है, तब तक निम्नलिखित बिल्डों में यह बहुत परेशानी नहीं होती है।

सितंबर 2016 को अपडेट करें: समुदाय द्वारा बनाए गए कुछ टूल हैं जो आपके लिए यह कर सकते हैं:

गिट इसका समर्थन नहीं करता है, लेकिन गीथूब एसवीएन के माध्यम से करता है। यदि आप उपversण के साथ अपना कोड चेकआउट करते हैं, तो गितब बैकएंड पर रीट को गिट से उपवर्तन में परिवर्तित कर देगा, फिर अनुरोध की गई निर्देशिका को पूरा करेगा।

यहां एक विशिष्ट फ़ोल्डर डाउनलोड करने के लिए आप इस सुविधा का उपयोग कैसे कर सकते हैं। मैं एक उदाहरण के रूप में लोकप्रिय जावास्क्रिप्ट पुस्तकालय lodash करेंगे।

  1. रेपो यूआरएल प्राप्त करें । सबसे पहले, अपने क्लिपबोर्ड पर गिथब रेपो के यूआरएल की प्रतिलिपि बनाएँ।

  2. उपवर्तन के लिए यूआरएल संशोधित करें । मैं master शाखा से फ़ोल्डर /docs फ़ोल्डर में डाउनलोड करना चाहता हूं, इसलिए मैं trunk/docs जोड़ दूंगा। पूरा यूआरएल अब https://github.com/lodash/lodash/trunk/docs । हमें इस यूआरएल प्रारूप का उपयोग क्यों करना चाहिए इसके बारे में अधिक गहराई से स्पष्टीकरण के लिए नीचे अपना नोट देखें।

  3. फ़ोल्डर डाउनलोड करें । कमांड लाइन पर जाएं और एसवीएन के साथ फ़ोल्डर को पकड़ें। svn checkout https://github.com/lodash/lodash/trunk/docs

आपको तुरंत कोई गतिविधि नहीं दिखाई दे सकती है क्योंकि बड़ी भंडारों को बदलने के लिए गिथब को 30 सेकंड तक लगते हैं, इसलिए धैर्य रखें।

पूर्ण यूआरएल प्रारूप स्पष्टीकरण:

  • यदि आप master शाखा में रुचि रखते हैं, तो इसके बजाय trunk उपयोग करें। तो पूरा पथ trunk/foldername
  • यदि आप foo शाखा में रुचि रखते हैं, तो इसके बजाय branches/foo उपयोग करें। पूरा पथ branches/foo/foldername तरह दिखता है
  • प्रोटिप: यदि आप चाहें तो डाउनलोड करने से पहले आप उपलब्ध टैग और शाखाओं को देखने के लिए svn ls का उपयोग कर सकते हैं

बस इतना ही! गिटूब परिवर्तनों को कम करने और धक्का देने के लिए समर्थन सहित, अधिक विचलन सुविधाओं का भी समर्थन करता है।







github