GitHub repo එකකින් තනි ෆෝල්ඩරයක් හෝ නාමාවලියක් බාගන්න


1150

GitHub හි සත්කාරකත්වය දක්වන දුරස්ථ Git repo එකකින් විශේෂිත ෆෝල්ඩරයක් හෝ නාමාවලියක් පමණක් බාගත කරන්නේ කෙසේද?

GitHub repo මෙහි ජීවත් වන උදාහරණය කියන්න:

git@github.com:foobar/Test.git

එහි නාමාවලි ව්‍යුහය:

Test/
├── foo/ 
│   ├── a.py
│   └── b.py   
└── bar/
    ├── c.py
    └── d.py

මට අවශ්‍ය වන්නේ foo ෆෝල්ඩරය පමණක් බාගත කර සමස්ත ටෙස්ට් ව්‍යාපෘතියම ක්ලෝන කිරීමට නොවේ.


5
මම මේ සඳහා ෂෙල් ස්ක්‍රිප්ට් එකක් ලිව්වා svn checkout - github.com/Decad/github-downloader
කුක්

424
මේ සඳහා “නිල” වෙබ් අතුරු මුහුණතක් විසඳුමක් නැත්තේ මන්දැයි යමෙකුට මට පැහැදිලි කළ හැකිද? එය ක්‍රියාත්මක කිරීම සුළුපටු අංගයක් සේ පෙනේ, නමුත් සුපිරි ප්‍රයෝජනවත්.
ඇලෙක්සැන්ඩර් - මොනිකා නැවත

3
මම KinoLien ගේ gitzip භාවිතා කරමින් ක්‍රෝම් දිගුවක් සංවර්ධනය කළෙමි. github.com/charany1/GHSDD
charany1

3
බලන්න anjanos answer svn විකල්පය හොඳම, සත්‍යාපනය, ලියාපදිංචි කිරීම, සීමාවක් නැත, ප්ලගීන නැත
stackdave

6
මම මේ සඳහා සැහැල්ලු විසඳුමක් ( download-directory.github.io ) සකස් කළ අතර එය පිරිපහදු කළ GitHub
fregante

Answers:


1089

යාවත්කාලීන කිරීම 2016 සැප්තැම්බර්: ඔබ වෙනුවෙන් මෙය කළ හැකි ප්‍රජාව විසින් නිර්මාණය කරන ලද මෙවලම් කිහිපයක් තිබේ:


Git මෙයට සහය නොදක්වයි, නමුත් ගිතුබ් SVN හරහා ක්‍රියා කරයි. ඔබ ඔබේ කේතය උපසිරැසි සමඟ පරීක්ෂා කර බැලුවහොත්, ගිතුබ් විසින් මූලිකවම repo එක git සිට උපස්ථය දක්වා පසුපසට හරවනු ඇත, පසුව ඉල්ලූ නාමාවලිය සේවය කරන්න.

විශේෂිත ෆෝල්ඩරයක් බාගත කිරීම සඳහා ඔබට මෙම අංගය භාවිතා කළ හැකි ආකාරය මෙන්න. මම ජනප්‍රිය ජාවාස්ක්‍රිප්ට් පුස්තකාලය lodashඋදාහරණයක් ලෙස භාවිතා කරමි .

  1. ඔබට බාගත කිරීමට අවශ්‍ය ෆෝල්ඩරයට සංචාලනය කරන්න . එහෙනම් අපි බාගත /testසිට masterශාඛා. github repo URL උදාහරණය

  2. කඩාකප්පල් කිරීම සඳහා URL වෙනස් කරන්න . tree/masterසමඟ ප්රතිස්ථාපනය කරන්න trunk.

    https://github.com/lodash/lodash/tree/master/test

    https://github.com/lodash/lodash/trunk/test

  3. ෆෝල්ඩරය බාගන්න . විධාන රේඛාවට ගොස් SVN සමඟ ෆෝල්ඩරය අල්ලා ගන්න.

svn checkout https://github.com/lodash/lodash/trunk/test

විශාල ගබඩාවන් පරිවර්තනය කිරීමට ගිතුබ්ට තත්පර 30 ක් ගත වන බැවින් ඔබට වහාම කිසිදු ක්‍රියාකාරකමක් නොපෙනේ, එබැවින් ඉවසිලිවන්ත වන්න.

සම්පූර්ණ URL ආකෘති පැහැදිලි කිරීම:

  • ඔබ masterශාඛාව ගැන උනන්දුවක් දක්වන්නේ නම් , trunkඒ වෙනුවට භාවිතා කරන්න. එබැවින් සම්පූර්ණ මාර්ගය වේtrunk/foldername
  • ඔබ fooශාඛාව ගැන උනන්දුවක් දක්වන්නේ නම් , branches/fooඒ වෙනුවට භාවිතා කරන්න. සම්පූර්ණ මාර්ගය පෙනේbranches/foo/foldername
  • වළක්වන්න: svn lsඔබට අවශ්‍ය නම් බාගත කිරීමට පෙර පවතින ටැග් සහ ශාඛා බැලීමට භාවිතා කළ හැකිය

එච්චරයි! වෙනස්කම් සිදුකිරීමට සහ තල්ලු කිරීමට සහාය දීම ඇතුළුව ගිතුබ් තවත් උපක්‍රම විශේෂාංග සඳහා සහය දක්වයි .


163
නියමයි, ආදේශ tree/masterකරන්න trunk, ඔබට නිශ්චිත ෆෝල්ඩරය ලබා ගත හැකිය.
සර්ජියෝ මයිකල්ස්

6
ස්තූතියි @ user1146881 සහ @ SérgioMichels, ඔබ එය ප්‍රතිස්ථාපනය tree/masterකළ trunkයුතුය. මෙම තොරතුරු පිළිතුරු වශයෙන් එකතු කළ යුතුය.
baptx

