গিটহাব রেপো থেকে একটি ফোল্ডার বা ডিরেক্টরি ডাউনলোড করুন Download


1104

গিটহাবের হোস্ট করা দূরবর্তী গিট রেপো থেকে কীভাবে আমি কেবল একটি নির্দিষ্ট ফোল্ডার বা ডিরেক্টরি ডাউনলোড করতে পারি?

গিটহাব রেপো এখানে উদাহরণ হিসাবে বলুন:

git@github.com:foobar/Test.git

এর ডিরেক্টরি কাঠামো:

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

আমি কেবল foo ফোল্ডারটিই ডাউনলোড করতে চাই এবং পুরো টেস্ট প্রকল্পটি ক্লোন করে না।



390
কেউ আমাকে ব্যাখ্যা করতে পারেন কেন এটির জন্য কোনও "অফিসিয়াল" ওয়েব ইন্টারফেস সমাধান নেই? এটি বাস্তবায়নের জন্য তুচ্ছ বৈশিষ্ট্যের মতো মনে হচ্ছে, তবুও সুপার দরকারী।
আলেকজান্ডার - মনিকা পুনরায়

3
আমি কিনলিয়েনের গিটজিপ ব্যবহার করে ক্রোম এক্সটেনশন তৈরি করেছি। github.com/charany1/GHSDD
charany1

3
দেখুন @josos উত্তর এসএনএন বিকল্পটি সেরা, কোনও লেখক, কোনও নিবন্ধকরণ, কোনও সীমাবদ্ধতা, কোনও প্লাগইন নেই
স্ট্যাকডেভ

