GitHub deposundan bir qovluq və ya kataloq yükləyin

GitHub'da yerləşdirilən uzaq Git deposundan yalnız müəyyən bir qovluq və ya qovluq yükləmək olar?

GitHub reponun nümunəsi burada yaşayır deyək:

 git@github.com:foobar/Test.git 

Dizaynlarının strukturu:

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

Yalnız foo qovluğunu yükləmək və bütün test layihəsini klonlaşdırmaq istəmirəm.

780
18 авг. 18 Avqustda g_inherit tərəfindən təyin olundu 2011-08-18 13:33 '11 'da 13:33' de 2011-08-18 13:33
@ 27 cavab

Update, Sentyabr 2016: Sizin üçün bunu edə biləcək bir neçə ictimai vasitəsi var:


Git bunu bilmir, lakin Github SVN vasitəsilə bunu edir. Kodunuzu subversiyonla yoxlayarsanız, Github esasen repopları gitmeden backversion'e backend'e çevirir ve sonra istenen dizine xidmət edir.

Burada xüsusi bir qovluq yükləmək üçün bu funksiyanı istifadə edə bilərsiniz. Məsələn, məşhur javascript kitabxanasından istifadə edirəm.

  • Repo urlini alın . İlk olaraq Github deposunun URL'sini panoya kopyalayın. 2019

Bu funksiyanın iki variantları:

Variant 1: Browser Extensions

Chrome extension , Firefox Addon

İstifadə edin:

  • GitHub deposunun istənilən səhifəsində.
  • İstədiyiniz maddələrə yalnız cüt vurun.
  • Sağ altındakı yükləmə düyməsini basın.
  • Tərəqqi panelinə baxın və brauzerinizin yüklənməsini gözləyin.
  • ZIP faylını alın.

Bir simge alın:

  • Brauzerinizdə GitZip Extension simgesini basın.
  • "Get Token" istisna olmaqla, "Normal" və ya "Şəxsi" bağlantısını basın.
  • Github giriş səhifəsində GitZip icazə icazə.
  • Depo başlanğıc səhifəsinə qayıdın.
  • Istifadə edin.
border=0

Seçim 2: Github gh-səhifə

GitHub API kitabxanalarını və JSZip, FileSaver.js istifadə edərək http://kinolien.github.io/gitzip .

Addım 1: yuxarı sağ küncdə qutuda github urlini daxil edin.
Addım 2: Daxil olan düyməni basın və ya zip düyməsini yükləmək üçün download düyməsini basın və ya alt qovluqların və faylların siyahısını görmək üçün axtarış düyməsini basın.
Addım 3. Faylları almaq üçün "Download Zip Faylını" və ya "Fayl Al" düyməsini basın.

Github Trees API-nın məhdudiyyətlərindən asılı olaraq, qovluqda 1000-dən çox fayl var. ( Github API İçindəkilərinə tətbiq edilir)

Bir GitHub hesabınız varsa və bu saytda "getmək" bağlantısını istifadə etsəniz, həm də şəxsi / ictimai depoları saxlaya və təklif limitlərini yeniləyə bilər.

416
17 нояб. Cavab 17 noyabrda Kino tərəfindən verilir. 2015-11-17 12:41 '15 at 12:41 pm 2015-11-17 12:41

DownGit'e keçin > URLinizi daxil edin> Yüklə!

İndi DownGit- dən hər hansı bir ictimai kataloq və ya GitHub faylına (xüsusən də böyük bir fayl) DOWNLOAD LINK yükləyə bilərsiniz və ya yarada bilərsiniz! Burada sadə nümayiş -



Yüklənmiş fayl mülkiyyətini ətraflı istifadə edə bilərsiniz.

354
10 авг. cavab Minhas Kamal 10 avqust verilir. 2016-08-10 20:13 '16 at 20:13 2016-08-10 20:13

Əgər svn varsa, bunu svn export istifadə edə bilərsiniz:

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

URL formatına diqqət yetirin:

  • Base URL https://github.com/
  • /trunk sonunda əlavə olunur

svn export başlamazdan əvvəl, kataloqun məzmununu əvvəlcədən yoxlamaq üçün faydalıdır

 svn ls https://github.com/foobar/Test.git/trunk/foo 