9
svn exportඋපසිරැසි වැඩ කරන පිටපතක් මට අවශ්‍ය නැති නිසා මම මෙය භාවිතා කිරීමට වෙනස් කළෙමි . ඉන්පසු මම Git හි ඇති ෆෝල්ඩරය එක් කළෙමි. (කෙසේ හෝ මගේ ඩිරෙක්ටරි ගසෙන් විශාල කොටසක් මට අහිමි විය, එබැවින් මා විසින් සකස් කරන ලද
රෙපෝවෙන්

5
@ num3ric- ප්‍රමාද වූ පිළිතුරට කණගාටුයි, නමුත් ඔබට "කඳ" වෙනුවට "ශාඛා / ඔබේ ශාඛාව" ආදේශ කළ හැකිය
nick

3
@ එලියා ලින්න් සංස්කරණයට ස්තූතියි, මම එම තොරතුරු ඇතුළත් කළ යුතුව තිබුණි! කාරණා 2 ක් වුවද- මම ඔබේ සංස්කරණය පිළිගත් නමුත් මගේම දෑ පෙරළා දැමුවෙමි (කෙසේ හෝ මෙය කිරීම යන්නෙහි තේරුම, එය අවුල් සහගත බවක් දැනුනි). ඊට අමතරව මම ඔබේ branchමාර්ගය වෙනස් branchesකළෙමි, එය නිවැරදි යැයි මම සිතමි ; එසේ නොවේ නම්, ඉදිරියට ගොස් එය නැවත වෙනස් කරන්න.
නික්

583

මෙම අංගය සඳහා විකල්ප දෙකක්:

විකල්ප 1: GitZip බ්‍රව්සර් දිගුව

ක්‍රෝම් දිගුව , ෆයර්ෆොක්ස් ඇඩෝන්

භාවිතය:

  1. ඕනෑම GitHub repos පිටුවක.
  2. ඔබට අවශ්‍ය අයිතමවල හිස් කොටස මත දෙවරක් ක්ලික් කරන්න.
  3. පහළ දකුණේ බාගත බොත්තම ක්ලික් කරන්න.
  4. ප්‍රගති උපකරණ පුවරුව බලන්න සහ බ්‍රව්සර් ප්‍රේරක බාගැනීම සඳහා රැඳී සිටින්න.
  5. ZIP ගොනුව ලබා ගන්න.

ටෝකන් ලබා ගන්න:

  1. ඔබගේ බ්‍රව්සරයේ GitZip දිගු කිරීමේ අයිකනය ක්ලික් කරන්න.
  2. "ටෝකන් ලබා ගන්න" හැරුණු විට "සාමාන්‍ය" හෝ "පුද්ගලික" සබැඳිය ක්ලික් කරන්න.
  3. Github auth පිටුවේ GitZip අවසරය අවසර දෙන්න.
  4. ආරම්භයේ repo පිටුවට ආපසු යන්න.
  5. දිගටම භාවිතා කරන්න.

විකල්ප 2: ගිතුබ් gh- පිටුව

http://kinolien.github.io/gitzip, GitHub API සහ JSZip, FileSaver.js පුස්තකාල භාවිතා කරමින්.

පියවර 1: ඉහළ දකුණේ ඇති ක්ෂේත්‍රයට ගිතුබ් url ඇතුල් කරන්න.
පියවර 2: බාගත සිප් සඳහා කෙලින්ම එන්ටර් ඔබන්න හෝ බාගන්න ක්ලික් කරන්න හෝ උප ෆෝල්ඩර සහ ලිපිගොනු ලැයිස්තුව බැලීමට සෙවීම ක්ලික් කරන්න.
පියවර 3: ලිපිගොනු ලබා ගැනීම සඳහා "සිප් ගොනුව බාගන්න" හෝ "ගොනුව ලබා ගන්න" බොත්තම ක්ලික් කරන්න.

ගිතුබ් ගස් ඒපීඅයි සීමාව නිසා ෆෝල්ඩරයේ ලිපිගොනු 1,000 කට වඩා ඇති බව හැර බොහෝ අවස්ථාවන්හි එය හොඳින් ක්‍රියාත්මක වේ. ( Github API # අන්තර්ගතය වෙත යොමු වේ )

ඔබට GitHub ගිණුමක් තිබේ නම් සහ මෙම වෙබ් අඩවියේ "ටෝකන් ලබා ගන්න" සබැඳිය භාවිතා කරන්නේ නම් එයට පුද්ගලික / පොදු ගබඩාවලට සහය දැක්වීමට සහ අනුපාත සීමාව ඉහළ නැංවීමටද හැකිය.


5
මෙය නියමයි, නමුත් ඉල්ලුම ඔබේ අනුපාතය ඉක්මවා යන බවක් පෙනේ, එබැවින් එය තවදුරටත් ක්‍රියාත්මක නොවේ ;-) GitHub oAuth සමඟ ප්‍රවේශ වීමට හැකිවීම සතුටක් වනු ඇත - එය පුද්ගලික repo සහාය සඳහා ඉඩ ලබා දෙන අතර වැඩි කරයි ඔබගේ අනුපාත සීමාව ඒවා සත්‍යාපිත ඉල්ලීම් වන බැවින්
hobailey

3
obhobailey දැන්, එයට අනුපාත සීමාව වැඩි කිරීම සඳහා ප්‍රවේශ ටෝකනය ලබා ගත හැකි අතර පුද්ගලික ගබඩාවලටද පිවිසිය හැකිය.
කිනෝ

1
YMYounas ගිතුබ් API ලේඛනයේ OAuth, ගස්, බ්ලොබ් පරිච්ඡේද ගැන බලන්න . , සහ ගිට්සිප් ක්‍රියාත්මක කිරීම සඳහා JSZip, FileSaver.js js පුස්තකාල භාවිතා කරන්න.
කිනෝ

1
මෙය කරන ක්‍රෝම් දිගුවක් ගැන යමෙක් උනන්දු වේද?
goldylucks

4
මෙය ඇත්ත ගිතුබ් වෙබ් අඩවියට එක් කළ යුතුය, එය අතිශයින්ම ප්‍රයෝජනවත් වේ.
රෝල්ස්

537

වෙත යන්න DownGit > ඔබේ URL එක> බාගත ඇතුලත් කරන්න!

දැන්, ඔබට ඩවුන්ජිට් වෙතින් ඕනෑම GitHub පොදු නාමාවලියක් හෝ ගොනුවක් ( විශේෂයෙන් විශාල ගොනුවක් ) සඳහා සෘජුවම ඩවුන්ලෝඩ් කිරීමට හෝ ඩවුන්ලෝඩ් ලින්ක් සෑදිය හැකිය ! මෙන්න සරල නිරූපණයක්-


DownGit


බාගත කළ ගොනුවේ දේපල- සවිස්තරාත්මක භාවිතය ඔබට වින්‍යාසගත කළ හැකිය .


වියාචනය: මම ප්‍රශ්න අසන්නාගේ ගැටලුවටම වැටුණෙමි, නිසි විසඳුමක් සොයාගත නොහැකි විය, එබැවින් මම මෙම මෙවලම මගේ භාවිතය සඳහා නිර්මාණය කළ අතර පසුව එය සෑම කෙනෙකුටම ලබා ගත හැකි විය.


14
මූලික ක්‍රමය වන්නේ- 1. ඩිරෙක්ටරි ලින්ක් එක ගන්න ( කෝණික-මාර්ගය භාවිතා කර ඇත ), 2. GitHub API වෙත යන්න , 3. ඩිරෙක්ටරිය හරහා සෙවීම සහ සියලුම ගොනු බාගත කිරීම, 4. එය සමඟ zip ගොනුවක් සාදන්න (මම jszip භාවිතා කර ඇත ) එය ගොනුවක් ලෙස සුරකින්න ( මේ සඳහා ගොනු සේවාදායකය භාවිතා කරයි ). පැහැදිලි අවබෝධයක් සඳහා මම මගේ ව්‍යාපෘතිය දෙස බැලීමට යෝජනා කරමි .
මින්හාස් කමල්

2
thanx Bro සවිස්තරාත්මක උපදෙස් සඳහා, ඔබ කිසියම් නිබන්ධනයක් හෝ සබැඳියක් යෝජනා කරන්නේ නම් මම ඔබට ස්තූතිවන්ත වෙමි.
මුහම්මද් යූනුස්

1
අවාසනාවට එය මට වැඩ කරන්නේ නැත. URL ( github.com/SharePoint/PnP/tree/master/Solutions/… ) හි සබැඳිය අලවා බාගත කිරීම ආරම්භ කළේය. ලිපිගොනු 254 දී එය නතර වූ අතර කිසිවක් සිදු නොවූ අතර මට බාගත කළ ලිපිගොනු නොමැත.
ෆ්ලෝරියන් ලයිට්ගේබ්

5
මෙය සිසිල් නමුත් එය ස්වයංක්‍රීය මෙවලම් සමඟ ක්‍රියා නොකරයි (wget වැනි)
Ring

2
downloaded 25 of 25 filesමම මෙම URL වෙතින් බාගත කිරීමට උත්සාහ කරන විට මෙය ක්‍රියාත්මක වේ: github.com/dssg/hitchhikers-guide/tree/master/curriculum/…
Wassadamo

168

ඔබට තිබේ නම් svn, ඔබට මෙය කිරීමට භාවිතා කළ හැකිය svn export:

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

URL ආකෘතිය සැලකිල්ලට ගන්න:

  • මූලික URL ය https://github.com/
  • /trunk අවසානයේ එකතු කරන ලදි

ඔබ ධාවනය කිරීමට පෙර svn export, ඩිරෙක්ටරියේ අන්තර්ගතය පළමුව සත්‍යාපනය කිරීම හොඳ ය:

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

මෙය තවමත් ක්‍රියාත්මක වේද? TortiseSVN සමඟ මෙය උත්සාහ කර මට අවසර දෝෂයක් ලබා දී අක්තපත්‍ර ලබා දෙන ලෙස ඉල්ලා සිටියේය.
ජෝන්

2
@john මට විශ්වාසයි මෙය බොහෝ උපකාර කිරීමට ප්‍රමාද වැඩියි, නමුත් ඔබේ GitHub ගිණුමේ සාධක 2 ක සත්‍යාපනය සක්‍රීය කර තිබේද? එසේ නම්, මුරපදය සඳහා පෙර උත්පාදනය කළ යතුරක් ඔබ භාවිතා කරනු ඇතැයි මම සිතමි (ඒවා ඔබට GitHub සැකසුම් තුළ සොයාගත යුතුය).
nick

1
URL හැඩතල ගැන්වීම සම්බන්ධයෙන්, ඔබට .gitදිගුව තබා ගත හැකිය . ඔබට සම්පූර්ණ ව්‍යාපෘති සබැඳිය භාවිතා svn lsකළ හැකි අතර, ව්‍යාපෘතියේ සම්පූර්ණ මාර්ගය අනුගමනය කිරීමෙන් ආරම්භ කරන්න. උදාහරණය : svn ls https://github.com/RobTillaart/Arduino.git. එක් ෆෝල්ඩරයක් පමණක් අපනයනය කිරීමට, ඔබ කැමති ආකාරයට /trunkඅනුගමනය කළ මාර්ගය අනුගමනය කරන්න svn export https://github.com/RobTillaart/Arduino.git/trunk/libraries/DHTlib. ව්‍යාපෘති මාර්ගය නොවෙනස්ව තබා ගැනීම පහසුය.
jgrocha

gjgrocha එය 2013 දී නැවත ක්‍රියාත්මක වූ බව මට විශ්වාස නැත, නමුත් දැන් එය එසේ වේ, එබැවින් ස්තූතියි, ලිපිය යාවත්කාලීන කරන ලදි
janos

1
උදාහරණයක්: අන්තර්ගතය බාගත කිරීමට https://github.com/miguelgrinberg/python-socketio/tree/master/examples/wsgi, ධාවනය කරන්න svn export https://github.com/miguelgrinberg/python-socketio.git/trunk/examples/wsgi. wsgiවර්තමාන වැඩ කරන නාමාවලිය යටතේ නමින් නාමාවලියක් නිර්මාණය වේ. මූලාශ්‍ර ලිපිගොනු පමණි, වෙන කිසිවක් නැත. නැත .git, උපසිරැසි සම්බන්ධ ලිපිගොනු නොමැත.
රොකලයිට්

75

සාමාන්‍ය git Repo සඳහා:

ඔබට ලිපිගොනු බාගත කිරීමට අවශ්‍ය නම්, ඉතිහාසය සමඟ ගබඩාව ක්ලෝන නොකර, ඔබට මෙය කළ හැකිය git-archive.

git-archivegit ගබඩාවක සම්පීඩිත සිප් හෝ තාර ලේඛනාගාරයක් සාදයි. එය විශේෂිත කරන සමහර දේවල්:

  1. සංරක්ෂිත කිරීමට git ගබඩාවේ ඇති ගොනු හෝ නාමාවලි ඔබට තෝරා ගත හැකිය.
  2. එය .git/ෆෝල්ඩරය සංරක්‍ෂණය නොකරයි , නැතහොත් එය ක්‍රියාත්මක වන ගබඩාවේ සොයා නොගත් ලිපිගොනු.
  3. ඔබට විශේෂිත ශාඛාවක්, ටැගයක් හෝ කැපවීමක් කළ හැකිය. Git සමඟ කළමනාකරණය කරන ලද ව්‍යාපෘති බොහෝ විට පරිශීලකයින්ට බාගත කිරීම සඳහා ව්‍යාපෘතියේ අනුවාදයන් (බීටා, මුදා හැරීම, 2.0, ආදිය) ජනනය කිරීමට මෙය භාවිතා කරයි.

docs/usageඔබ ssh සමඟ සම්බන්ධ වී ඇති දුරස්ථ repo එකකින් නාමාවලියෙහි ලේඛනාගාරයක් නිර්මාණය කිරීමේ උදාහරණයක් :

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

මෙම බ්ලොග් සටහනේ සහ git ප්‍රලේඛනයේ වැඩි විස්තර .

GitHub Repos පිළිබඳ සටහන:

GitHub git-archiveප්‍රවේශයට ඉඩ නොදේ . ☹️


2
git archive --format tarආකෘතිය tar.gz නොව තාර ය.
出 羽 和 之

මෙය හොඳම පිළිතුර විය යුතුය
ෆෙලිපේ කොස්ටා

2
මම හිතන්නේ මෙය හොඳම පිළිතුර නමුත් git archive විධානය https ප්‍රොටෝකෝලය සමඟ ක්‍රියා නොකරන බව සලකන්න.
බිට්ෆොක්ස්

uk යුකිහාන් විසින් tar.gz සිට තාර දක්වා දිගුව සංස්කරණය කරන ලදි, OP මේ සමඟ සම්බන්ධ වේ යැයි බලාපොරොත්තු වේ
මිහයි

36

මම GitHubFolderDownloader නමින් විවෘත මූලාශ්‍ර ව්‍යාපෘතියක් නිර්මාණය කර ඇත්තෙමි . මුළු ගබඩාවම ක්ලෝන කිරීම හෝ බාගත කිරීමකින් තොරව නිධියක තනි ෆෝල්ඩරයක් බාගත කිරීමට එය ඔබට ඉඩ දෙයි.


ඔබට අවශ්‍ය වන්නේ GitHub වෙතින් ෆෝල්ඩර බාගත කිරීම පමණි. අපේක්ෂිත ෆෝල්ඩරය බාගත කිරීම සඳහා එයට අවශ්‍ය වන්නේ ගිතුබ් ටෝකනයක් පමණි . තවත් ඉහළ නැංවීම් මගින් මෙම පිළිතුරට යම් ප්‍රමුඛතාවයක් ලබා දිය හැකිය.
ඇලෙක්ස් එසිල්ෆි

34

වෙනත් පිළිතුරු වල කිසිදු වරදක් නැත, නමුත් මම සිතුවේ පළමු වරට මෙම ක්‍රියාවලිය හරහා ඇවිදින අය සඳහා පියවරෙන් පියවර උපදෙස් බෙදා ගැනීමට මම සිතුවෙමි.

ගිතුබ් ගබඩාවකින් (මැක් ඕඑස් එක්ස්) තනි ෆෝල්ඩරයක් බාගත කරන්නේ කෙසේද:

Ter පර්යන්තය විවෘත කිරීම සඳහා ස්පොට් ලයිට් ක්ලික් කර ටර්මිනලය ටයිප් කර Enter යතුර ඔබන්න

  1. මැක්හි ඔබට දැනටමත් SVN ඇති බව පෙනේ (විවෘත පර්යන්තය පරීක්ෂා කර "svn" හෝ "කුමන svn" type උපුටා දැක්වීමේ ලකුණු නොමැතිව ටයිප් කරන්න )
  2. Github හි: repo තුළ ඇති විශේෂිත ෆෝල්ඩරයේ නම ක්ලික් කිරීමෙන් ඔබගේ git ෆෝල්ඩරයට (repo නොවේ) Github මාර්ගය සොයා ගන්න.
  3. බ්‍රව්සරයේ ලිපින තීරුවෙන් මාර්ගය පිටපත් කරන්න
  4. පර්යන්තය විවෘත කර ටයිප් කරන්න: svn අපනයනය
  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 Download / බාගැනීම් / හෙඩ්ස්අපුඅයි

BTW - ඔබ වින්ඩෝස් හෝ වෙනත් වේදිකාවක සිටී නම් http://subversion.apache.org වෙබ් අඩවියෙන් ද්විමය බාගත කිරීමක් (svn) සොයාගත හැකිය.

~ ඔබ වඩා වඩා ෆෝල්ඩරය Checkout හුදෙක් බාගත අවශ්ය නම් එය SVN උදව් (tldr: වෙනුවට භාවිතා කිරීමට උත්සාහ කරන්න අපනයන සමග ලොව පුරාවටම )

යාවත්කාලීන කරන්න

බාධා කළ බාගැනීමක් / පිටවීමක් නැවත ආරම්භ කිරීම පිළිබඳ අදහස් දැක්වීම සම්බන්ධයෙන්. මම svn cleanupඅනුගමනය කිරීමට උත්සාහ කරමි svn update. අමතර විකල්ප සඳහා කරුණාකර SO සොයන්න.


1
මට විශේෂිත ෆෝල්ඩරයකින් බොහෝ ගොනු බාගත කළ යුතු අතර බාගත කිරීම මධ්‍යයේ මෙම දෝෂය ඇතිවිය: svn: E175002: '/ bgmartins / scripts-parlamento /! Svn / vcc / default': 200 OK ( github.com ) බාගත කිරීම නැවත ආරම්භ කරන්නේ කෙසේද?
මිගෙල්

මා වෙනුවෙන් වැඩ කළා. එය පුදුම සහගතය.
හීත් රාෆ්ටර්

24

නිශ්චිත ෆෝල්ඩරයේ වැඩ කරන ඕනෑම කෙනෙකුට එම ෆෝල්ඩරයම ක්ලෝන කිරීමට අවශ්‍ය වේ, එසේ කිරීමට කරුණාකර විරල පිරික්සුම භාවිතා කරමින් පහත පියවර අනුගමනය කරන්න.

  1. නාමාවලියක් සාදන්න.

  2. Git ගබඩාවක් ආරම්භ කරන්න. ( git init)

  3. විරල පිරික්සුම් සක්‍රීය කරන්න. ( git config core.sparsecheckout true)

  4. ඔබට අවශ්‍ය කුමන නාමාවලිදැයි Git ට කියන්න (echo 2015 / brand / May (ඔබට වැඩ කිරීමට අවශ්‍ය ෆෝල්ඩරය වෙත යොමු වන්න) >> .git/info/sparse-checkout)

  5. දුරස්ථ ( git remote add -f origin https://jafartke.com/mkt-imdev/DVM.git) එක් කරන්න

  6. ලිපිගොනු ලබා ගන්න ( git pull origin master)


මෙම අදහස් දැක්වීමට තරම් නරක නැත. ලබා දී ඇති විසඳුම github එක පමණක් නොව සියලුම git ගබඩාවලට අදාළ වන බව පෙනේ.
කල්‍යාන්

9
මෙය ඇත්ත වශයෙන්ම අපේක්ෂිත දේ නොකරයි. එය තවමත් මුළු ගබඩාවම ක්ලෝන කරයි, එය සමහර ෆෝල්ඩර පරීක්ෂා නොකරයි.
ක්‍රිස්

මෙහි විසඳා ඇත: stackoverflow.com/questions/4114887/…
JK

මට මෙම දෝෂය ඇතිවිය: විරල පිරික්සුම මඟින් වැඩ කරන නාමාවලියට ඇතුල් නොවේ.
තැඹිලි කැටපිලර්

21

ඔබට නොහැකියි; එක් එක් උප බහලුම තනි තනිව පරීක්ෂා කළ හැකි උපවර්ෂන් මෙන් නොව, Git ක්‍රියාත්මක වන්නේ සම්පූර්ණ නිධිය පදනම් කරගෙන ය.

සිහින්ව ප්‍රවේශ වීමට අවශ්‍ය ව්‍යාපෘති සඳහා, ඔබට උප මොඩියුල භාවිතා කළ හැකිය - සෑම උප මොඩියුලයක්ම වෙනම Git ව්‍යාපෘතියක් වන අතර එමඟින් තනි තනිව ක්ලෝන කළ හැකිය.

දී ඇති ෆෝල්ඩරයක් උකහා ගැනීම සඳහා ඔබට අතුරු මුහුණතක් සැපයීමට Git ඉදිරිපස අන්තයකට (උදා: GitHub හි වෙබ් අතුරු මුහුණත හෝ gitweb) තෝරා ගත හැකි යැයි සිතිය හැකි නමුත් මගේ දැනුමට අනුව ඔවුන්ගෙන් කිසිවෙකු එසේ නොකරයි (ඔවුන් ඔබට තනි ගොනු බාගත කිරීමට ඉඩ දුන්නද , එබැවින් ෆෝල්ඩරයේ බොහෝ ගොනු අඩංගු නොවේ නම්, එය විකල්පයකි)

සංස්කරණය කරන්න - GitHub සැබවින්ම SVN හරහා ප්‍රවේශය ලබා දෙයි, එමඟින් ඔබට මෙය කිරීමට ඉඩ දෙනු ඇත (අදහස් දැක්වීමට අනුව). මෙය කරන්නේ කෙසේද යන්න පිළිබඳ නවතම උපදෙස් සඳහා https://github.com/blog/1438-improved-svn-here-to-stay-old-svn- going-away බලන්න


github API හරහා යමක් තිබේද?
g_inherit

14

ඔබට සැබවින්ම අවශ්‍ය වන්නේ ෆෝල්ඩරය "බාගත කර" එය "ක්ලෝන" නොකිරීමට නම් (සංවර්ධනය සඳහා), නිධියේ නවතම අනුවාදයේ පිටපතක් ලබා ගැනීමට ඇති පහසුම ක්‍රමය (එම නිසා එය තුළ ඇති ෆෝල්ඩරයක් / ගොනුවක්), මුළු ගබඩාවම ක්ලෝන කිරීමට හෝ මුලින්ම git ස්ථාපනය කිරීමට අවශ්‍ය නොවී, GitHub හි අපේක්ෂිත නිධිය / දෙබලක / ශාඛාවකට / කැපවීමකට ගොස් zip සංරක්ෂිතයක් බාගත කිරීම (ඕනෑම repo, දෙබලක, ශාඛාවක්, කැපවීමක් යනාදිය සඳහා) බාගත කිරීම. (උදා: http(s)://github.com/<user>/<repo>/commit/<Sha1>ලිපිගොනු නිශ්චිත බැඳීමකට පසුව තිබූ පිටපතක් සඳහා) සහ Downloadsඉහළ දකුණට ආසන්න බොත්තම තේරීම.

මෙම සංරක්ෂිත ආකෘතියේ git-repo මැජික් කිසිවක් අඩංගු නොවේ, ඒවා ලුහුබැඳ ඇති ලිපිගොනු පමණි (සමහර විට .ගිටිගෝර් ලිපිගොනු කිහිපයක් ඒවා ලුහුබැඳ තිබේ නම්, නමුත් ඔබට ඒවා නොසලකා හැරිය හැකිය: p) - එයින් අදහස් වන්නේ කේතය වෙනස් වී ඔබට අවශ්‍ය නම් ඉහළින් සිටින්න, ඔබට එය අතින් නැවත බාගත කිරීමට සිදුවනු ඇති අතර එයින් අදහස් වන්නේ ඔබට එය git ගබඩාවක් ලෙස භාවිතා කළ නොහැකි බවයි ...

මෙම අවස්ථාවේදී ඔබ සොයන්නේ එයදැයි නිශ්චිතවම කිව නොහැක (නැවතත්, "බාගත කරන්න" / "එදිරිව" ක්ලෝන "/ සංවර්ධනය කරන්න), නමුත් එය කෙසේ වෙතත් ප්‍රයෝජනවත් විය හැකිය ...


9
ඔබට බාගත කිරීමේ සබැඳියක් නොපෙනේ නම්, ඔබ සිටින්නේ ප්‍රධාන රෙපෝ පිටුවක (ළමා නාමාවලියක් නොවේ) බවට වග බලා ගන්න. ඔබට බාගත කළ හැක්කේ මුළු ගබඩාවේම සිප් එකක් පමණි. එසේම, මෙම ගිතුබ් උදව් පිටුව ප්‍රයෝජනවත් විය හැකිය.
ජේ. ඩී. ස්මිත්

2
පහසු ලක්ෂ්‍ය හා ක්ලික් ප්‍රවේශය. පූර්ව නිකුතුවක් ලබා ගැනීම පහසුය. බාගත කළ සිප් එකෙන් අපේක්ෂිත ෆෝල්ඩරය අදින්න පහසුය. ඔබට ස්තුතියි.
ඇන්ඩි තෝමස්

1
බාගත කිරීම සඳහා වන සාමාන්‍ය URL ය tar.gz:https://github.com/${owner}/${repo}/archive/${hash}.tar.gz
ක්‍රිස්ටියන්

12

2019 සාරාංශය

මෙය අතින් හෝ ක්‍රමලේඛිකව කිරීමට ඔබට අවශ්‍යද නැද්ද යන්න මත පදනම්ව මෙය හැසිරවීමට විවිධ ක්‍රම තිබේ.

පහත දැක්වෙන විකල්ප හතරක් ඇත. වඩාත් පැහැදිලි කිරීම සඳහා කැමති අය සඳහා, මම යූ ටියුබ් වීඩියෝවක් එක් කර ඇත්තෙමි: තනි ලිපිගොනු සහ ෆෝල්ඩර GitHub වෙතින් බාගන්න .

එසේම, GitHub වෙතින් තනි ගොනු බාගත කිරීමට අවශ්‍ය අයට (ෆෝල්ඩර වලට වඩා වෙනස්ව) මම සමාන පිළිතුරක් StackOverflow හි පළ කර ඇත්තෙමි .


1. GitHub පරිශීලක අතුරුමුහුණත

  • ගබඩාවේ මුල් පිටුවේ බාගත බොත්තමක් තිබේ. ඇත්ත වශයෙන්ම, මෙය සම්පූර්ණ repo එක බාගත කරයි, ඉන්පසු ඔබට බාගත කිරීම ඉවත් කර ඔබට අවශ්‍ය විශේෂිත ෆෝල්ඩරය අතින් ඇදගෙන යා යුතුය.

2. තෙවන පාර්ශවීය මෙවලම්

  • මෙය පාලනය කළ හැකි විවිධාකාර බ්‍රව්සර් දිගු සහ වෙබ් යෙදුම් ඇත, ඩවුන්ගිට් ඒවායින් එකකි. GitHub URL හි ෆෝල්ඩරයට අලවන්න (උදා https://github.com/babel/babel-eslint/tree/master/lib) සහ "බාගන්න" බොත්තම ඔබන්න.

3. කඩාකප්පල් කිරීම

  • GitHub විසින් git-archive සඳහා සහය නොදක්වයි (නිශ්චිත ෆෝල්ඩර බාගත කිරීමට අපට ඉඩ සලසන git විශේෂාංගය). කෙසේ වෙතත්, GitHub විවිධාකාර උපවර්තන විශේෂාංග සඳහා සහය දක්වයි, එයින් එකක් අපට මේ සඳහා භාවිතා කළ හැකිය. උපසිරැසි යනු අනුවාද පාලන පද්ධතියකි (git සඳහා විකල්පයක්). ඔබට උපසිරැසි ස්ථාපනය කිරීම අවශ්‍ය වේ. ඔබට බාගත කිරීමට අවශ්‍ය ෆෝල්ඩරය සඳහා GitHub URL ලබා ගන්න. ඔබට මෙම URL වෙනස් කිරීමට අවශ්‍ය වනු ඇත. ඔබට අවශ්‍ය වන්නේ නිධිය වෙත සබැඳිය, ඉන්පසු "කඳ" යන වචනය සහ කැදැලි ෆෝල්ඩරයට යන මාර්ගයෙනි. වෙනත් වචන වලින් කිවහොත්, මා ඉහත සඳහන් කළ එකම ෆෝල්ඩර සම්බන්ධක උදාහරණය භාවිතා කරමින්, අපි "ගස / මාස්ටර්" වෙනුවට "කඳ" ආදේශ කරමු. අවසාන වශයෙන්, ටර්මිනලයක් විවෘත කර, ඔබට අන්තර්ගතය බාගත කර ගැනීමට අවශ්‍ය නාමාවලියට යන්න, පහත විධානය ටයිප් කරන්න (URL ය ඔබ විසින් සාදන ලද URL සමඟ ප්‍රතිස්ථාපනය කරන්න):svn export https://github.com/babel/babel-eslint/trunk/lib, සහ enter ඔබන්න.

4. GitHub API

  • ඔබට මෙම කාර්යය ක්‍රමානුකූලව ඉටු කිරීමට අවශ්‍ය නම් ඔබට අවශ්‍ය විසඳුම මෙයයි. ඇත්ත වශයෙන්ම ඩවුන්ගිට් කබාය යටතේ භාවිතා කරන්නේ මෙයයි. GitHub හි REST API භාවිතා කරමින් , අන්තර්ගත අන්ත ලක්ෂ්‍යයට GET ඉල්ලීමක් කරන පිටපතක් ලියන්න. අවසාන ලක්ෂ්‍යය පහත පරිදි සාදා ගත හැකිය : https://api.github.com/repos/:owner/:repo/contents/:path. ස්ථාන දරන්නන් ප්‍රතිස්ථාපනය කිරීමෙන් පසු, උදාහරණයක් ලෙස අවසාන ලක්ෂ්‍යය:https://api.github.com/repos/babel/babel-eslint/contents/lib. මෙම ෆෝල්ඩරයේ ඇති සියලුම අන්තර්ගතයන් සඳහා මෙය ඔබට JSON දත්ත ලබා දෙයි. අන්තර්ගතය ෆෝල්ඩරයක් හෝ ගොනුවක්ද, බාගත URL එකක්ද, ගොනුවක් නම් ඒපීඅයි එන්ඩ්පොයින්ට්ද ඇතුළුව ඔබට අවශ්‍ය සියල්ල දත්ත සතුව ඇත (එවිට ඔබට එම ෆෝල්ඩරය සඳහා දත්ත ලබා ගත හැකිය). මෙම දත්ත භාවිතා කරමින්, ස්ක්‍රිප්ටයට ඉලක්ක ෆෝල්ඩරයේ ඇති සියලුම අන්තර්ගතයන් පුනරාවර්තනය විය හැකිය, කැදැලි ෆෝල්ඩර සඳහා ෆෝල්ඩර සෑදිය හැකිය, සහ එක් එක් ෆෝල්ඩරය සඳහා සියලුම ගොනු බාගත කරන්න. දේවානුභාවයෙන් සඳහා DownGit කේතය බලන්න .

9

තවත් විශේෂිත උදාහරණයක්:

මට url වෙතින් 'iOS Pro Geo' ෆෝල්ඩරය බාගත කිරීමට අවශ්‍යයි

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

මට එය හරහා කළ හැකිය

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

මාර්ගයෙහි කඳ සටහන් කරන්න

සංස්කරණය කළේ: (ටොමී සීගේ අදහස් අනුව)

ඔව්, භාවිතා අපනයන වෙනුවට ලොව පුරාවටම අමතර GIT ගබඩාව ගොනු තොරව පිරිසිදු පිටපතක් ලබා දෙනු ඇත.

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

සංස්කරණය කරන ලදි: යූආර්එල් හි ගස / මාස්ටර් නොමැති නම් එය දෙබල කරන්න, එය ෆෝක්ඩ් යූආර්එල් හි ඇත.


2
ඔබට පිටවීම වෙනුවට ෆෝල්ඩරයේ පිටපතක් බාගත කිරීමට අවශ්‍ය නම් අපනයනය සඳහා පිටවීම වෙනස් කළ යුතුය.
ටොමී සී.

ඔබගේ පිළිතුරට ස්තූතියි, අපට ශාඛාවක් කිමිදිය හැකිද? විශේෂාංග 1 ශාඛාවේ aaa ෆෝල්ඩරය බාගත කිරීමට මට අවශ්‍ය යැයි කියමු
hsafarya

9

මෙය කළ හැකි පයිතන් 3 පයිප්ප පැකේජයක් ඇත githubdl*:

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

ව්‍යාපෘති පිටුව මෙහි ඇත

වියාචනය: මම මෙම පැකේජය ලිව්වෙමි.


8

ඔබට යුනික්ස් විධාන සමඟ සැපපහසු නම්, මේ සඳහා ඔබට විශේෂ පරායත්තතා හෝ වෙබ් යෙදුම් අවශ්‍ය නොවේ. ඔබට තාර්බෝල් ලෙස repo බාගත කළ හැකි අතර ඔබට අවශ්‍ය දේ පමණක් අවලංගු කරන්න.

උදාහරණය (fontawesome හි උප බහලුමකින් woff2 ගොනු):

curl -L https://api.github.com/repos/FortAwesome/Font-Awesome/tarball | tar xz --wildcards "*/web-fonts-with-css/webfonts/*.woff2" --strip-components=3
  • සම්බන්ධක ආකෘතිය ගැන වැඩි විස්තර: https://developer.github.com/v3/repos/contents/#get-archive-link (සිප් ගොනුවක් ලබා ගන්නේ කෙසේද යන්න හෝ විශේෂිත ශාඛා / refs ඇතුළුව)
  • */ඕනෑම නාමාවලියකට ගැලපෙන පරිදි මාර්ගයේ ( ) ආරම්භක කොටස තබා ගන්න . ගිතූබ් නාමයේ ඇති බැඳීම් ref සමඟ එතීමේ නාමාවලියක් නිර්මාණය කරයි, එබැවින් එය දැනගත නොහැක.
  • ඔබට බොහෝ විට අවශ්‍ය --strip-componentsවන්නේ /මාර්ගයේ ඇති කප්පාදුවල ප්‍රමාණයට සමාන වීමටයි (පෙර තර්කය).

මෙය මුළු ටාර්බෝල් බාගත කරනු ඇත. මෙය වළක්වා ගත යුතු නම් හෝ ඔබට GitHub සේවාදායකයන්ට හොඳ වීමට අවශ්‍ය නම් අනෙක් පිළිතුරු වල සඳහන් SVN ක්‍රමය භාවිතා කරන්න.


6

නාමාවලි ගස සරල බාගත කිරීමක් ඔබට කළ හැකිය:

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

නමුත් ඔබ එය පරීක්ෂා කර බලා, කොමිස් කර ඒවා පසුපසට තල්ලු කිරීමට අදහස් කරන්නේ නම්, ඔබට එය කළ නොහැක.


1
වලංගු නොවන විධානය: 'git-upload-archive' foobar / Test.git '' ඔබ git: // URL ක්ලෝන කිරීමට ssh භාවිතා කරන බව පෙනේ. ඔබගේ core.gitProxy වින්‍යාස විකල්පය සහ GIT_PROXY_COMMAND පරිසර විචල්‍යය සකසා නොමැති බවට වග බලා ගන්න. මාරක: දුරස්ථ අන්තය අනපේක්ෂිත ලෙස තාර එල්ලී ඇත: මෙය තාර සංරක්ෂිත
තාරයක්

_g_inherit මට මෙම ගැටලුව ප්‍රතිනිෂ්පාදනය කළ හැකිය. මෙය නිවැරදි දිශාව විය හැකි නමුත් මෙම පිළිතුර අවලංගුය.
උලි කෝලර්

අඩු ඡන්ද ප්‍රමාණයක් තිබියදීත්, මට වැඩ කළ එකම උපදෙස් මෙයයි.
bhaskarc

6

එය Git ට වඩා SVN වඩා හොඳ ස්ථාන කිහිපයෙන් එකකි.

අවසානයේදී අපි විකල්ප තුනක් දෙසට ගුරුත්වාකර්ෂණය කර ඇත්තෙමු.

  1. GitHub වෙතින් දත්ත ලබා ගැනීමට wget භාවිතා කරන්න (අමු ගොනු දර්ශනය භාවිතා කරමින්).
  2. උඩුමහල් ව්‍යාපෘති මගින් අවශ්‍ය දත්ත උප කුලකය ගොඩනංවන පුරාවස්තු ලෙස ප්‍රකාශයට පත් කරන්න.
  3. අතහැර දමා සම්පූර්ණ පිටවීම භාවිතා කරන්න. පළමු ගොඩනැඟිල්ලට එය විශාල බලපෑමක් ඇති කරයි, නමුත් ඔබට තදබදයක් නොලැබේ නම්, පහත දැක්වෙන ගොඩනැඟිලිවල එය එතරම් කරදරයක් නොවේ.

4
හොඳයි, එය Git vs Subversion අඩු වන අතර තවත් බොහෝ දේ GitHub පැතලි වීම මඟින් git- සංරක්ෂිතයට ඉඩ නොදේ. (එයට හේතුව දැන ගැනීමට මා කැමතිය.)
රොබ් හොවාර්ඩ්

5

ඉහත පිළිතුරු විස්තාරණය කිරීම සඳහා, සැබෑ GitHub ගබඩාවක සිට දේශීය නාමාවලියකට සැබෑ උදාහරණයක් වනුයේ:

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

සමහර විට සංයුක්ත උදාහරණයක් මඟින් යෝජිත ආදේශක පැහැදිලි කිරීමට උපකාරී වේ.


5

මම ලිනක්ස් භාවිතා කරමි, මෙය even / .bashrc හි දමන්න, එය even: D $ HOME / .bashrc

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

}

ඉන්පසු කවචය නැවුම් කරන්න

source ~/.bashrc 

ඉන්පසු එය git-downloadfolder blablabla සමඟ භාවිතා කරන්න: D.


5

මගේ තත්වයට පිළිතුරු කිසිවක් උදව් කළේ නැත. ඔබ වින්ඩෝස් සඳහා සංවර්ධනය කරන්නේ නම්, ඔබට svn නොමැති විය හැක. බොහෝ අවස්ථාවන්හිදී කෙනෙකුට Git ස්ථාපනය කර ඇති බවට ගණන් ගත නොහැක, නැතහොත් වෙනත් හේතූන් මත සම්පූර්ණ ගබඩාවන් බාගත කිරීමට අවශ්‍ය නැත. මෙම ප්‍රශ්නයට පිළිතුරු දුන් සමහර අය, විලෙම් වැන් කෙට්විච් සහ ඇස්ටැක් වැනි අය මෙම කාර්යය ඉටු කිරීම සඳහා මෙවලම් සකස් කළහ. කෙසේ වෙතත්, ඔබ භාවිතා කරන භාෂාව සඳහා මෙවලම ලියා නොමැති නම් හෝ ඔබට තෙවන පාර්ශවීය පුස්තකාලයක් ස්ථාපනය කිරීමට අවශ්‍ය නොවන්නේ නම්, මේවා ක්‍රියා නොකරයි.

කෙසේ වෙතත්, වඩා පහසු ක්රමයක් තිබේ. GETHub සතුව API එකක් ඇත, එය GET ඉල්ලීම් භාවිතා කරමින් තනි ගොනුවක් හෝ සම්පූර්ණ නාමාවලියක අන්තර්ගතය බාගත කිරීමට ඉඩ දෙයි . ඩිරෙක්ටරියේ https://api.github.com/repos/:owner/:repo_name/contents/:pathඇති සියලුම ලිපිගොනු ගණනය කරමින් JSON වස්තුවක් ලබා දෙන ඩිරෙක්ටරියට පිවිසිය හැකිය . ගණනය කිරීමේදී ඇතුළත් කර ඇත්තේ ගොනුවේ අමු අන්තර්ගතය වන download_urlපරාමිතිය වෙත සබැඳියකි . එම URL එක භාවිතයෙන් ගොනුව බාගත කළ හැකිය.

එය පියවර දෙකක ක්‍රියාවලියක් වන අතර එය GET ඉල්ලීම් කිරීමේ හැකියාව අවශ්‍ය වේ, නමුත් මෙය ඕනෑම භාෂාවකින්, ඕනෑම වේදිකාවක ක්‍රියාත්මක කළ හැකිය. ලිපිගොනු හෝ නාමාවලි ලබා ගැනීමට එය භාවිතා කළ හැකිය.


5

git sparse-checkout

Git 2.25.0 හි නව පර්යේෂණාත්මක git sparse-checkoutවිධානයක් ඇතුළත් වන අතර එමඟින් පවත්නා අංගය භාවිතා කිරීම පහසු කරයි, විශාල ගබඩාවලට වැදගත් කාර්ය සාධන ප්‍රතිලාභද ඇත. ( GitHub බ්ලොගය )

වත්මන් අනුවාදය සමඟ උදාහරණය :

git clone --filter=blob:none --sparse https://github.com/git/git.git
cd git
git sparse-checkout init --cone
git sparse-checkout add t

වඩාත් කැපී පෙනෙන ලෙස

  • --sparsegitවැඩ කරන පිටපතට නිධියේ ඉහළ මට්ටමේ නාමාවලි ගොනු පමණක් පරීක්ෂා කරයි
  • git sparse-checkout add tincrementally එකතු / පිටතට චෙක්පත් tක නමම ලබාgit

වෙනත් අංග

  • git sparse-checkout init අර්ධ පිරික්සුම් සක්‍රීය කිරීම සඳහා යම් යම් සූදානම් කිරීම් කරයි
  • --filter=blob:noneඅවශ්‍ය git වස්තු පමණක් බාගත කිරීමෙන් දත්ත ලබා ගැනීම ප්‍රශස්ත කරයි ( වැඩිදුර තොරතුරු සඳහා අර්ධ ක්ලෝන අංගය දෙස බලන්න )
  • --cone වඩා සීමිත ගොනු ඇතුළත් කිරීමේ රටා යෙදීමෙන් කාර්ය සාධනය වේගවත් කරයි

GitHub තත්ත්වය

GitHub තවමත් මෙම අංගය අභ්‍යන්තරව තක්සේරු කරමින් සිටින අතර එය තෝරාගත් ගබඩාවන් කිහිපයක සක්‍රීය කර ඇත [...]. විශේෂාංගය ස්ථාවර වී පරිණත වන විට, එහි ප්‍රගතිය සමඟ අපි ඔබව යාවත්කාලීන කර තබන්නෙමු. ( ලියකියවිලි )


2
ඉහළට. මම එම විධානය stackoverflow.com/a/59515426/6309 හි ක්ලෝන රටා කට්ටලය සමඟ ඉදිරිපත් කළෙමි .
VonC

4

අපගේ කණ්ඩායම මෙය සිදු කිරීම සඳහා බාෂ් ස්ක්‍රිප්ට් එකක් ලිව්වේ අපගේ හිස් අස්ථි සේවාදායකයේ SVN ස්ථාපනය කිරීමට අවශ්‍ය නැති නිසාය.

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

එය github API භාවිතා කරන අතර විධාන රේඛාවෙන් මෙය ක්‍රියාත්මක කළ හැකිය:

git-download.sh https://api.github.com/repos/ojbc/main/contents/shared/ojb-certs

3

මට මූල ප්‍රවේශය නොමැති සෙන්ටෝස් 7 සේවාදායකයන් සමඟ වැඩ කරන අතර ගිට්, එස්වීඑන් යනාදිය (හෝ අවශ්‍ය නැත!) එබැවින් ඕනෑම ගිතුබ් ෆෝල්ඩරයක් බාගත කිරීම සඳහා පයිතන් ස්ක්‍රිප්ට් එකක් සාදන ලදී: https://github.com/andrrrl/github -Folder-downloader

භාවිතය සරලයි, අදාළ කොටස ගිතුබ් ව්‍යාපෘතියකින් පිටපත් කරන්න, ව්‍යාපෘතිය https://github.com/MaxCDN/php-maxcdn/ යැයි කියමු , ඔබට සමහර ප්‍රභව ලිපිගොනු පමණක් ඇති ෆෝල්ඩරයක් අවශ්‍ය වේ, එවිට ඔබට අවශ්‍ය වේ වැනි දෙයක් කරන්න:

$ python gdownload.py "/MaxCDN/php-maxcdn/tree/master/src" /my/target/dir/
(නොපවතී නම් ඉලක්ක ෆෝල්ඩරය සාදනු ඇත)

එයට lxml පුස්තකාලයක් අවශ්‍යය , එය සමඟ ස්ථාපනය කළ හැකිය easy_install lxml
ඔබට root ප්‍රවේශය නොමැති නම් (මා වැනි) ඔබට මෙම අන්තර්ගතයන් සමඟ .pydistutils.pyඔබේ $HOMEඩිරයට ගොනුවක් සෑදිය හැකිය : [install] user=1 තවද එය easy_install lxmlක්‍රියාත්මක වනු ඇත (ref: https://stackoverflow.com/a/ 33464597/591257 ).


3

ඔබට පහත ආකාරයෙන් git svn භාවිතා කළ හැකිය.

git svn clone https://github.com/lodash/lodash/trunk/test

මේ ආකාරයෙන් ඔබට වින්ඩෝස් භාවිතා කරන්නන් සඳහා svn සැකසීමේ වේදනාව දරා ගත යුතු නැත.


ඔබට ස්තුතියි. එය වින්ඩෝස් සඳහා වැඩ කරන බවට මට සහතික විය හැකිය. Gcloud මත වැඩ කරන්නේ නැත. එහි සඳහන් වන්නේ git: 'svn' යනු විධානයක් නොවන බවයි
ජෝසප් බ්ලෙසින්ග්

sudo apt install git-svnWSL හරහා ධාවනය වන විට අවශ්‍ය වේ.
ජම්මි ඩොඩ්ජර්

3

පියවර 5 ක් පමණි

1) බාගත SVN සිට මෙහි .
2) CMD විවෘත කර පහත පරිදි SVN බින් නාමාවලියට යන්න :

cd %ProgramFiles%\SlikSvn\bin

3) මෙම ඩිරෙක්ටරිය URL බාගත කිරීමට මට අවශ්‍ය යැයි සිතමු 4) දැන් 5 සමඟ ප්‍රතිස්ථාපනය කරන්න ) දැන් එකම ඩිරෙක්ටරියේ ෆෝල්ඩරය බාගත කිරීම සඳහා මෙම අවසාන විධානය වෙඩි තබන්න.
https://github.com/ZeBobo5/Vlc.DotNet/tree/develop/src/Samples