5
আমি এটির জন্য একটি হালকা ওজনের সমাধান তৈরি করেছি ( ডাউনলোড
-ডাইরেক্টরি.github.io

উত্তর:


1032

২০১ Sep সালের সেপ্টেম্বরে আপডেট করুন: সম্প্রদায় দ্বারা তৈরি কয়েকটি সরঞ্জাম রয়েছে যা আপনার জন্য এটি করতে পারে:


গিট এটি সমর্থন করে না, তবে গিথুব এসভিএন এর মাধ্যমে করে। আপনি যদি সাব কোডশন সহ আপনার কোডটি চেকআউট করেন, গিথুব মূলত গিপ থেকে রেপোটিকে ব্যাকএন্ডে সাবভার্সনে রূপান্তর করবে, তারপরে অনুরোধ করা ডিরেক্টরিটি পরিবেশন করবে।

নির্দিষ্ট ফোল্ডারটি ডাউনলোড করতে আপনি কীভাবে এই বৈশিষ্ট্যটি ব্যবহার করতে পারেন তা এখানে। আমি lodashউদাহরণ হিসাবে জনপ্রিয় জাভাস্ক্রিপ্ট লাইব্রেরি ব্যবহার করব ।

  1. আপনি যে ফোল্ডারটি ডাউনলোড করতে চান তাতে নেভিগেট করুন । শাখা /testথেকে ডাউনলোড করা যাক masterগিথুব রেপো ইউআরএল উদাহরণ

  2. Subversion জন্য URL পরিবর্তন করুনtree/masterসঙ্গে প্রতিস্থাপন trunk

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

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

  3. ফোল্ডারটি ডাউনলোড করুন । কমান্ড লাইনে যান এবং এসভিএন দিয়ে ফোল্ডারটি ধরুন।

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

আপনি কোনও তত্ক্ষণাত্ তাত্ক্ষণিকভাবে দেখতে পাবেন না কারণ বৃহত সংগ্রহস্থলগুলিতে রূপান্তর করতে গিথুব 30 সেকেন্ড পর্যন্ত সময় নেয় তাই ধৈর্য ধরুন।

সম্পূর্ণ ইউআরএল ফর্ম্যাট ব্যাখ্যা:

  • আপনি যদি masterশাখায় আগ্রহী হন তবে trunkপরিবর্তে ব্যবহার করুন। পুরো পথটি তাইtrunk/foldername
  • আপনি যদি fooশাখায় আগ্রহী হন তবে branches/fooপরিবর্তে ব্যবহার করুন। পুরো পথটি দেখতে মনে হচ্ছেbranches/foo/foldername
  • প্রতিলিপি: আপনি চাইলে svn lsডাউনলোডের আগে উপলভ্য ট্যাগ এবং শাখা দেখতে ব্যবহার করতে পারেন

এখানেই শেষ! গিথুব আরও সাবভার্সন বৈশিষ্ট্যগুলিকে সমর্থন করে , পরিবর্তনের প্রতিশ্রুতিবদ্ধ এবং ধাক্কা দেওয়ার জন্য সমর্থন সহ।


162
জট্টিল শুধু প্রতিস্থাপন tree/masterসঙ্গে trunkএবং আপনার নির্দিষ্ট ফোল্ডারের পেতে পারেন।
সেরজিও মিশেল

6
ধন্যবাদ @ ইউজার 1146881 এবং @ সার্জিওমিচেলস, আপনাকে এর সাথে প্রতিস্থাপন tree/masterকরতে হবে trunk। উত্তরে এই তথ্য যুক্ত করা উচিত।
18:25

8
আমি এটি ব্যবহারের জন্য সংশোধন করেছি svn export, কারণ আমি সাবস্ট্রিয়ান ওয়ার্কিং কপি চাইনি। তারপরে আমি গিটে ফলস্বরূপ ফোল্ডার যুক্ত করেছি। (আমি কোনওভাবে আমার ডিরেক্টরি গাছের একটি বৃহত টুকরো হারিয়েছি, তাই আমি যে
ফোরকোডো

5
@ num3ric- দেরী জবাবের জন্য দুঃখিত, তবে আপনার "ট্রাঙ্ক" "শাখা / আপনার ব্রাঞ্চ" এর সাথে প্রতিস্থাপন করতে সক্ষম হওয়া উচিত
নিক

2
@ এলিজাহলিন সম্পাদনার জন্য ধন্যবাদ, আমার সেই তথ্যটি অন্তর্ভুক্ত করা উচিত ছিল! যদিও 2 টি জিনিস - আমি আপনার সম্পাদনাটি স্বীকার করেছি কিন্তু আমার নিজের কিছু ফিরিয়ে নিয়েছে (এটি যাইহোক এটি করার অর্থ ছিল, এটি খুব অগোছালো মনে হয়েছিল)। অতিরিক্ত হিসাবে আমি আপনার branchপথ পরিবর্তন করেছি branches, যা আমি সঠিক বলে মনে করি ; যদি না হয়, এগিয়ে যান এবং এটি আবার পরিবর্তন করুন।
নিক

566

এই বৈশিষ্ট্যের জন্য দুটি বিকল্প:

বিকল্প 1: গিটজিপ ব্রাউজার এক্সটেনশন

ক্রোম এক্সটেনশন , ফায়ারফক্স অ্যাডন

ব্যবহার:

  1. যে কোনও গিটহাব রেপো পৃষ্ঠায়।
  2. আপনার প্রয়োজনীয় আইটেমগুলির ফাঁকা অংশে কেবল ডাবল ক্লিক করুন।
  3. নীচে-ডানে ডাউনলোড বোতামটি ক্লিক করুন।
  4. অগ্রগতি ড্যাশবোর্ড দেখুন এবং ব্রাউজার ট্রিগার ডাউনলোডের জন্য অপেক্ষা করুন।
  5. জিপ ফাইলটি পান।

টোকেন পান:

  1. আপনার ব্রাউজারে গিটজিপ এক্সটেনশন আইকনটি ক্লিক করুন।
  2. "টোকেন পান" এর পাশাপাশি "সাধারণ" বা "ব্যক্তিগত" লিঙ্কটি ক্লিক করুন।
  3. গিথব লেখক পৃষ্ঠায় গিটজিপ অনুমোদনের অনুমতি দিন।
  4. শুরুতে রেপো পৃষ্ঠায় ফিরে যান।
  5. ব্যবহার চালিয়ে যান।

বিকল্প 2: গিথুব-পৃষ্ঠা পৃষ্ঠা

গিটহাব এপিআই, এবং জেএসজিপ, ফাইলসভার.জেস লাইব্রেরি ব্যবহার করে http://kinolien.github.io/gitzip

পদক্ষেপ 1: উপরের ডানদিকে ক্ষেত্রটিতে ইনপুট গিথুব url।
পদক্ষেপ 2: সরাসরি জিপ ডাউনলোডের জন্য এন্টার টিপুন বা ডাউনলোড ক্লিক করুন বা সাব-ফোল্ডার এবং ফাইলগুলির তালিকা দেখার জন্য অনুসন্ধান ক্লিক করুন।
স্টিপি 3: ফাইলগুলি পেতে "জিপ ফাইল ডাউনলোড করুন" বা "ফাইল পান" বোতামটি ক্লিক করুন।

গিথুব ট্রি এপিআই এর সীমাবদ্ধতার কারণে ফোল্ডারে 1000 টিরও বেশি ফাইল রয়েছে তবে বেশিরভাগ ক্ষেত্রেই এটি সূক্ষ্মভাবে কাজ করে। ( গিথুব এপিআই # বিষয়বস্তু বোঝায় )

এবং এটি যদি বেসরকারী / পাবলিক রেপোগুলিকে সমর্থন করে এবং রেট সীমাটি আপগ্রেড করতে পারে, যদি আপনার কাছে গিটহাব অ্যাকাউন্ট থাকে এবং এই সাইটে "টোকেন পান" লিঙ্কটি ব্যবহার করেন।


5
এটি দুর্দান্ত but আপনার হারের সীমা যেহেতু তারা অনুমোদনের অনুরোধ থাকবে
hobiley

3
@ হোবাইলি এখন, এটি হারের সীমা বাড়ানোর জন্য অ্যাক্সেস টোকন পেতে পারে এবং ব্যক্তিগত দোকানেও অ্যাক্সেস করতে পারে।
কিনো

1
@ মিউনাস গিথুব এপিআই ডক-এর ওউথ, গাছ, ব্লব অধ্যায়গুলি সম্পর্কে দেখুন , এবং গিটজিপ বাস্তবায়নের জন্য জেএসজিপ, ফাইলসভার.জেএস জেএস লাইব্রেরিও ব্যবহার করুন।
কিনো

1
যে কেউ ক্রোম এক্সটেনশনে আগ্রহী তা করে?
গোল্ডলাক্স

4
এটি সত্যই গিথুব ওয়েবসাইটে যুক্ত করা দরকার এটি অত্যন্ত কার্যকর।
রোলগুলি

508

ডাউনজিট এ যান > আপনার ইউআরএল প্রবেশ করুন> ডাউনলোড করুন!

এখন, আপনি ডাউনজিট থেকে যে কোনও গিটহাব পাবলিক ডিরেক্টরি বা ফাইল ( বিশেষত বৃহত ফাইল ) এর জন্য সরাসরি ডাউনলোড বা ডাউনলোড লিঙ্ক তৈরি করতে পারেন ! এখানে একটি সহজ প্রদর্শন-


DownGit


আপনি ডাউনলোড করা ফাইলের সম্পত্তি- বিশদ ব্যবহার কনফিগার করতে পারেন ।


2
ব্রো, মানে আপনি কীভাবে ডাউনজিট তৈরি করেছেন তা তৈরি করবেন project
মুহাম্মদ ইউনুস

12
বেস পদ্ধতিটি হল- ১। ডিরেক্টরি লিঙ্কটি নিন (ব্যবহৃত কৌণিক-রুট ), ২. গিটহাব এপিআইতে যান , ৩. ডিরেক্টরিটি অনুসন্ধান করুন এবং সমস্ত ফাইল ডাউনলোড করুন, ৪. এটির সাথে একটি জিপ ফাইল তৈরি করুন (আমি jszip ব্যবহার করেছি ) & এটি ফাইল হিসাবে সংরক্ষণ করুন (এর জন্য ফাইলসেভার ব্যবহৃত )। পরিষ্কার বোঝার জন্য আমি কটাক্ষপাত করা সুপারিশ করবে আমার প্রকল্প
মিনহাস কামাল

1
থ্যাঙ্কস ব্রো বিস্তারিত নির্দেশাবলীর জন্য, আপনি কোনও টিউটোরিয়াল বা লিঙ্কের পরামর্শ দিলে আমি আপনাকে ধন্যবাদ জানাই।
মুহাম্মদ ইউনুস

5
এটি দুর্দান্ত তবে এটি স্বয়ংক্রিয় সরঞ্জামগুলির সাথে কাজ করে না (যেমন উইজেট)
রিং

1
downloaded 25 of 25 filesআমি যখন এই ইউআরএল থেকে ডাউনলোড করার চেষ্টা করব তখন এটি স্তব্ধ হয়ে যায় : github.com/dssg/hitchhikers-guide/tree/master/curricula/…
ওয়াসাদামো

164

আপনার যদি থাকে তবে svnআপনি এটি করতে ব্যবহার করতে পারেন svn export:

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

URL ফর্ম্যাটটি লক্ষ্য করুন:

  • বেস ইউআরএল হয় https://github.com/
  • /trunk শেষে সংযুক্ত

আপনি চালানোর আগে svn exportপ্রথমে ডিরেক্টরিটির সামগ্রীটি যাচাই করা ভাল:

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

এটি কি এখনও কাজ করে? টর্টিসএসভিএন দিয়ে এটি চেষ্টা করেছিলাম এবং আমাকে শংসাপত্র সরবরাহ করতে বলার সাথে অনুমতি ত্রুটি পাই।
জন

2
@ জোহান আমি নিশ্চিত যে এটি অনেক বেশি সাহায্য করতে দেরী হয়েছে, তবে আপনার গিটহাব অ্যাকাউন্টে আপনার কি 2-গুণক প্রমাণীকরণ সক্ষম করা আছে? যদি তা হয় তবে আমি মনে করি যে আমি কোথাও পড়েছি আপনাকে পাসওয়ার্ডের জন্য একটি পূর্ব-উত্পন্ন কী ব্যবহার করতে হবে (যা আপনাকে গিটহাব সেটিংসে সন্ধান করতে হবে)।
নিক

1
URL বিন্যাস সম্পর্কিত, আপনি .gitএক্সটেনশন রাখতে পারেন extension আপনি সম্পূর্ণ প্রকল্প লিঙ্কটি ব্যবহার করতে পারেন এবং svn lsপ্রকল্পের পুরো পথ অনুসরণ করে ব্যবহার শুরু করতে পারেন । উদাহরণ: svn ls https://github.com/RobTillaart/Arduino.git। মাত্র একটি ফোল্ডার রফতানি করতে আপনি /trunkপছন্দসই পাথ অনুসরণ করুন , পছন্দ করুন svn export https://github.com/RobTillaart/Arduino.git/trunk/libraries/DHTlib। প্রকল্পের পথটি অক্ষত রাখা সহজ।
jgrocha

@jgrocha আমি নিশ্চিত এটা 2013 সালে যে ভাবে ফিরে কাজ নই, কিন্তু তাই ধন্যবাদ, পোস্টটি আপডেট এটা এখন না
জেনোস

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, কোনও সাবভারশন সম্পর্কিত ফাইল নেই।
রকাল্লাইট

74

জেনেরিক গিট রেপোর জন্য:

যদি আপনি ফাইল ডাউনলোড করতে চান তবে ইতিহাসের সাথে সংগ্রহস্থলটিকে ক্লোন না করে আপনি এটি দিয়ে এটি করতে পারেন git-archive

git-archiveগিট সংগ্রহস্থলের একটি সংকোচিত জিপ বা তারক সংরক্ষণাগার তৈরি করে। কিছু বিষয় যা এটি বিশেষ করে তোলে:

  1. গিট সংগ্রহস্থলের কোন ফাইল বা ডিরেক্টরি সংরক্ষণাগারভুক্ত করতে পারেন তা বেছে নিতে পারেন।
  2. এটি .git/ফোল্ডারটি বা এটি চালিত ভাণ্ডারগুলিতে কোনও অচিহ্নযুক্ত ফাইল সংরক্ষণাগারভুক্ত করে না ।
  3. আপনি একটি নির্দিষ্ট শাখা, ট্যাগ, বা প্রতিশ্রুতিবদ্ধ করতে পারেন। গিট দিয়ে পরিচালিত প্রকল্পগুলি ব্যবহারকারীদের ডাউনলোডের জন্য প্রায়শই প্রকল্পের সংস্করণগুলির সংরক্ষণাগার (বিটা, রিলিজ, ২.০ ইত্যাদি) তৈরি করতে এটি ব্যবহার করে।

docs/usageআপনি ssh এর সাথে সংযুক্ত এমন একটি রিমোট রেপো থেকে ডিরেক্টরিটির একটি সংরক্ষণাগার তৈরির উদাহরণ :

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

এ আরো তথ্য এই ব্লগ পোস্টের এবং Git ডকুমেন্টেশন

গিটহাব রেপোসে নোট:

গিটহাব git-archiveঅ্যাক্সেসের অনুমতি দেয় না । ☹️


2
git archive --format tarফর্ম্যাটটি tar.gz নয়, তবে ডাবের।
羽 和 之

এটি সেরা উত্তর হওয়া উচিত
ফিলিপ কোস্টা

2
আমি মনে করি এটি সেরা উত্তর তবে মনে রাখবেন যে গিট আর্কাইভ কমান্ডটি https প্রোটোকলের সাথে কাজ করে না।
বিটফক্স

@ ইউকিহানে তারের থেকে তারিখের প্রসারিত সম্পাদনা করা হয়েছে, আশা করা যায় যে ওপি এটির সাথে রয়েছে
মিহাই

36

আমি একটি ওপেন সোর্স প্রকল্প তৈরি করেছি, যার নাম গিটহাবফোল্ডারডাউনলোডার । এটি সম্পূর্ণ ক্লোনিং বা ডাউনলোড না করে কোনও সংগ্রহস্থলের একক ফোল্ডার ডাউনলোড করতে দেয়।


আপনার যদি কেবল গিটহাব থেকে ফোল্ডারগুলি ডাউনলোড করতে হয় তবে দুর্দান্ত কাজ করে। পছন্দসই ফোল্ডারটি ডাউনলোড করার জন্য এটির কেবল গিথুব টোকেন প্রয়োজন। আরও আপোভেটস এই উত্তরটি কিছুটা বিশিষ্ট করতে পারে।
অ্যালেক্স এসিলফি

34

অন্যান্য উত্তরের সাথে কিছু ভুল হয়নি তবে আমি কেবল ভেবেছিলাম যে প্রথমবারের মতো এই প্রক্রিয়াটিতে ঘুরপাক খাওয়াদের জন্য আমি ধাপে ধাপে নির্দেশাবলী ভাগ করব।

গিথুব সংগ্রহস্থল (ম্যাক ওএস এক্স) থেকে কীভাবে একটি একক ফোল্ডার ডাউনলোড করবেন:

Ter টার্মিনাল খোলার জন্য কেবল স্পটলাইট ক্লিক করুন এবং টার্মিনাল টাইপ করুন তারপরে এন্টার চাপুন

  1. একটি ম্যাকের উপর আপনার সম্ভবত ইতিমধ্যে এসভিএন রয়েছে (কেবলমাত্র টার্মিনালটি খোলার জন্য এবং "এসএনএন" বা "যা এসএনএন" টাইপ করুন ~ উদ্ধৃতি চিহ্নগুলি ছাড়াই)
  2. গিথুবটিতে: কোনও রেপোর মধ্যে নির্দিষ্ট ফোল্ডারের নামটি ক্লিক করে আপনার গিট ফোল্ডারে (রেপো নয়) গিথুব পাথটি সনাক্ত করুন
  3. ব্রাউজারের ঠিকানা বার থেকে পাথটি অনুলিপি করুন
  4. টার্মিনালটি ওপেন করুন এবং টাইপ করুন: এসএনএন এক্সপোর্ট
  5. ঠিকানায় পরবর্তী পেস্ট করুন (উদাঃ): https://github.com/mingsai/Sample-Code/tree/master/HeadsUpUI
  6. শব্দগুলি প্রতিস্থাপন করুন: গাছ / মাস্টার
  7. শব্দ সহ: ট্রাঙ্ক
  8. ফাইলগুলির জন্য গন্তব্য ফোল্ডারটি টাইপ করুন (উদাহরণস্বরূপ, আমি বর্তমান ব্যবহারকারীর জন্য ডাউনলোড ফোল্ডারের ভিতরে লক্ষ্য ফোল্ডারটি সঞ্চয় করি)
  9. এখানে স্থানটি কেবল স্পেসবারে শব্দ (স্পেস) not / ডাউনলোড / হেডসপুআই নয়
  10. চূড়ান্ত টার্মিনাল কমান্ডটি ফোল্ডারটি ডাউনলোড করার জন্য সম্পূর্ণ কমান্ড দেখায় (5 ধাপের সাথে ঠিকানাটির তুলনা করুন) এসএনএন রফতানি https://github.com/mingsai/Sample-Code/trunk/HeadsUpUI Download / ডাউনলোড / HeadsUpUI

বিটিডাব্লু - আপনি যদি উইন্ডোজ বা অন্য কোনও প্ল্যাটফর্মে থাকেন তবে আপনি http://subversion.apache.org এ সাবভার্শন (এসএনএন) এর একটি বাইনারি ডাউনলোড পেতে পারেন

You আপনি যদি ফোল্ডারটি কেবল ডাউনলোড করার চেয়ে চেকআউট করতে চান তবে এটি এসএনএন সহায়তা ব্যবহারের চেষ্টা করুন (tldr: চেকআউট সহ রফতানি প্রতিস্থাপন করুন )

হালনাগাদ

একটি বাধা ডাউনলোড / চেকআউট পুনরায় শুরু করার বিষয়ে মন্তব্য সম্পর্কে। আমি svn cleanupঅনুসরণ করে দৌড়াতে চেষ্টা করব svn update। অতিরিক্ত বিকল্পের জন্য দয়া করে তাই অনুসন্ধান করুন।


1
আমাকে একটি নির্দিষ্ট ফোল্ডার থেকে অনেকগুলি ফাইল ডাউনলোড করতে হবে এবং ডাউনলোডের মাঝামাঝি সময়ে এই ত্রুটিটি পেয়েছি: এসএনএন: E175002: '/ বিজিমার্টিনস / স্ক্রিপ্টস-পার্লামেন্টো /! এসএনএন / ভিসিসি / ডিফল্ট' এর রিপোর্ট: 200 ওকে ( github.com ) আপনি কীভাবে ডাউনলোডটি আবার শুরু করতে পারেন?
মিগুয়েল

আমার জন্য কাজ করেছেন। এটা আশ্চর্যজনক.
রাফটারি

24

যে কেউ নির্দিষ্ট ফোল্ডারে কাজ করছে তাকে সেই নির্দিষ্ট ফোল্ডারটি নিজেই ক্লোন করতে হবে, এটি করার জন্য স্পার্স চেকআউট ব্যবহার করে নীচের পদক্ষেপগুলি অনুসরণ করুন।

  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)

  6. ফাইলগুলি আনুন ( git pull origin master)


খুব খারাপ এই মন্তব্যে পর্যাপ্ত পরিমাণে আপত্তি পাওয়া যায়নি। মনে হচ্ছে প্রদত্ত সমাধানটি সমস্ত গিট সংগ্রহস্থলের ক্ষেত্রে প্রযোজ্য এবং কেবল গিথুব নয়।
কল্যাণ

9
এটি আসলে যা করতে চেয়েছিল তা করে না। এটি এখনও পুরো সংগ্রহস্থলটিকে ক্লোন করে, এটি কিছু ফোল্ডার পরীক্ষা করে না।
ক্রিস

এখানে সমাধান হয়েছে: স্ট্যাকওভারফ্লো.com
জে কে

আমি এই ত্রুটিটি পেয়েছি: স্পার্স চেকআউট ওয়ার্কিং ডিরেক্টরিতে কোনও প্রবেশ ছাড়বে না।
অরেঞ্জক্যাটারপিলার

20

তুমি পার না; সাবভার্সন থেকে পৃথক, যেখানে প্রতিটি উপ-ডিরেক্টরিটি পৃথকভাবে চেক আউট করা যায়, গিট পুরো-সংগ্রহস্থল ভিত্তিতে পরিচালনা করে।

যে প্রকল্পগুলিতে সূক্ষ্ম দানযুক্ত অ্যাক্সেস প্রয়োজন, আপনি সাবমডিউলগুলি ব্যবহার করতে পারেন - প্রতিটি সাবমোডিয়াল একটি পৃথক গিট প্রকল্প এবং সুতরাং স্বতন্ত্রভাবে ক্লোন করা যেতে পারে।

এটা অনুমেয় যে কোনও গিট ফ্রন্ট-এন্ড (যেমন গিটহাবের ওয়েব ইন্টারফেস, বা গিটওয়েব) আপনাকে প্রদত্ত ফোল্ডারটি বের করার জন্য একটি ইন্টারফেস সরবরাহ করতে পারে, তবে আমার জ্ঞানের সাথে এগুলি কেউই তা করতে পারে না (যদিও তারা আপনাকে পৃথক ফাইল ডাউনলোড করতে দেয়) , সুতরাং যদি ফোল্ডারে খুব বেশি ফাইল না থাকে তবে এটি একটি বিকল্প)

সম্পাদনা করুন - গিটহাব আসলে এসভিএন এর মাধ্যমে অ্যাক্সেসের প্রস্তাব দেয়, যা আপনাকে কেবল এটি করার অনুমতি দেবে (মন্তব্য অনুসারে)। কীভাবে এটি করা যায় তার জন্য সর্বশেষ নির্দেশাবলীর জন্য https://github.com/blog/1438-improved-svn-here-to-stay-old-svn-oming-away দেখুন


গিথুব এপিআইয়ের মাধ্যমে কি কিছু আছে?
g_inherit

14

যদি আপনি সত্যিই কেবল ফোল্ডারটি "ডাউনলোড" করতে চান এবং এটি (বিকাশের জন্য) "ক্লোন" না করতে চান তবে সহজতম উপায় সহজেই সংগ্রহস্থলের সাম্প্রতিকতম সংস্করণটির অনুলিপি পেতে (এবং এর মধ্যে এটির মধ্যে একটি ফোল্ডার / ফাইল) রয়েছে, পুরো রেপো ক্লোন করার দরকার নেই বা প্রথমে গিট ইনস্টল করার দরকার নেই, জিট আর্কাইভ ডাউনলোড করতে হবে (কোনও রেপো, কাঁটাচামচ, শাখা, প্রতিশ্রুতি ইত্যাদির জন্য) গিতহাবের উপর কাঙ্ক্ষিত সংগ্রহস্থল / কাঁটা / শাখা / প্রতিশ্রুতিতে গিয়ে একটি জিপ সংরক্ষণাগার ডাউনলোড করতে হবে (যেমন http(s)://github.com/<user>/<repo>/commit/<Sha1>ফাইলগুলি একটি নির্দিষ্ট প্রতিশ্রুতি অনুসারে যেমন ছিল তার অনুলিপি জন্য) এবং Downloadsউপরের-ডানদিকে বোতামটি নির্বাচন করে ।

এই সংরক্ষণাগার বিন্যাসটিতে গিট-রেপো যাদুগুলির কোনওটিই নেই, কেবল ট্র্যাক করা ফাইলগুলি নিজেরাই (এবং সম্ভবত কয়েকটি .gitignore ফাইলগুলি ট্র্যাক করা থাকলে তবে আপনি সেগুলিকে অগ্রাহ্য করতে পারেন: পি) - এর অর্থ কোডটি পরিবর্তিত হয় এবং আপনি চান শীর্ষে থাকুন, আপনাকে এটিকে ম্যানুয়ালি পুনরায় ডাউনলোড করতে হবে এবং এর অর্থ এটি আপনি গিট সংগ্রহস্থল হিসাবে ব্যবহার করতে সক্ষম হবেন না ...

আপনি যদি এক্ষেত্রে যা খুঁজছেন তা নিশ্চিত না (আবার "ডাউনলোড" / ভিউ "ক্লোন" / বিকাশ) তবে তা কার্যকর হতে পারে ...


9
আপনি যদি কোনও ডাউনলোড লিঙ্ক না দেখেন তবে নিশ্চিত হন যে আপনি একটি প্রধান রেপো পৃষ্ঠায় রয়েছেন (শিশু ডিরেক্টরি নয়) not মনে হয় আপনি কেবল পুরো রেপোর একটি জিপ ডাউনলোড করতে পারেন। এছাড়াও, এই গিথব সহায়তা পৃষ্ঠাটি দরকারী হতে পারে।
জেডি স্মিথ

2
সহজে পয়েন্ট এবং ক্লিক অ্যাক্সেস। পূর্বের রিলিজ পাওয়া সহজ। ডাউনলোড করা জিপ থেকে কাঙ্ক্ষিত ফোল্ডারটি টানতে সহজ। ধন্যবাদ.
অ্যান্ডি টমাস

1
এর থেকে ডাউনলোড পেতে জেনেরিক ইউআরএল tar.gz:https://github.com/${owner}/${repo}/archive/${hash}.tar.gz
ক্রিসটিয়ান

11

2019 সংক্ষিপ্তসার

আপনি এটি ম্যানুয়ালি বা প্রোগ্রামগতভাবে করতে চান কিনা তার উপর নির্ভর করে এটি পরিচালনা করার বিভিন্ন উপায় রয়েছে।

নীচে চারটি বিকল্প সংক্ষিপ্ত বিবরণ দেওয়া আছে। এবং যারা আরও বেশি ব্যাখ্যা দেওয়ার পক্ষে তাদের পক্ষে, আমি একটি ইউটিউব ভিডিও রেখেছি: গিটহাব থেকে স্বতন্ত্র ফাইল এবং ফোল্ডারগুলি ডাউনলোড করুন

এছাড়াও, আমি গিটহাব (ফোল্ডারগুলির বিপরীতে) থেকে একক ফাইল ডাউনলোড করার জন্য তাদের স্ট্যাকওভারফ্লোতে অনুরূপ উত্তর পোস্ট করেছি ।


1. গিটহাব ইউজার ইন্টারফেস

  • সংগ্রহস্থলের হোমপেজে একটি ডাউনলোড বোতাম রয়েছে। অবশ্যই, এটি সম্পূর্ণ রেপো ডাউনলোড করে, এর পরে আপনাকে ডাউনলোডটি আনজিপ করতে হবে এবং তারপরে ম্যানুয়ালি আপনার প্রয়োজনীয় নির্দিষ্ট ফোল্ডারটি টেনে আনতে হবে।

২. তৃতীয় পক্ষের সরঞ্জাম

  • ডাউনগিট তাদের অন্যতম হ'ল বিভিন্ন ব্রাউজার এক্সটেনশান এবং ওয়েব অ্যাপস এটি পরিচালনা করতে পারে । গিটহাব ইউআরএলটি ফোল্ডারে (উদাহরণস্বরূপ https://github.com/babel/babel-eslint/tree/master/lib) পেস্ট করুন এবং "ডাউনলোড" বোতাম টিপুন।

৩. উপবিবর্তন

  • গিটহাব গিট-সংরক্ষণাগারকে সমর্থন করে না (গিট বৈশিষ্ট্য যা আমাদের নির্দিষ্ট ফোল্ডারগুলি ডাউনলোড করতে দেয়)। গিটহাব তবে বিভিন্ন সাবভার্সন বৈশিষ্ট্য সমর্থন করে, যার মধ্যে একটি আমরা এই উদ্দেশ্যে ব্যবহার করতে পারি। সাবভারশন একটি সংস্করণ নিয়ন্ত্রণ ব্যবস্থা (গিটের বিকল্প)। আপনার সাবভারশন ইনস্টল করা দরকার। আপনি যে ফোল্ডারটি ডাউনলোড করতে চান তার জন্য গিটহাব ইউআরএল ধরুন। যদিও আপনাকে এই ইউআরএলটি সংশোধন করতে হবে। আপনি সংগ্রহস্থলের লিঙ্কটি চান, তার পরে "ট্রাঙ্ক" শব্দটি ব্যবহার করে এবং নেস্টেড ফোল্ডারের পথটি শেষ করে। অন্য কথায়, আমি উপরে উল্লিখিত একই ফোল্ডারের লিংক উদাহরণটি ব্যবহার করে আমরা "ট্রি / মাস্টার" কে "ট্রাঙ্ক" দিয়ে প্রতিস্থাপন করব। শেষ অবধি, একটি টার্মিনাল খুলুন, আপনি যে ডিরেক্টরিতে সামগ্রীটি ডাউনলোড করতে চান তা ডিরেক্টরিতে নেভিগেট করুন, নিম্নলিখিত কমান্ডটি টাইপ করুন (আপনার নির্মিত URL টির URL টি প্রতিস্থাপন করুন):svn export https://github.com/babel/babel-eslint/trunk/lib, এবং এন্টার টিপুন।

৪. গিটহাব এপিআই

  • আপনি যদি প্রোগ্রামটিগতভাবে এই কাজটি সম্পাদন করতে চান তবে আপনার সমাধান দরকার। এবং এটি আসলে হুডের নীচে ডাউনজিট ব্যবহার করছে। ব্যবহার GitHub বিশ্রাম এপিআই , একটি স্ক্রিপ্ট যে সামগ্রী শেষবিন্দু একটি পেতে অনুরোধ করে লিখুন। শেষবিন্দু নিম্নরূপ নির্মাণ করা যেতে পারে: https://api.github.com/repos/:owner/:repo/contents/:path। স্থানধারকদের প্রতিস্থাপনের পরে, একটি উদাহরণের শেষ পয়েন্টটি হ'ল:https://api.github.com/repos/babel/babel-eslint/contents/lib। এটি আপনাকে সেই ফোল্ডারে থাকা সমস্ত সামগ্রীর জন্য JSON ডেটা দেয়। সামগ্রীতে কোনও ফোল্ডার বা ফাইল, ফাইল ডাউনলোডের জন্য একটি ইউআরএল এবং কোনও ফোল্ডার যদি একটি এপিআই এন্ডপয়েন্ট রয়েছে (যাতে আপনি সেই ফোল্ডারের জন্য ডেটা পেতে পারেন) সহ আপনার প্রয়োজনীয় সমস্ত তথ্য উপাত্তে রয়েছে। এই ডেটা ব্যবহার করে, স্ক্রিপ্টটি বারবার লক্ষ্যবস্তু ফোল্ডারের সমস্ত সামগ্রীর মধ্য দিয়ে যেতে পারে, নেস্টেড ফোল্ডারগুলির জন্য ফোল্ডার তৈরি করতে এবং প্রতিটি ফোল্ডারের জন্য সমস্ত ফাইল ডাউনলোড করতে পারে। পরীক্ষা করে দেখুন DownGit এর কোড অনুপ্রেরণা জন্য।

9

আর একটি নির্দিষ্ট উদাহরণ:

আমি ইউআরএল থেকে 'আইওএস প্রো জিও' ফোল্ডারটি ডাউনলোড করতে চাই Like

https://github.com/alokc83/APPress-Books-Source-Code-/ ট্রি / মাস্টার /% 20Pro% 20iOS% 20 জিও

এবং আমি এটি মাধ্যমে করতে পারেন

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

পথে ট্রাঙ্কের নোট

সম্পাদিত: (টমি সি এর মন্তব্য অনুসারে)

হ্যাঁ, চেকআউটের পরিবর্তে রফতানি ব্যবহার করা অতিরিক্ত গিট সংগ্রহস্থল ফাইলগুলি ছাড়াই একটি পরিষ্কার কপি দেয়।

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

সম্পাদিত: যদি ট্রি / মাস্টার ইউআরএলটিতে না থাকে তবে এটিকে কাঁটাচামচ করুন এবং এটি সেখানে ফরকড ইউআরএলে থাকবে।


2
আপনি যদি চেকআউট না করে কেবল ফোল্ডারের একটি অনুলিপি ডাউনলোড করতে চান তবে রফতানি করতে চেকআউট পরিবর্তন করতে হবে।
টমি সি।

আপনার উত্তরের জন্য আপনাকে ধন্যবাদ, আমরা একটি শাখা ডুব দিতে পারি? ধরা যাক আমি ফিচার 1 শাখার

7

এখানে পাইথন 3 পাইপ প্যাকেজ রয়েছে যা githubdlএটি করতে পারে *:

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

প্রকল্প পৃষ্ঠা এখানে

* অস্বীকৃতি: আমি এই প্যাকেজটি লিখেছি।


6

এটি এমন কয়েকটি জায়গার মধ্যে একটি যেখানে এসভিএন গিটের চেয়ে ভাল।

শেষ পর্যন্ত আমরা তিনটি বিকল্পের দিকে ঝুঁকছি:

  1. গিটহাব (কাঁচা ফাইল ভিউ ব্যবহার করে) থেকে ডেটা ধরতে উইজেট ব্যবহার করুন।
  2. প্রবাহ প্রকল্পগুলি বিল্ড আর্টিক্টস হিসাবে প্রয়োজনীয় ডেটা সাবসেট প্রকাশ করে।
  3. ছেড়ে দিন এবং পুরো চেকআউট ব্যবহার করুন। এটি প্রথম নির্মাণে বড় হিট, তবে আপনি যদি প্রচুর ট্র্যাফিক না পান তবে নিম্নলিখিত বিল্ডগুলিতে এটি খুব বেশি ঝামেলা নয়।

4
ভাল, এটি কম গিট বনাম সাবভার্সিয়ান এবং আরও বেশি যে গিটহাব ফ্ল্যাট-আউট গিট-সংরক্ষণাগারটিকে অনুমতি দেয় না। (আমি এটি জানতে আগ্রহী।)
রব হাওয়ার্ড

6

আপনি যদি ইউনিক্স কমান্ডের সাথে স্বাচ্ছন্দ্য বোধ করেন তবে এর জন্য আপনার বিশেষ নির্ভরতা বা ওয়েব অ্যাপ্লিকেশনগুলির প্রয়োজন হবে না। আপনি তারোবল হিসাবে রেপো ডাউনলোড করতে পারেন এবং কেবল আপনার প্রয়োজন অনুসারে এটি অনার করে দিতে পারেন।

উদাহরণ (ফন্টউইজ একটি সাব ডিরেক্টরিতে 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 (কীভাবে একটি জিপ ফাইল বা নির্দিষ্ট শাখা / রেফগুলি পাবেন)
  • */কোনও ডিরেক্টরি মেলানোর জন্য পথের প্রাথমিক অংশটি রাখুন ( )। গিথুব নামে প্রতিশ্রুতিবদ্ধ রেফার সাহায্যে একটি মোড়ক ডিরেক্টরি তৈরি করে, তাই এটি জানা যায় না।
  • আপনি সম্ভবত পথে (পূর্ববর্তী যুক্তি) --strip-componentsস্ল্যাশ ( /) পরিমাণের সমান হতে চান ।

এটি পুরো টারবালটি ডাউনলোড করবে। অন্যান্য উত্তরে উল্লিখিত এসভিএন পদ্ধতিটি ব্যবহার করুন যদি এটি এড়াতে হয় বা আপনি যদি গিটহাব সার্ভারগুলিতে সুন্দর হতে চান।


5

আপনি ডিরেক্টরি ট্রি একটি সাধারণ ডাউনলোড করতে পারেন:

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

তবে যদি আপনি এটি যাচাই করে বোঝাতে চান, এবং প্রতিশ্রুতিবদ্ধ করতে এবং তাদের পিছনে ঠেলে দিতে সক্ষম হন তবে আপনি এটি করতে পারবেন না।


1
অবৈধ আদেশ: 'গিট-আপলোড-সংরক্ষণাগার' foobar / Test.git '' আপনি গিট: // ইউআরএল ক্লোন করতে ssh ব্যবহার করছেন বলে মনে হয় appear আপনার কোর.git প্রক্সি কনফিগারেশন বিকল্প এবং GIT_PROXY_COMMAND এনভায়রনমেন্ট ভেরিয়েবল সেট না রয়েছে তা নিশ্চিত করুন। মারাত্মক: দূরবর্তী
প্রান্তটি

@g_inherit আমি এই সমস্যাটি পুনরুত্পাদন করতে পারি। যদিও এটি সঠিক দিক হতে পারে তবে এই উত্তরটি অবৈধ।
উলি কাহেলর

এত ভোট পেয়েও আমার পক্ষে এটি একমাত্র পরামর্শ advice
ভাস্কার্ক

5

কেবলমাত্র উপরের উত্তরগুলি প্রশস্ত করার জন্য, স্থানীয় গিটারহাবের সংগ্রহস্থল থেকে স্থানীয় ডিরেক্টরিতে একটি বাস্তব উদাহরণটি হ'ল:

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

কখনও কখনও একটি দৃ concrete় উদাহরণ প্রস্তাবিত বিকল্পগুলি পরিষ্কার করতে সহায়তা করে।


5

উত্তরগুলির কোনওটিই আমার পরিস্থিতিতে সহায়ক হয়নি। আপনি যদি উইন্ডোজের জন্য বিকাশ করে থাকেন তবে আপনার সম্ভবত এসএনএন নেই। অনেক পরিস্থিতিতেই গিট ইনস্টল করার জন্য ব্যবহারকারীদের উপর নির্ভর করা যায় না বা অন্য কারণে পুরো সংগ্রহগুলি ডাউনলোড করতে চান না। এই প্রশ্নের উত্তর দিয়েছিলেন এমন কিছু লোক, যেমন উইলেম ভ্যান কেটউইচ এবং অ্যাজট্যাক এই কাজটি সম্পাদনের জন্য সরঞ্জাম তৈরি করেছিলেন। তবে, যদি আপনি যে ভাষাটি ব্যবহার করছেন তার জন্য যদি সরঞ্জামটি না লেখা থাকে বা আপনি কোনও তৃতীয় পক্ষের লাইব্রেরি ইনস্টল করতে না চান তবে এগুলি কার্যকর হয় না।

তবে, আরও অনেক সহজ উপায় আছে। গিটহাবের একটি এপিআই রয়েছে যা আপনাকে একটি একক ফাইল বা একটি সম্পূর্ণ ডিরেক্টরি সামগ্রীর সামগ্রী ডাউনলোড করতে দেয় জিইটি অনুরোধগুলি ব্যবহার করে । ডিরেক্টরিতে https://api.github.com/repos/:owner/:repo_name/contents/:pathসমস্ত ফাইলকে গণনা করে কোনও JSON অবজেক্ট ফেরত ব্যবহার করে আপনি একটি ডিরেক্টরি অ্যাক্সেস করতে পারেন । অঙ্কের মধ্যে অন্তর্ভুক্ত করা হল ফাইলের কাঁচামাল, download_urlপ্যারামিটারের একটি লিঙ্ক । তারপরে সেই URL টি ব্যবহার করে ফাইলটি ডাউনলোড করা যায়।

এটি একটি দুটি পদক্ষেপ প্রক্রিয়া যার জন্য জিইটি অনুরোধ করার ক্ষমতা প্রয়োজন, তবে এটি কোনও প্ল্যাটফর্মে কোনও ভাষাতেই কার্যকর করা যেতে পারে। এটি ফাইল বা ডিরেক্টরিগুলি পেতে ব্যবহার করা যেতে পারে।


4

আমাদের দলটি এটি করার জন্য একটি বাশ স্ক্রিপ্ট লিখেছিল কারণ আমরা আমাদের খালি হাড়ের সার্ভারে এসভিএন ইনস্টল করতে চাইনি।

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

এটি গিথুব এপিআই ব্যবহার করে এবং কমান্ড লাইন থেকে চালানো যেতে পারে:

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

4

আমি লিনাক্স তাই ব্যবহার করি, এটিকে ~ / .bashrc এ রাখি, একে একে বলা হয়: D $ HOME / .Bashrc

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

}

তারপরে শেলটি রিফ্রেশ করুন

source ~/.bashrc 

তারপরে গিট-ডাউনলোডফোল্ডার ব্লেব্লাবলা দিয়ে এটি ব্যবহার করুন: ডি


4

মাত্র 5 ধাপ যেতে হবে

1) এখান থেকে এসভিএন ডাউনলোড করুন
2) সিএমডি খুলুন এবং এসভিএন বিন ডিরেক্টরিতে নীচের মত যান:

cd %ProgramFiles%\SlikSvn\bin

3) ধরুন আমি এই ডিরেক্টরিটি ইউআরএল ডাউনলোড করতে চাই 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


এটি ব্যক্তিগত
রেপোর

হ্যাঁ এটি ব্যক্তিগত রেসোসের জন্য কাজ করবে না, ব্যক্তিগত রেসোটি ডাউনলোড করার জন্য জিআইটি-র প্রস্তাব দেওয়া হচ্ছে।
মুহাম্মদ আলী

3

আমি সেন্টোস ser টি সার্ভারের সাথে কাজ করি যার উপরে আমার রুট অ্যাক্সেস নেই, না গিট, এসএনএন ইত্যাদি (না চান!) তাই কোনও গিথাব ফোল্ডার ডাউনলোড করার জন্য পাইথন স্ক্রিপ্ট তৈরি করেছেন: https://github.com/andrrrl/github -folder-ডাউনলোডার

ব্যবহার সহজ, কেবল একটি গিথুব প্রকল্প থেকে প্রাসঙ্গিক অংশটি অনুলিপি করুন, যাক প্রকল্পটি https://github.com/MaxCDN/php-maxcdn/ , এবং আপনি এমন একটি ফোল্ডার চান যেখানে কয়েকটি উত্স ফাইল কেবলমাত্র, তারপরে আপনার প্রয়োজন যেমন কিছু করুন:

$ python gdownload.py "/MaxCDN/php-maxcdn/tree/master/src" /my/target/dir/
(উপস্থিত না থাকলে লক্ষ্য ফোল্ডার তৈরি করবে)

এর জন্য lxML লাইব্রেরি প্রয়োজন, এটির সাথে ইনস্টল করা যেতে পারে easy_install lxml
যদি আপনার কাছে রুট অ্যাক্সেস না থাকে (আমার মতো) আপনি এই বিষয়বস্তু দিয়ে .pydistutils.pyআপনার $HOMEডিয়ারে একটি ফাইল তৈরি করতে পারেন : [install] user=1 এবং easy_install lxmlকেবল কাজ করবে (রেফ: https://stackoverflow.com/a/ 33464597/591257 )।


2

গিটহাব থেকে ডিরেক্টরি রফতানি করতে "/ ট্রাঙ্ক /" দিয়ে ডিরেক্টরিটির ইউআরএলে "/ ট্রিট / মাস্টার /" প্রতিস্থাপন করুন।

উদাহরণস্বরূপ, নিম্নলিখিত 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

এর একটি সরল উত্তর হ'ল নিম্নলিখিত লিঙ্ক থেকে প্রথমে কচ্ছপ এসএনএন to

https://tortoisesvn.net/downloads.html

ইনস্টলেশন সিএলআই বিকল্পটি চালু করার সময়, যাতে এটি কমান্ড লাইন ইন্টারফেস থেকে ব্যবহার করা যায়।

গিট হাব সাব ডিরেক্টরি লিঙ্কটি অনুলিপি করুন।

উদাহরণ

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

ট্রাঙ্ক সঙ্গে ট্রি / মাস্টার প্রতিস্থাপন

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

এবং কর

এসএনএন চেকআউট https://github.com/tensorflow/models/trunk/research/ প্রদীপ

ফাইলগুলি বর্তমান ডিরেক্টরিতে ডিপল্যাব ফোল্ডারে ডাউনলোড করা হবে।


2

আপনি নিম্নলিখিত উপায়ে গিট এসএনএন ব্যবহার করতে পারেন।

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

এই পদ্ধতিতে আপনাকে বিশেষত উইন্ডোজ ব্যবহারকারীদের জন্য এসএনএন স্থাপনের ব্যথাটি কাটাতে হবে না।


ধন্যবাদ. আমি এটি বিশ্বাস করি যে এটি উইন্ডোজের জন্য কাজ করে। যদিও gcloud এ কাজ করে না। এটি গিট বলে: 'এসএনএন' কোনও আদেশ নয়
জোসেফ আশীর্বাদ

sudo apt install git-svnডাব্লুএসএল দিয়ে চলার সময় প্রয়োজন।
জ্যামি ডজার

1

আপনার যদি এটি প্রোগ্রামক্রমে করার দরকার হয় এবং আপনি এসভিএন এর উপর নির্ভর করতে না চান তবে আপনি সমস্ত সামগ্রী পুনরাবৃত্তভাবে ডাউনলোড করতে গিটহাব এপিআই ব্যবহার করতে পারেন।

অনুপ্রেরণার জন্য, এখানে আমার রুবি সংক্ষেপ: https://gist.github.com/cvengros/b2a7e82f66519d423b6f


1

এই ফাংশনটি ব্যবহার করুন, প্রথম যুক্তি হ'ল ফোল্ডারের ইউআরএল, দ্বিতীয়টি হ'ল ফোল্ডারটি যেখানে ডাউনলোড হবে:

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

1

git clone --filter গিট 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 এ এই বৈশিষ্ট্যটি সমর্থন করার জন্য গিট রিমোট প্রোটোকলটিতে একটি বর্ধিতকরণ করা হয়েছিল, কিন্তু সেই সময়ে কোনও সার্ভার সমর্থন নেই। তবে এটি ইতিমধ্যে স্থানীয়ভাবে পরীক্ষা করা যেতে পারে।

আমি এটিকে আরও বিশদে covered াকা দিয়েছি : কেবলমাত্র একটি গিট সংগ্রহস্থলের উপ-ডিরেক্টরিকে কীভাবে ক্লোন করব?


1
আকর্ষণীয় এবং upvated। আমি মনে করি আমি অবশ্যই এই 2.19 বৈশিষ্ট্যটি অন্য কোথাও উল্লেখ করেছি।
ভনসি

@VonC আমি আপনি এটি এই একবার বীট: stackoverflow.com/questions/2466735/... এবং আমি শুধুমাত্র মুক্তি XD পর দিকে তাকালাম! আমি অবশ্যই আজ ২.২২ মুক্তির পরে গুগলিং ছিলাম, সমস্ত উত্তর ইতিমধ্যে অবশ্যই আপডেট করা হয়েছে ;-) এটি কখনই অন্যরকম ডাবলিকেট বামে, সর্বদা থাকায় আমাকে বিস্মিত করতে থামে না এবং এক বছর পরে আমি এটি সন্ধান করি কিছুটা আলাদা ক্যোয়ারী আমি আপনাকে খুব শক্ত করে গিটকে মারতে চাইছি না, তবে নেক্রোম্যান্সার গণিতে নজর রাখছি! হা হা
সিরো সান্তিলি 冠状 病毒 审查 六四 事件 法轮功