141
20 авг. cavab janos 20 avqustda verilir . 2013-08-20 02:00 '13 saat 02:00 'da 2013-08-20 02:00' də

Ümumi git üçün Repo:

Fayl yükləmək istəyirsinizsə, köşkləri tarixi ilə klonlamayın, bunu git-archive ilə edə bilərsiniz.

git-archive , git-archive də sıxılmış bir zip və ya tar git-archive yaradır. Fərqli olan bəzi şeylər:

  • Git deposu arxivində faylları və ya qovluqları seçə bilərsiniz.
  • Bu, .git/ qovluq və ya hər hansı bir faylın arxivində .git/ onun .git/ bir iz yoxdur.
  • Belirli bir şubenin, etiketin və ya talebinizin arxivini saxlaya bilərsiniz. Go ilə idarə olunan layihələr, istifadəçilər üçün download versiyası (beta, azad, 2.0 və s.) Arxivlərini yaratmaq üçün istifadə edir.

Ssh ilə əlaqəli olan bir uzaq repo docs/usage qovluğunun arxivinin yaradılması nümunəsi:

 # in terminal $ git archive --format tar --remote ssh://server.org/path/to/git HEAD docs/usage > /tmp/usage_docs.tgz 

Bu blogdagediş sənədlərində daha ətraflı məlumat.

GitHub deposu qeyd:

GitHub git-archive icazə vermir . ☹️

58
13 апр. RobW tərəfindən 13 apreldə cavab verildi 2013-04-13 04:17 '13 at 4:17 2013-04-13 04:17

GitHubFolderDownloader adlı açıq mənbə layihə yaratdım . Bu, bütün qovluğun klonlanması və ya endirilməsi olmadan depoya bir qovluq yükləməyə imkan verir.

34
17 июня '15 в 13:16 2015-06-17 13:16 Cavab VahidN 17 iyun '15 saat 13:16 'də verilir. 2015-06-17 13:16

Digər cavablarla yanlış bir şey yoxdur, amma sadəcə bu prosesdən keçənlər üçün addım-addım təlimatları bölüşməyə qərar verdim.

Github depolarından bir qovluq (Mac OS X) necə yüklənirsiniz?

~ Terminal açmaq üçün sadəcə lampa basın və terminal daxil edin, sonra Enter düyməsini basın

  1. Mac'te, ehtimal ki SVN (test üçün, yalnız bir terminal açın və "svn" və ya "hansı svn" tirajı olmadan)
  2. Github'da: repo içindəki xüsusi qovluq adını tıklayarak Gipub yolunu git qovluğuna (repo deyil) tapın
  3. Yolunu brauzerinizin ünvan çubuğundan kopyalayın
  4. Open Terminal və daxil edin: svn ixrac
  5. Aşağıdakı əlavə ünvanı (məsələn): https://github.com/mingsai/Sample-Code/tree/master/HeadsUpUI
  6. Sözləri dəyişdirin: ağac / usta
  7. sözlə: gövdə
  8. Fayllar üçün hədəf qovluğunu daxil edin (bu nümunədə, yüklənmiş qovluğun içindəki istifadəçi üçün qovluq qovluğunda saxlayıram)
  9. Burada boşluq bir boşluq deyil, bir söz (boşluq) deyil ~ / Downloads / HeadsUpUI
  10. Son terminal komandası qovluğu yükləmək üçün tam əmrləri göstərir (5-addım ilə ünvanı müqayisə edin). Svn ixrac, https://github.com/mingsai/Sample-Code/trunk/HeadsUpUI ~ / Downloads / HeadsUpUI

Yeri gəlmişkən, əgər Windows və ya başqa bir platformada işləyirsinizsə, Subversion ikili yüklənməsini (SVN) http://subversion.apache.org ünvanından tapa bilərsiniz.