tree/develop
or
tree/master
trunk

svn export https://github.com/ZeBobo5/Vlc.DotNet/trunk/src/Samples


2

GitHub වෙතින් නාමාවලියක් අපනයනය කිරීමට, නාමාවලියෙහි url හි "/ tree / master /" වෙනුවට "/ trunk /" ආදේශ කරන්න.

උදාහරණයක් ලෙස, පහත URL වෙතින් නාමාවලිය අපනයනය කිරීමට:

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

2

මේ සඳහා answer ජු පිළිතුරක් වන්නේ පහත දැක්වෙන සබැඳියෙන් පළමුව ඉබ්බන් එස්.වී.එන්.

https://tortoisesvn.net/downloads.html

ස්ථාපනය CLI විකල්පය සක්‍රිය කරන අතර එය විධාන රේඛා අතුරුමුහුණතෙන් භාවිතා කළ හැකිය.

git හබ් උප නාමාවලි සබැඳිය පිටපත් කරන්න.

උදාහරණයක්

https://github.com/tensorflow/models/tree/master/research/deeplab

ගස / මාස්ටර් කඳෙන් ආදේශ කරන්න

https://github.com/tensorflow/models/trunk/research/deeplab

සහ කරන්න

svn checkout https://github.com/tensorflow/models/trunk/research/deeplab