ঠিক আছে, ভাল কাজ চালিয়ে যান: সমস্ত সম্প্রদায় এই সামান্য দিকের প্রতিযোগিতা থেকে উপকৃত হবে (এবং আমি আপনার সময়ে অন্য উত্তরটি উপস্থাপন করেছি)
ভোনসি

@ ভনসি অবশ্যই মজা করছে, আমি আপনার স্টাফগুলিকেও স্পষ্টতই উজ্জীবিত করেছি। এই পয়েন্টগুলি এখন টাকার বিনিময়ে খালি করার জন্য আমার একটি উপায় খুঁজে পাওয়া দরকার এক্সডি
সিরো সান্তিলি 冠状 病毒 审查 六四 六四 法轮功 法轮功

1

যে কারণেই হোক না কেন, svnসমাধানটি আমার পক্ষে কাজ করে না, এবং যেহেতু আমার svnআর কোনও কিছুর প্রয়োজন নেই , তাই এটি তৈরির চেষ্টা করে সময় ব্যয় করার কোনও মানে হয় না, তাই আমি ইতিমধ্যে থাকা সরঞ্জামগুলি ব্যবহার করে একটি সহজ সমাধান সন্ধান করেছি। এই স্ক্রিপ্টটি কেবল curlএবং awkহিসাবে বর্ণনা করা একটি গিটহাব ডিরেক্টরিতে সমস্ত ফাইল ডাউনলোড করতে ব্যবহার করে "/:user:repo/contents/:path"