~ Bir qovluq çıxarmaq və yalnız yükləmək deyilsə, svn yardımını istifadə edin (TL; DR:

Yeniləmə

Kesintisiz indirme / ödəmənin bərpasına dair şərhə gəldikdə. svn cleanup svn update . Əlavə variantlar üçün SO-lər üçün baxın.

27
13 сент. Cavab Tommie C tərəfindən verilir. 13 sentyabr. 2015-09-13 03:37 '15 'də 3:37' de 2015-09-13 03:37

Siz edə bilməzsiniz; Subversion fərqli olaraq, hər bir alt qovluq ayrıca alındığında, Git bütün depo bazasında çalışır.

Daha ətraflı çıxış tələb olunan layihələr üçün alt modullardan istifadə edə bilərsiniz - hər bir alt modul ayrı bir Git layihəsidir və buna görə ayrı-ayrılıqda klonlana bilər.

Git ön ucunun (məsələn, GitHub veb-interfeysi və ya gitweb) müəyyən bir qovluğu almaq üçün bir interfeys təmin edə bilər, amma bildiyiniz qədər onların heç biri (fərdi faylları yükləməyə imkan verən olsa da) mümkündür qovluqda çox fayl olmadıqda bu bir seçimdir)

Edit - GitHub həqiqətən SVN vasitəsi ilə çıxış təklif edir, buna yalnız bir şərh etmək mümkündür. Bunu necə etmək barədə son təlimatlar üçün https://github.com/blog/1438-improved-svn-here-to-stay-old-svn-going-away səhifəsinə baxın.

15
18 авг. cavab michel-slm 18 aug tərəfindən verilir . 2011-08-18 13:41 '11 at 13:41 pm 2011-08-18 13:41