වත්මන් නාමාවලියෙහි ඇති ගැඹුරු ලාංඡනය වෙත ගොනු බාගත කෙරේ.


2

කුමන හේතුවක් නිසා වුවද, svnවිසඳුම මා වෙනුවෙන් ක්‍රියා නොකරන අතර, මට වෙනත් කිසිවක් අවශ්‍ය නොවන බැවින් svn, එය සෑදීමට උත්සාහ කිරීම සඳහා කාලය ගත කිරීම තේරුමක් නැති නිසා, මම දැනටමත් සතුව තිබූ මෙවලම් භාවිතයෙන් සරල විසඳුමක් සෙව්වෙමි. මෙම කේත භාවිතා පමණක් curlසහ awkවිස්තර සඳහා GitHub නාමාවලියේ සියලු ගොනු බාගත කිරීම සඳහා "/:user:repo/contents/:path".

GitHub REST API "GET /repos/:user:repo/contents/:path"විධානය වෙත නැවත ඇමතුමක් ලබා දුන් වස්තුව a ඇතුළත් වස්තුවක් ලබා දෙයි"download_url" ඩිරෙක්ටරියේ එක් එක් ගොනුව සඳහා සබැඳියක් .

මෙම විධාන රේඛා ස්ක්‍රිප්ට් මඟින් REST API භාවිතා curlකර AWK හරහා ප්‍රති result ලය යවන අතර එය "download_url" රේඛා හැර අනෙක් සියල්ල පෙරහන් කරයි, සබැඳි වලින් මිල ගණන් සහ කොමාව මකා දමයි, පසුව වෙනත් ඇමතුමක් භාවිතා කර සබැඳිය බාගත කරයි.