গিটহাব আরএসটি এপিআই "GET /repos/:user:repo/contents/:path"কমান্ডের কলের ফিরে আসা অংশটি এমন একটি বস্তু দেয় যা "download_url"ডিরেক্টরিতে প্রতিটি ফাইলের জন্য একটি লিঙ্ক অন্তর্ভুক্ত করে ।

এই কমান্ড-লাইন স্ক্রিপ্টটি কল করে যে REST এআইপিআই ব্যবহার curlকরে ফলাফলটি প্রেরণ করে, যা "ডাউনলোড_আরল" লাইনগুলি বাদ দিয়ে সমস্ত ফিল্টার করে, লিঙ্কগুলি থেকে উদ্ধৃতি চিহ্ন এবং কমাগুলি মুছে দেয় এবং তারপরে কার্লের জন্য অন্য কল ব্যবহার করে লিঙ্কগুলি ডাউনলোড করে।

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

1

git sparse-checkout

গিট ২.২২.০ -তে একটি নতুন পরীক্ষামূলক git sparse-checkoutকমান্ড রয়েছে যা বিদ্যমান বৈশিষ্ট্যটি ব্যবহার করা সহজতর করে, বড় সংগ্রহস্থলের জন্য কিছু গুরুত্বপূর্ণ কার্যকারিতা বেনিফিট সহ। ( গিটহাব ব্লগ )