Həqiqətən yalnız qovluğu indirmek isterseniz (kalkınma üçün) klonu (istifadəsi üçün), asanlıqla reponun ən son versiyasını (və dolayısı ilə də daxilində qovluğu / faylını) bütün reponun klonlanması və hətta Git quraşdırma, ilk növbədə, GitHub-da (məsələn, http(s)://github.com/<user>/<repo>/commit/<Sha1> istənilən depo / fork / filialına / törətməyə gedən bir zip arxivini (hər hansı bir repo, fork, filial, töhfə, və s.) Yükləməkdən ibarətdir http(s)://github.com/<user>/<repo>/commit/<Sha1> faylların bir kopyasını müəyyən bir işdən sonra olduğu kimi) və yuxarıdakı n rav.

Bu arxiv formatında git-repo sihirli bir şey yoxdur, yalnız özləri izlənilən fayllar (və ehtimal ki, bir neçə .gitignore faylları izlənilirsə, ancaq gözardı edə bilərsiniz: p) - bu kodun dəyişdirilməsi və istədiyiniz zaman üstdə qalmaq üçün, manuel olaraq yenidən yükləməlisiniz, bu isə onu bir gitar deposu olaraq istifadə edə bilmədiyiniz anlamına gəlir ...

Bu vəziyyətdə nə aradığınızdan əmin deyilsiniz (yenə də "yüklə" / görünüşü vs "klon" / inkişaf etdirin), ancaq faydalı ola bilər ...

13
18 авг. johnny 18 aug tərəfindən verilmiş cavab . 2011-08-18 16:56 '11 'da 16:56' da 2011-08-18 16:56

Belirli bir qovluqda çalışan hər kəs bu xüsusi qovluğu klonlamağı tələb edir, belə ki, aşağıda göstərilən addımları izləyə bilərsiniz ** ** SPARSE CHECKOUT istifadə --- **

Addım 1. Dizin yaradın.

Addım 2: Git deposunu başladın. ( git init )

Addım 3: Seyreltli çekləri təmin et. ( git config core.sparsecheckout true )

Adım 4: .git/info/sparse-checkout Git deyin (echo 2015 / brand / may (işləmək istədiyiniz qovluğa baxın) → .git/info/sparse-checkout )

Addım 5: Uzaq bir nəzarət əlavə edin ( git remote add -f origin https://jafartke.com/mkt-imdev/DVM.git )

Sonuncu addım 6: faylların alınması ( git pull origin master )

12
14 мая '15 в 9:28 2015-05-14 09:28 Cavab Məhəmməd Cəfər tərəfindən 14 may 14: 15-da saat 9: 28-də verilir. 2015-05-14 09:28

1. Bu linki vurun: http://kinolien.github.io/gitzip/
2. Yükləmək istədiyiniz Github qovluğuna keçin.
Axtarışa 3. basın, yükləmək üçün bütün faylları göstərəcəkdir.
Qeyd: - Axtarış aparmaq üçün marker düyməsini daxil etmək lazım deyil;) .. sadə (y)

11
28 июля '16 в 20:53 2016-07-28 20:53 cavab M Younus iyul ayının 28, '16 'da 20:53 2016-07-28 20:53 tarixində verilir

Digər xüsusi bir nümunə:

URL ilə 'iOS Pro Geo' qovluğunu necə yükləmək istərdim

https://github.com/alokc83/APRESS-Books-Source-Code-/ ağac / master /% 20Pro% 20iOS% 20Geo

və mən bunu edə bilərəm

 svn checkout https://github.com/alokc83/APRESS-Books-Source-Code-/trunk/%20Pro%20iOS%20Geo 

Yoldakı torsoya diqqət yetirin

Edilən: (Tommie C şərhinə görə)

Bəli, ixrac əvəzinə ixrac istifadə edərək, əlavə keçid faylları olmadan təmiz bir surət verəcəkdir.

 svn export https://github.com/alokc83/APRESS-Books-Source-Code-/trunk/%20Pro%20iOS%20Geo 

Düzenlendi: Əgər ağac / usta URL'de deyilsə, sonra fork və Forked urldə olacaq.

8
03 июня '15 в 9:29 2015-06-03 09:29 Cavab verilir zeeawan İyun 03 '15 də 09:29 2015-06-03 09:29

SVN, Git'den daha yaxşı olduğu bir neçə yerden biridir.

Nəticədə üç variant var:

  • GitHub-dan məlumat əldə etmək üçün wget istifadə edin (xam fayl görünüşünü istifadə edərək).
  • Üst səviyyəli layihələr lazımi alt kümeyi quruluş əsərləri olaraq dərc edir.
  • Tam yoxlamadan imtina edin və istifadə edin. Bu ilk quruluşu çox təsir etdi, ancaq bir çox trafik ala bilmirsənsə, sonrakı quruluşlarda çox çətin deyil.
6
24 янв. Cavab 24 Yanvar Maniş Shrivastava tərəfindən verilir 2013-01-24 11:23 '13 at 11:23 2013-01-24 11:23

Bu linuxu istifadə edirəm, bu da ~ / .bashrc ünvanına qoyun, hətta çağırıldı: D $ HOME / .bashrc

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

sonra kabuğunu yeniləyin

 source ~/.bashrc 

sonra git -downloadfolder blablabla ilə istifadə edin: D

4
15 янв. İstifadəçi tərəfindən cavab verildi1088530 Jan 15 2017-01-15 18:54 '17 at 18:54 2017-01-15 18:54

Bunu edə bilən githubdl adlı bir githubdl paketi var:

 export GIT_TOKEN=1234567890123456789012345678901234567890123 pip install githubdl githubdl -u http://github.com/foobar/test -d foo 

Layihə səhifəsi burada.

* Disclaimer: Bu paketi yazdım.

4
19 июня '18 в 13:08 2018-06-19 13:08 Cavab Willem van Ketwich tərəfindən 19 iyun '18, saat 13:08 'də 2018-06-19 13:08' də verilir

Unix əmrləri ilə tanışsanız, bunun üçün xüsusi bağımlılıklara və ya web tətbiqlərinə ehtiyac yoxdur. Repo bir tarball kimi yükləyə və yalnız lazım olanları aça bilərsiniz.

Misal (fontawesome bir alt qovluq woff2 faylları):

 curl -L https://api.github.com/repos/FortAwesome/Font-Awesome/tarball | tar xz --wildcards "*/web-fonts-with-css/webfonts ) hər hansı bir kataloqla uyğunlaşdırın.  Github adda ref adlı adlı bir sarmal qovluğu yaradır, buna görə də məlum deyil. 
  • Yəqin ki, istədiyiniz yol - yolda (əvvəlki sübut) yolun ( / ) məbləği ilə eyni olan --strip-components .
  • Bütün tarbolu yükləyəcək. GitHub serverləri ilə gözəl olmaq istəyirsinizsə, digər cavablarda göstərilən SVN metodundan istifadə etməyin.

    4
    22 авг. Cavab Albin 22 avqustda verilir . 2018-08-22 10:46 '18 saat 10:46 'da 2018-08-22 10:46

    Dizin ağacının sadə bir yükləməsini edə bilərsiniz:

     git archive --remote git@github.com:foobar/Test.git HEAD:foo | tar xf - 

    Ancaq bunu yoxlamaq istəyirsinizsə və onları törətdiyiniz və təkrar itələyə bilərsiniz, bunu edə bilməzsiniz.

    4
    18 авг. cavab araqnid 18 aug verilir . 2011-08-18 14:19 '11 at 14:19 2011-08-18 14:19

    Yuxarıdakı cavabları artırmaq üçün, yerli kataloq üçün real GitHub deposundan olan real nümunə:

     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 

    Bəzən xüsusi bir nümunə təklif olunan dəyişmələri aydınlaşdırmağa kömək edir.

    4
    12 дек. John Washburn tərəfindən verilmiş cavab 12 dekabr. 2014-12-12 00:59 '14 at 0:59 2014-12-12 00:59

    Mən CentOS 7 serverləri ilə işləyirəm, mənə kök girmə imkanı yoxdur, nə də git, svn və s. (və istəmirəm!), belə ki, python skriptini istənilən github qovluğunu yükləmək üçün hazırladım: https://github.com/andrrrl/github-folder-downloader

    Istifadə sadədir, yalnız github layihəsindəki müvafiq hissəni kopyalayın, layihənin https://github.com/MaxCDN/php-maxcdn/ olduğunu düşünün və yalnız mənbə faylları olmaq istəyirsən, belə bir şey etmək lazımdır:

    $ python gdownload.py "/MaxCDN/php-maxcdn/tree/master/src" /my/target/dir/
    (mövcud deyilsə hədəf qovluğu yaradacaq)

    Bu, lxml kütləvi kitabxanasını tələb edir, bu, easy_install lxml istifadə edilə bilər
    Kök girişiniz yoxdursa (məsələn, mən), bu məzmunlarla $HOME qovluğunda .pydistutils.py fayl yarada bilərsiniz: [install] user=1easy_install lxml işləyəcək (ref: on123.ru.site/questions/9287 / ... ).

    3
    10 окт. Cavab yazıldı 10 oktyabr. 2016-10-10 18:47 '16 saat 18:47 'də 2016-10-10 18:47

    Bizim komandamız bunun üçün bash script yazmışdı, çünki SVN-ni serverimizdə boş sümüklərlə qurmaq istəmədik.

    https://github.com/ojbc/docker/blob/master/java8-karaf3/files/git-download.sh

    Bu github API istifadə və command line aşağıdakı kimi istifadə edilə bilər:

     git-download.sh https://api.github.com/repos/ojbc/main/contents/shared/ojb-certs 
    2
    12 янв. Yogesh Chawla tərəfindən verilmiş cavab 12 yanvar 2016-01-12 02:14 '16 saat 02:14 'da 2016-01-12 02:14

    Cavabın heç biri mənim vəziyyətimə kömək etdi. Windows üçün inkişaf edirsinizsə, ehtimal ki SVN yoxdur. Bir çox hallarda, Git'i yükləyən istifadəçilərə güvənməyəcək və ya digər səbəblərə görə bütün depoları yükləmək istəmirsiniz. Willem van Ketvich və Aztak kimi bu suala cavab verən bəzi insanlar bu tapşırıq üçün vasitələr yaratmışlar. Lakin, alət istifadə etdiyiniz dil üçün yazılmırsa və ya üçüncü bir kitabxana qurmaq istəmirsinizsə, işləməyəcəklər.

    Ancaq daha asan bir yol var. GitHub'da, GET istəklərini istifadə edərək , bir faylın və ya bir kataloqun bütün məzmununu yükləməyə imkan verən bir API var. Dizindəki bütün faylları siyahıya alan bir JSON obyekti qaytaran https://api.github.com/repos/:owner/:repo_name/contents/:path istifadə edə bilərsiniz. Siyahıda faylın xam içeriğine, download_url parametresine bir keçid daxildir. Dosyayı bu URL'yi istifadə edərək yükləyə bilərsiniz.

    Bu, GET tələblərini etmək bacarığını tələb edən iki addımlı bir prosesdir, ancaq hər hansı bir platformada demək olar ki, hər hansı bir dildə tətbiq edilə bilər. Bu faylları və ya qovluqları almaq üçün istifadə edilə bilər.

    2
    13 июля '18 в 2:29 2018-07-13 02:29 Cavab Calvin tərəfindən 13 İyul, '18 'də 2:29 2018-07-13 02:29' də verilir

    GitHub'dan bir kataloq ixrac etmək üçün, "/ trunk /" ilə url kataloqunda "/ tree / master /" əvəzini dəyişin.

    Məsələn, aşağıdakı URL'dən bir kataloq ixrac etmək:

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

    Aşağıdakı əmri çalıştırın:

     svn export https://github.com/liferay/liferay-plugins/trunk/portlets/sample-hibernate-portlet 
    1
    20 сент. cavab Mohsen Abasi tərəfindən verilir . 2015-09-20 11:25 '15 at 11:25 2015-09-20 11:25

    Bunu programlı olaraq etmək lazımdır və SVN'ye güvenmek istemiyorsanız, GitHub API'sını bütün içeriği özyinelemeli olaraq indirmek üçün istifadə edə bilərsiniz.

    İlham üçün, burada mənim ruby ​​mahiyyəti: https://gist.github.com/cvengros/b2a7e82f66519d423b6f

    1
    15 нояб. Cavab pcv 15 noyabrda verilir. 2014-11-15 04:37 '14 da 4:37 2014-11-15 04:37

    Yalnız bunun üçün Node.js ilə bir vasitə yazdım. Onu yoxlayın. Repo Dir

    npm я -g dl-repo-dir istifadə edərək bərpa edin və repo əmri qlobal olaraq mövcud olacaq.

    qovluğu qovluğa yükləyin və yenidən adlandırın

    repo download aztack/download-repo-dir lib src/lib/new-name

    yükləyin

    repo download aztack/download-repo-dir '' src/lib/download-repo-dir

    bu tag ilə xüsusi gitlab deposundan yükləyin

    export GITLAB_API_PRIVATE_TOKEN=YOUR_TOKEN_HERE

    repo download gitlab:mygitlab.com:topgroup/subgroup/repo#v1.0.0 dir src/lib/new-name

    bütün məlumatları saxlamaq üçün bir repo.json faylı olacaq.

    Yeni bir layihədə, repo init repo.json istifadə edərək mövcud bir repo.json ilə bir layihəni repo.json .

    1
    11 июля '18 в 10:33 2018-07-11 10:33 cavab 11 iyul, '18 'saat 10:33' da aztack verilir . 2018-07-11 10:33

    Mən buna bənzər nəticələrə nail olmağa çalışdığımda 2019-cu ildə buna bənzədim. Atlassian görə, repo xüsusi bir qovluğa klon :

     git clone <repo> <directory> 

    Mən yalnız cəhd etdim və heç bir problemsiz çalışır.

    0
    17 янв. Cavab 17 yanvarda Kelvin Gobo tərəfindən verilir 2019-01-17 02:29 '19, 2:29 'də 2019-01-17 02:29

    Bu funksiyanı istifadə edin, ilk arqument klasörün URL'sidir, ikincisi qovluq yüklənəcəkdir:

     function github-dir() { svn export "$(sed 's/tree\/master/trunk/' <<< "$1")" "$2" } 
    0
    25 окт. Cavab 25 oktyabrda HappyFace verilir . 2018-10-25 08:40 '18 saat 08:40 'da 2018-10-25 08:40' də

    Yüklemek istəsəniz birbaşa paylaşılan bir kitabxana varsa, başqa bir git deposunu yaratmaq və sonra git submodule funksiyasından istifadə etmək daha yaxşıdır.

    Əlbəttə, istədiyiniz orijinal repo sahibisiniz

    -2
    24 янв. Cavab 24 yanvarda Asenar tərəfindən verilir . 2013-01-24 12:29 '13 at 12:29 2013-01-24 12:29

    Gitub tags ilə bağlı digər suallar və ya bir sual