curl -s https://api.github.com/repos/:user/:repo/contents/:path | awk \
     '/download_url/ { gsub("\"|,", "", $2); system("curl -O "$2"); }'

1

ඔබට එය ක්‍රමානුකූලව කිරීමට අවශ්‍ය නම් සහ ඔබට SVN මත විශ්වාසය තැබීමට අවශ්‍ය නැතිනම්, ඔබට සියලු අන්තර්ගතයන් පුනරාවර්තනයෙන් බාගත කිරීමට GitHub API භාවිතා කළ හැකිය.

දේවානුභාවයෙන්, මෙන්න මගේ රූබි සාරාංශය: https://gist.github.com/cvengros/b2a7e82f66519d423b6f


1

මෙම ශ්‍රිතය භාවිතා කරන්න, පළමු තර්කය ෆෝල්ඩරයට යූආර්එල් වේ, දෙවැන්න ෆෝල්ඩරය බාගත කරන ස්ථානය:

function github-dir() {
    svn export "$(sed 's/tree\/master/trunk/' <<< "$1")" "$2"  
}

1

git clone --filter Git 2.19 සිට

මෙම විකල්පය ඇත්ත වශයෙන්ම සේවාදායකයෙන් අනවශ්‍ය වස්තු ලබා ගැනීම මඟ හරිනු ඇත:

git clone --depth 1 --no-checkout --filter=blob:none \
  "file://$(pwd)/server_repo" local_repo
cd local_repo
git checkout master -- mydir/

සේවාදායකය වින්‍යාසගත කළ යුත්තේ:

git config --local uploadpack.allowfilter 1
git config --local uploadpack.allowanysha1inwant 1

V2.19.0 හි මෙම අංගයට සහය දැක්වීම සඳහා Git දුරස්ථ ප්‍රොටෝකෝලය වෙත දිගුවක් ලබා දෙන ලදි, නමුත් ඒ වන විට සේවාදායක සහාය නොමැත. නමුත් එය දැනටමත් දේශීයව පරීක්ෂා කළ හැකිය.

මම මෙය වඩාත් විස්තරාත්මකව ආවරණය කර ඇත්තේ: Git ගබඩාවක පමණක් උප බහලුමක් ක්ලෝන කරන්නේ කෙසේද?


1
සිත්ගන්නාසුළු හා ඉහළට. මෙම 2.19 අංගය වෙනත් තැනක සඳහන් කර තිබිය යුතු යැයි සිතමි.
VonC

OnVonC මම හිතන්නේ මම ඔබට මෙය වරක් පහර දුන්නා: stackoverflow.com/questions/2466735/… මම එය දෙස බැලුවේ XD නිකුතුවෙන් පසුව පමණි! 2.22 නිකුතුවෙන් පසුව මම අද ගූග්ලිං වී සිටිමි, සියලු පිළිතුරු දැනටමත් යාවත්කාලීන කර ඇත ;-) සෑම විටම තවත් අර්ධ අනුපිටපතක් ඉතිරිව ඇත්තේ කෙසේදැයි මා විහිළුවට ලක් නොකරයි, සෑම විටම, මම එය වසරකට පසුව සොයා ගැනීම අවසන් කරමි තරමක් වෙනස් විමසුමක්. මම ඔබට තදින් පහර දීමට අදහස් නොකරමි, නමුත් ඉතා අමාරුයි, නමුත් ගණකාධිකාරී ගණනය කිරීම් ගැන විමසිල්ලෙන් සිටින්න! හාහා
සීරෝ Santilli郝海东冠状病六四事件法轮功

හොඳයි, හොඳ වැඩ දිගටම කරගෙන යන්න: මෙම කුඩා පැත්තේ තරඟයෙන් සියලුම ප්‍රජාවන්ට ප්‍රතිලාභ ලැබෙනු ඇත (ඒ අවස්ථාවේ දී මම ඔබේ අනෙක් පිළිතුර
ඉහළට ඔසවා තැබුවෙමි

OnVonC විහිළුවක්, ඇත්තෙන්ම මම ඔබේ දේවල් ඉහළට ඔසවා තබමි. මට දැන් එම කරුණු මුදලට මුදවා ගැනීමට ක්‍රමයක් සොයා ගත යුතුයි XD
Ciro Santilli 郝海东 冠状 病 六四 those 法轮功
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.