বর্তমান সংস্করণ সহ উদাহরণ :

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 ttক্রমান্বয়ে সাবফোল্ডার যোগ / চেক আউটgit

অন্যান্য উপাদান

  • git sparse-checkout init আংশিক চেকআউট সক্ষম করতে কিছু প্রস্তুতি করে
  • --filter=blob:noneশুধুমাত্র প্রয়োজনীয় গিট বস্তুগুলি ডাউনলোড করে ডেটা আনার বিষয়টি অনুকূল করে ( আরও ইনফোগুলির জন্য আংশিক ক্লোন বৈশিষ্ট্যটি দেখুন )
  • --cone আরও সীমাবদ্ধ ফাইল অন্তর্ভুক্তির ধরণ প্রয়োগ করে পারফরম্যান্সের গতি বাড়ায়

গিটহাব স্ট্যাটাস

গিটিহাব এখনও কয়েকটি বৈশিষ্ট্যযুক্ত সংগ্রহস্থল সক্ষম করার সময়ও এই বৈশিষ্ট্যটি অভ্যন্তরীণভাবে মূল্যায়ন করছে [...]। বৈশিষ্ট্যটি স্থিতিশীল হওয়ার এবং পরিপক্ক হওয়ার সাথে সাথে আমরা আপনাকে এটির অগ্রগতিতে আপডেট রাখব। ( ডকস )


সম্মত। আমি ক্লোন প্যাটার্ন সেট সহ স্ট্যাকওভারফ্লো . com / a / 59515426 / 6309 এ কমান্ডটি উপস্থাপন করেছি ।
ভনসি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.