সিআরএল ব্যবহার করে আমি কীভাবে গিটহাব থেকে একটি টারবাল ডাউনলোড করব?


95

আমি সিআরএল ব্যবহার করে গিটহাব থেকে একটি টারবাল ডাউনলোড করার চেষ্টা করছি , তবে এটি পুনঃনির্দেশিত বলে মনে হচ্ছে না:

$ curl --insecure https://github.com/pinard/Pymacs/tarball/v0.24-beta2
<html><body>You are being <a href="https://nodeload.github.com/pinard/Pymacs/tarball/v0.24-beta2">redirected</a>.</body></html>

দ্রষ্টব্য: উইজেট আমার পক্ষে কাজ করে:

$ wget --no-check-certificate https://github.com/pinard/Pymacs/tarball/v0.24-beta2

তবে আমি সিআরএল ব্যবহার করতে চাই কারণ শেষ পর্যন্ত আমি এটির মতো ইনলাইনটি অনার করে দিতে চাই:

$ curl --insecure https://github.com/pinard/Pymacs/tarball/v0.24-beta2 | tar zx

আমি দেখতে পেয়েছি যে পুনঃনির্দেশের পরে URL টি https://download.github.com/pinard-Pymacs-v0.24-beta1-0-gcebc80b.tar.gz হিসাবে পরিণত হয়েছে , তবে আমি সিআরএল চিত্রটি যথেষ্ট স্মার্ট হতে চাই এটা বাইরে.

উত্তর:


151

-Lপুনঃনির্দেশগুলি অনুসরণ করতে বিকল্পটি ব্যবহার করুন :

curl -L https://github.com/pinard/Pymacs/tarball/v0.24-beta2 | tar zx

4
কারণ https, আপনারও সম্ভবত দরকার হবে -k
নিকেরোবট

4
ইদানীং কেন Raw.github.com এ শংসাপত্রগুলির সমস্যা রয়েছে? একটি নতুন মেশিনে হোমব্রিউ এবং আরভিএম ইনস্টল করতে আমার সমস্যা হয়েছিল। আমি হোমপেজ থেকে কপি এবং পেস্ট করতাম এবং কাজ করছিলাম। এখন আমি শংসাপত্রের সমস্যাটি পেয়েছি: রুবি -e "$ (curl -fsSL Raw.github.com/mxcl/homebrew/go )" কার্ল: (60) এসএসএল শংসাপত্রের সমস্যা: স্থানীয় ইস্যুকারী শংসাপত্র পেতে অক্ষম আরও বিশদ এখানে: কার্ল। haxx.se/docs/sslcerts.html কার্ল একটি "বান্ডিল" ব্যবহার করে ডিফল্টরূপে SSL শংসাপত্র যাচাই সম্পাদন করে .. আপনি যদি সার্টিফিকেটের কার্লের যাচাইকরণ বন্ধ করতে চান তবে -k (অথবা - সুরক্ষা) বিকল্পটি ব্যবহার করুন।
ক্রিস সিনেলি

এমএমএমএম ... তারবালটিতে সাব-মডিউলগুলিও অন্তর্ভুক্ত করার সম্ভাবনা আছে কি? দেখে মনে হচ্ছে, সাব-মডিউলগুলির জন্য কেবল খালি ডিরেক্টরিগুলি টারবলটিতে তৈরি করা হবে।
অরোরা

এখনই এটি কোনও অস্থায়ী সমস্যা কিনা তা নিশ্চিত নন, তবে গিথুব এই মুহুর্তে এর জন্য 500 টি অভ্যন্তরীণ সার্ভার ত্রুটি ফিরিয়ে দিচ্ছেন।
বিটি

15
এবং কেবলমাত্র কাউকে গুগল সংরক্ষণ করার -Lঅর্থ , পুনঃনির্দেশগুলি অনুসরণ করুন।
স্টিভ কেহলেট

45

এটি করার আধুনিক পদ্ধতি হ'ল:

curl -sL https://github.com/user-or-org/repo/archive/sha1-or-ref.tar.gz | tar xz

প্রতিস্থাপন করুন user-or-org, repoএবং sha1-or-refতদনুসারে।

আপনি যদি তারবালের পরিবর্তে একটি জিপ ফাইল চান .zip, তবে .tar.gzপ্রত্যয়ের পরিবর্তে নির্দিষ্ট করুন ।

-u token:x-oauth-basicকার্ল করার বিকল্পটি নির্দিষ্ট করে আপনি একটি ব্যক্তিগত রেপোর সংরক্ষণাগারও পুনরুদ্ধার করতে পারেন । tokenএকটি ব্যক্তিগত অ্যাক্সেস টোকেন দিয়ে প্রতিস্থাপন করুন


4
সমস্ত উত্তরগুলির মধ্যে, আমি ঠিক এটিই খুঁজছিলাম! যদি আপনার কাছে অউথ টোকেন থাকে তবে আপনি তা সরাসরি ব্যবহার করতে পারেন; https://token@github.com/user-or-org/repo/archive/sha1-or-ref.tar.gz
স্বর্নিভগুলি

সংরক্ষণাগারের পরিবর্তে রিলিজ থেকে ডাউনলোড করার জন্য এটি কীভাবে কাজ করবে?
waspinator

4
@ ওয়াসপিনেটর, আমি এখানেcurl -OL https://github.com/user-or-org/repo/releases/download/version/<asset name>.tar.gz উদাহরণ দেখুন
ওয়েইন

আপনি কি ব্যাখ্যা করতে পারেন যে এটি গৃহীত উত্তরের চেয়ে কীভাবে ভাল?
রবিন মেট্রাল 14

সম্ভবত কারণ .../tarball/...পদ্ধতিটি কেবল টার.gz উত্পাদন করে? জিএইচ পরে আরও নমনীয় পদ্ধতি যুক্ত করেছে যা আপনাকে প্রত্যয় .tar.gzবা এর উপর ভিত্তি করে আপনার পছন্দসই বিন্যাসে সংরক্ষণাগার আহরণ করতে দেয় .zip। আমি কেন এই পোস্টটি লিখলাম তা আর মনে নেই।
পাভেল রেপিন

14

আপনি get এটির অনুল্কে «ব্যবহার করতে পারেন get স্ট্যান্ডআউটকে কেবল আউটপুট ফাইল ( -O -) হিসাবে নির্দিষ্ট করুন :

wget --no-check-certificate https://github.com/pinard/Pymacs/tarball/v0.24-beta2 -O - | tar xz

2

অন্যান্য সমস্ত সমাধানের জন্য একটি প্রকাশ / সংস্করণ নম্বর নির্দিষ্ট করা দরকার যা স্পষ্টতই অটোমেশনটি ভেঙে দেয়।

এই solution- বর্তমানে পরীক্ষা সাথে কাজ করতে পারে গিটহাব API v3 এর - তবে দখল করতে প্রোগ্রামেটিক্যালি ব্যবহার করা যেতে পারে সর্বশেষ একটি অবাধ আপনি যে নামটি সুইচ মধ্যে উল্লেখ করার কোন ট্যাগ বা রিলিজ সংখ্যা এবং আন-TARs বাইনারি উল্লেখ না করে মুক্তি --one-top-level="pi-ap"। আপনার নিজের বিবরণ এবং বব আপনার মামার সাথে নীচের উদাহরণে কেবল F1linux এবং রেপো পাই-এপ স্যুপ আউট করুন :

curl -L https://api.github.com/repos/f1linux/pi-ap/tarball | tar xzvf - --one-top-level="pi-ap" --strip-components 1

এটি সুন্দর, তবে সত্যিই কিছু ব্যাখ্যা ব্যবহার করতে পারে। যেমন কোন গিটহাব এপিআই সংস্করণ এটি এবং এটি কোথায় নথিভুক্ত করা হয়েছে?
l3l_aze

4
@ l3l_aze সবেমাত্র উত্তরটি সম্পাদনা করা হয়েছে এতে আমার গিটিব এপিআই সংস্করণ নম্বরটি অন্তর্ভুক্ত রয়েছে আমার সমাধানটি পরীক্ষা করা হয়েছে এবং এটি দিয়ে কাজ করার জন্য পরিচিত। আপনার মতামতের জন্য ধন্যবাদ! - টি
এফ 1 লিনাক্স

ওহ। আপনি ইতিমধ্যে যা ভাগ করেছেন তার চেয়ে এটি সম্ভবত আরও ভাল হতে পারে বলে আমি মনে করি না। আপনাকে অনেক ধন্যবাদ!
l3l_aze

1

একটি নির্দিষ্ট dir সঙ্গে

cd your_dir && curl -L https://download.calibre-ebook.com/3.19.0/calibre-3.19.0-x86_64.txz | tar zx


আরও ভাল উপায় cd your_dir && curl -L https://download.calibre-ebook.com/3.19.0/calibre-3.19.0-x86_64.txz | tar zx; cd -
zhengquan
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.