কোনও সংগ্রহস্থলের সর্বশেষ প্রকাশে কোনও ফাইল ডাউনলোড করার জন্য কি গিটহাবের লিঙ্ক আছে?


137

গিটহাবের প্রকাশের বৈশিষ্ট্যটি ব্যবহার করে প্রকাশিত সফ্টওয়্যারটির একটি নির্দিষ্ট সংস্করণ ডাউনলোড করার জন্য একটি লিঙ্ক সরবরাহ করা সম্ভব। যাইহোক, প্রতিবার একটি রিলিজ করা হলে, জিএইচ-পৃষ্ঠাটিও আপডেট করা দরকার।

কোনও সফ্টওয়্যারের সর্বশেষ সংস্করণ যাই হোক না কেন একটি নির্দিষ্ট ফাইলের লিঙ্ক পাওয়ার কোনও উপায় আছে?

উদাহরণস্বরূপ, এটি একটি স্থির লিঙ্ক হবে:

https://github.com/USER/PROJECT/releases/download/v0.0.0/package.zip

আমি যা চাই তা হ'ল কিছু:

https://github.com/USER/PROJECT/releases/download/latest/package.zip

দ্রষ্টব্য: এই প্রশ্নটি এবং গিটহাব সর্বশেষ প্রকাশের মধ্যে পার্থক্য হ'ল এই প্রশ্নটি বিশেষত গিটহাবের সর্বশেষ প্রকাশের পৃষ্ঠা নয়, বরং ফাইলটিতে অ্যাক্সেস পাওয়ার জন্য বলেছে


1
এটি এখন গিথুব দ্বারা সমর্থিত (ইউআরএল ফর্ম্যাটে কিছুটা পার্থক্য সহ)। দেখুন stackoverflow.com/questions/24987542/...
wisbucky

উত্তর:


38

কয়েক বছর দেরি হয়ে গেছে, তবে আমি সমর্থন করার জন্য একটি সাধারণ পুনর্নির্দেশকে কার্যকর করেছি https://github.com/USER/PROJECT/releases/latest/download/package.zip। এটি সর্বশেষ ট্যাগযুক্ত package.zipরিলিজ সম্পদে পুনর্নির্দেশ করা উচিত । আশা করি এটি কার্যকর!


2
নথিভুক্ত help.github.com/en/articles/linking-to-releases : আপনি আপনার সর্বশেষ রিলিজ সম্পত্তির একটি ডাউনলোড আপনাকে / মালিকের লিঙ্ক করতে পারেন সঙ্গে সরাসরি সংযুক্ত করতে চান তাহলে / নাম / রিলিজ / সর্বশেষ / ডাউনলোড / সম্পদ -নেম.জিপ
লিয়াম

4
যদিও এই বৈশিষ্ট্যটি সংস্করণিত সম্পত্তির নামগুলির সাথে কাজ করে তবে তা সহায়ক হবে।
লিয়াম

3
দ্রষ্টব্য যে অর্ডারটি .../releases/latest/download/...বনাম স্যুইচ করা হয়েছে .../releases/download/v0.0.0/...। আপনি কেবল প্রতিস্থাপন করতে পারবেন না v0.0.0সঙ্গে latestজায়গায়।
উইসবাকি

2
@ জোশুয়া পিক সম্ভবত আপনি সংস্করণ স্ট্রিং হিসাবে সম্পত্তির নামটিতে "LATEST" প্রসারিত করার জন্য এটি প্রসারিত করতে পারেন? এটি তাদের নামে সংস্করণ নম্বর সহ সম্পদের জন্য এটি দরকারী করে তুলবে।
jwatt

সর্বশেষতম কোড কোডটি ডাউনলোড করার বিষয়ে কী? সেক্ষেত্রে সম্পদের নাম কী?
skd

59

সর্বশেষ প্রকাশের সম্পদ ডাউনলোড লিঙ্কটি পেতে লিনাক্স সমাধান (কেবলমাত্র রিলিজের একটি সম্পদ থাকলেই তা কাজ করে)

curl -s https://api.github.com/repos/boxbilling/boxbilling/releases/latest | grep browser_download_url | cut -d '"' -f 4

7
পাইপলাইনে আরও একটি অতিরিক্ত গ্রেপ আপনার বিতরণ এবং আর্কিটেকচারের জন্য ফাইলটি সন্ধান করবে। জন্য পরমাণু উপর 64-বিট উবুন্টু টেক্সট এডিটর:curl -s https://api.github.com/repos/atom/atom/releases | grep browser_download_url | grep '64[.]deb' | head -n 1 | cut -d '"' -f 4
hobs

3
আর কোনও ব্রাউজার_ডাউনলোড_আরল নেই। আপনি এখন tarball_url ব্যবহার করতে পারেন। curl -s https://api.github.com/repos/git-ftp/git-ftp/releases | grep tarball_url | head -n 1 | cut -d '"' -f 4
মাইকেল

4
ব্রাউজারের জন্য @ মাইকেল গ্রেপিং_ডাউনলোড_আরল এখনও আমার পক্ষে কাজ করে।
ল্যাও লাম

@ léo-lam আপনি ঠিক বলেছেন। আপনার যদি সম্পদ না থাকে তবে আপনি উত্স কোডটি পেতে tarball_url ব্যবহার করতে পারেন।
মাইকেল


29

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

function GetLatestReleaseInfo() {
  $.getJSON("https://api.github.com/repos/ShareX/ShareX/releases/latest").done(function(release) {
    var asset = release.assets[0];
    var downloadCount = 0;
    for (var i = 0; i < release.assets.length; i++) {
      downloadCount += release.assets[i].download_count;
    }
    var oneHour = 60 * 60 * 1000;
    var oneDay = 24 * oneHour;
    var dateDiff = new Date() - new Date(asset.updated_at);
    var timeAgo;
    if (dateDiff < oneDay) {
      timeAgo = (dateDiff / oneHour).toFixed(1) + " hours ago";
    } else {
      timeAgo = (dateDiff / oneDay).toFixed(1) + " days ago";
    }
    var releaseInfo = release.name + " was updated " + timeAgo + " and downloaded " + downloadCount.toLocaleString() + " times.";
    $(".download").attr("href", asset.browser_download_url);
    $(".release-info").text(releaseInfo);
    $(".release-info").fadeIn("slow");
  });
}

GetLatestReleaseInfo();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="download" href="https://github.com/ShareX/ShareX/releases/latest">Download</a>
<p class="release-info"></p>

রিলিজ পৃষ্ঠায় ডিফল্ট বোতাম URL টি সেট করা আপনার পক্ষে গুরুত্বপূর্ণ (যেমন https://github.com/ShareX/ShareX/relayss/latest ) তাই ব্রাউজার যদি এজাক্স (বা জাভাস্ক্রিপ্ট) সমর্থন করে না বা খুব ধীর হয় ইউআরএল পান, ডাউনলোড বোতামটি এখনও কাজ করবে।

যখন অ্যাজাক্স অনুরোধটি সম্পূর্ণ হবে, এই বোতামটির URL স্বয়ংক্রিয়ভাবে সরাসরি ডাউনলোডের URL এ পরিবর্তিত হবে।

সম্পাদনা:

আমি একটি ডাউনলোড পৃষ্ঠাও তৈরি করেছি যা একাধিক প্রকাশ দেখায় যা আপনি এখানে পেতে পারেন: https://getsharex.com/downloads/

এর উত্স কোড: https://github.com/ShareX/sharex.github.io/blob/master/js/downloads.js


কুল। আপনি কি জানেন যে এটি কেন কাজ করছে না? curl -s https://api.github.com/repos/DataTables/DataTables/releases/latest
ভোল্ট

কারণ আপনার কোনও মুক্তি নেই। চেক করুন: api.github.com/repos/DataTables/DataTables/releases
জেক্স

মজাদার ... github.com/DataTables/DataTables/reLives প্রকাশের একগুচ্ছ দেখায় shows সেখানে কিছুটা অস্পষ্টতা থাকতে হবে।
ভোল্ট

না, এগুলি কেবল ট্যাগ। কোন মুক্তি নেই।
মিঃডি

2
github.com/jquery/jquery/reLives তাদের কোনও মুক্তি নেই। এটি কেবল সংস্করণ ট্যাগ।
জেক্স ২0

15

কমান্ড লাইনটি ব্যবহার করে curlএবং সর্বশেষ প্রকাশের প্রথম ফাইলটি jqপুনরুদ্ধার করে :

curl -s https://api.github.com/repos/porjo/staticserve/releases/latest | \
  jq --raw-output '.assets[0] | .browser_download_url'

1
jq --raw-outputউদ্ধৃতিগুলি ছাড়ার একটি পরিষ্কার উপায়। আপনি যদি কেবল সর্বশেষতমটি চান তবে এটি আনতে .../releases/latestএবং ছাড়তে সস্তা .[0] | । তবে সমস্ত jq '.[] | .assets[] | .browser_download_url | select(endswith(".deb"))'
বেনি চেরনিয়াভস্কি-পাসকিন

বেনি ধন্যবাদ, আমি সর্বশেষতম ডকার-রচনাটি ধরার জন্য এটিতে প্রসারিত করেছি curl --silent "https://api.github.com/repos/docker/compose/releases/latest" | jq --arg PLATFORM_ARCH "$(echo `uname -s`-`uname -m`)" -r '.assets[] | select(.name | endswith($PLATFORM_ARCH)).browser_download_url' | xargs sudo curl -L -o /usr/local/bin/docker-compose --url । Endswith জাদু ছিল এবং খিলান ব্যবহার করে আমাকে whatever.sha256 ফাইল থাকে যা সাধারণত করছেন ছাড়া উপস্থিত উপেক্ষা করার অনুমতি দেয় |head -n 1
ড্রাগন 788

8

সর্বশেষ প্রকাশের পৃষ্ঠা থেকে একক বাইনারি ফাইল ডাউনলোড করতে কার্ল এবং উইজেট ব্যবহার করে অন্য একটি লিনাক্স সমাধান

curl -s -L https://github.com/bosun-monitor/bosun/releases/latest | egrep -o '/bosun-monitor/bosun/releases/download/[0-9]*/scollector-linux-armv6' | wget --base=http://github.com/ -i - -O scollector

ব্যাখ্যা:

curl -s -L নিঃশব্দে সর্বশেষ প্রকাশের এইচটিএমএল ডাউনলোড করতে হবে (পুনঃনির্দেশের পরে)

egrep -o '...' আপনার পছন্দসই ফাইলটি খুঁজে পেতে রেজেক্স ব্যবহার করে

wget --base=http://github.com/ -i - পাইপলাইন থেকে আপেক্ষিক পাথকে পরম URL এ রূপান্তর করে

এবং -O scollectorপছন্দসই ফাইলের নাম সেট করে।

-Nযদি ফাইলটি নতুন হয় তবে এস 3 কোনও 403 নিষিদ্ধ ত্রুটি দিলে কেবল ডাউনলোডে যুক্ত হতে সক্ষম হতে পারে ।


3
আমার লক্ষ্যটি এমন একটি ওয়েবসাইটটিতে একটি লিঙ্ক তৈরি করা যা সর্বদা সর্বশেষতম সংস্করণে নির্দেশ করে। একটি লিনাক্স কমান্ড এটির অনুমতি দেয় না।
খ্রিস্টান রোনডাও

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

@ টড থমাস ধন্যবাদ, পিরিয়ডগুলি রোধ করার জন্য সেমভার রিলিজ নম্বরগুলির জন্য আমার যে ইঙ্গিতটির প্রয়োজন ছিল \.যেমন উদাহরণস্বরূপ ২.২.০ প্রয়োজন/download/[0-9\.]*/
জেফ পেকেট ২

না, তা হয় না। পালানোর চর নেই। কিন্তু আমি চাই একটি ঐচ্ছিক অনুমান vউপসর্গ হিসাবে, একটি ট্যাগ মত v0.11.0curl -s -L https://github.com/bosun-monitor/bosun/releases/latest | egrep -o '/bosun-monitor/bosun/releases/download/[v]?[0-9.]*/scollector-linux-armv6' | wget --base=http://github.com/ -i - -O scollectorআপনার সিএলআই-তে কেবল ইনপুট করুন এবং এটি দুর্দান্তভাবে কাজ করে। ধন্যবাদ, গ্রেগ !!
এমএস বেরেন্ডস

7

পূর্বে উল্লিখিত হিসাবে, jq এই এবং অন্যান্য REST এপিআই এর জন্য দরকারী ।

tl; dr - নীচে আরও বিশদ

ধরে নিচ্ছেন আপনি ম্যাকোস রিলিজ চান :

URL=$( curl -s "https://api.github.com/repos/atom/atom/releases/latest" \
   | jq -r '.assets[] | select(.name=="atom-mac.zip") | .browser_download_url' )
curl -LO "$URL"

পরমাণু প্রকাশের জন্য সমাধান

নোট করুন প্রতিটি রেপোতে কাঙ্ক্ষিত নিদর্শন সরবরাহের বিভিন্ন উপায় থাকতে পারে, তাই আমি পরমাণুর মতো ভাল আচরণের জন্য প্রদর্শন করব ।

প্রকাশিত সম্পদের নাম পান

curl -s "https://api.github.com/repos/atom/atom/releases/latest" \
    | jq -r '.assets[] | .name'

atom-1.15.0-delta.nupkg
atom-1.15.0-full.nupkg
atom-amd64.deb
...

পছন্দসই সম্পদের জন্য ডাউনলোডের URL পান

পরমাণু-ম্যাকের নীচে আমার পছন্দসই সম্পদটি জেউ এর মাধ্যমে দেওয়া হয়select(.name=="atom-mac.zip")

curl -s "https://api.github.com/repos/atom/atom/releases/latest" \
    | jq -r '.assets[] | select(.name=="atom-mac.zip") | .browser_download_url'

https://github.com/atom/atom/releases/download/v1.15.0/atom-mac.zip

নিদর্শন ডাউনলোড করুন

curl -LO "https://github.com/atom/atom/releases/download/v1.15.0/atom-mac.zip"

jq খেলার মাঠ

jq সিনট্যাক্স কঠিন হতে পারে। jqউপরের সাথে পরীক্ষার জন্য এখানে একটি খেলার মাঠ রয়েছে : https://jqplay.org/s/h6_LfoEHLZ

নিরাপত্তা

যদি সম্ভব হয় তবে sha256sum এবং gpg এর মাধ্যমে ডাউনলোডকৃত নিদর্শনগুলির বৈধতা নিশ্চিত করার ব্যবস্থা গ্রহণ করা উচিত ।


7

এইচটিএমএল সামগ্রী পাওয়ার জন্য একটি অভ্যন্তরীণ উইজেট ব্যবহার করে এটি জিপ ফাইলের জন্য ফিল্টার করুন (egrep সহ) এবং তারপরে জিপ ফাইলটি (বাইরের উইজেটের সাথে) ডাউনলোড করুন।

wget https://github.com/$(wget https://github.com/<USER>/<PROJECT>/releases/latest -O - | egrep '/.*/.*/.*zip' -o)

6

সাম্প্রতিক প্রকাশটি ডাউনলোড করতে কেবল নীচের একটি ইউআরএল ব্যবহার করুন: (উদাহরণস্বরূপ বক্সবিলিং প্রকল্প থেকে ইউআরএল নেওয়া হয়েছে): https://api.github.com/repos/boxbilling/boxbilling/releases

সর্বশেষতম প্রকাশটি জিপ হিসাবে ডাউনলোড করুন: https://api.github.com/repos/boxbilling/boxbilling/zipball

সর্বশেষতম প্রকাশটি তারবাল হিসাবে ডাউনলোড করুন: https://api.github.com/repos/boxbilling/boxbilling/tarball

তাত্ক্ষণিকভাবে সর্বশেষ প্রকাশটি ডাউনলোড করতে ইউআরএলগুলির একটিতে ক্লিক করুন। আমি এই রেখাগুলি যেহেতু লিখেছি এটি বর্তমানে: বক্সবিলিং-বক্সবিলিং-4.20-30-g452ad1c [.zip / .tar.gz]

আপডেট: আমার লগফাইলে একটি অন্য url পাওয়া গেছে (উপরে উদাহরণস্বরূপ) https://codeload.github.com/boxbilling/boxbilling/legacy.tar.gz/master



5

2018-05-23 পর্যন্ত গিটহাব সমর্থন অনুসারে সম্ভব নয়

ম্যাসেজের মাধ্যমে 2018-05-23 এ সমর্থন@github.com- এর সাথে যোগাযোগ করা হয়েছে:

আপনি কি কেবল নিশ্চিত করতে পারবেন যে বর্তমানে এপিআইয়ের সাথে গোলযোগ ছাড়া আর কোনও উপায় নেই?

এবং তারা জবাব দিল:

পৌঁছানোর জন্য ধন্যবাদ। আমরা সর্বশেষতম রিলিজে আনার জন্য এপিআই ব্যবহার করার পরামর্শ দিচ্ছি কারণ সেই পদ্ধতিটি স্থিতিশীল, নথিভুক্ত এবং শীঘ্রই যে কোনও সময় পরিবর্তিত হতে পারে না:

https://developer.github.com/v3/repos/releases/#get-the-latest-release

আমি এটিকেও ট্র্যাক করে রাখব: https://github.com/isaacs/github/issues/658

কোনও নির্ভরতা ছাড়াই পাইথন সমাধান

দৃust় এবং পোর্টেবল:

#!/usr/bin/env python3

import json
import urllib.request

_json = json.loads(urllib.request.urlopen(urllib.request.Request(
    'https://api.github.com/repos/cirosantilli/linux-kernel-module-cheat/releases/latest',
     headers={'Accept': 'application/vnd.github.v3+json'},
)).read())
asset = _json['assets'][0]
urllib.request.urlretrieve(asset['browser_download_url'], asset['name'])

আরো দেখুন:

প্রাক রিলিজ বিবেচনা করুন

/latestপ্রাক-প্রকাশগুলি দেখতে পাচ্ছে না তবে এটি করা সহজ কারণ /releasesসর্বশেষতম সর্বশেষটি প্রদর্শন করে:

#!/usr/bin/env python3

import json
import urllib.request

_json = json.loads(urllib.request.urlopen(urllib.request.Request(
    'https://api.github.com/repos/cirosantilli/linux-kernel-module-cheat/releases',
     headers={'Accept': 'application/vnd.github.v3+json'},
)).read())
asset = _json[0]['assets'][0]
urllib.request.urlretrieve(asset['browser_download_url'], asset['name'])

3

লিঙ্ক রিলিজ করার সহায়তা পৃষ্ঠা একটি "নতুন রিলিজ" বাটনে উল্লেখ না, কিন্তু যে আপনি একটি ডাউনলোড লিংক পাবেন না।

https://github.com/reactiveui/ReactiveUI/releases/latest

তার জন্য, আপনাকে সর্বশেষতম ট্যাগটি পেতে হবে (" ডাউনলোড ফাইলের সর্বশেষ মুক্তির জন্য গিটহাব ইউআরএল উল্লিখিত ? "):

latestTag=$(git describe --tags `git rev-list --tags --max-count=1`)

curl -L https://github.com/reactiveui/ReactiveUI/releases/download/$latestTag/ReactiveUI-$latestTag.zip

2
এটি এখনও যখনই gh-pagesএকটি নতুন রিলিজ হয় শাখার একটি নতুন সংস্করণে ধাক্কা দেওয়া প্রয়োজন ; উদ্দেশ্যটি হল একটি স্থিতিশীল লিঙ্ক থাকা যা আমি কেবল "সর্বশেষ সংস্করণটি উল্লেখ করতে" ব্যবহার করতে পারি। এই মুহূর্তে আমার সেরা বিকল্পটি কেবলমাত্র প্রকাশের পৃষ্ঠাটি উল্লেখ করা উচিত।
খ্রিস্টান রোনডাউ

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

তবুও, টিপটির জন্য ধন্যবাদ; যদি এর থেকে আরও ভাল উত্তর সরবরাহ না করা হয় তবে আমি সম্ভবত আপনার স্ক্রিপ্টটি ব্যবহার করে gh-পৃষ্ঠাগুলি আপডেট করার জন্য একটি স্ক্রিপ্ট করব doing
খ্রিস্টান রোনডাউ

2

পিএইচপি-তে সর্বশেষ প্রকাশের ডাউনলোডে পুনর্নির্দেশ করুন। কেবল আপনার ওয়েবস্পেসে রাখুন

<?php

/**
 * Download latest release from github release articats
 * License: Public Domain
 */

define('REPO', 'imi-digital/iRobo');

$opts = [
    'http' => [
        'method' => 'GET',
        'header' => [
            'User-Agent: PHP'
        ]
    ]
];

$context = stream_context_create($opts);

$releases = file_get_contents('https://api.github.com/repos/' . REPO . '/releases', false, $context);
$releases = json_decode($releases);

$url = $releases[0]->assets[0]->browser_download_url;

header('Location: ' . $url);

2

আপনি যদি কেবলমাত্র ব্যবহার করতে চান তবে ইউআরএলটিকে একটি পুনর্নির্দেশ শৃঙ্খলার পরে মুদ্রণ curlকরতে চেষ্টা করতে পারেন -w '%{url_effective}'(এটির সাহায্যে কার্ল অনুসরণ করার পরে -L)। সুতরাং, উদাহরণস্বরূপ

curl -sLo /dev/null -w '%{url_effective}' https://github.com/github-tools/github/releases/latest

আউটপুট https://github.com/github-tools/github/releases/tag/v3.1.0


2

গিথুব এখন সর্বশেষ রিলিজ থেকে পৃথক ফাইলগুলি ডাউনলোডের জন্য স্থিতিশীল লিঙ্কগুলিকে সমর্থন করে: https://help.github.com/en/articles/link-to-releases

https://github.com/USER/PROJECT/releases/latest/download/package.zip

: একই উত্তর ইতিমধ্যে 6 মাসের পোস্ট করা হয়েছে পূর্বে stackoverflow.com/questions/24987542/...
wisbucky

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

2

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

নিম্নলিখিত গিথুব ব্যবহারকারী এবং রেপো ব্যবহার করে আমি আমার পরীক্ষা চালিয়েছি:

" f1linux " = গিথুব ব্যবহারকারী
" পাই-এপি " = রেপো

রেপো সংরক্ষণ করা হয় নির্বিচার ডিরেক্টরি ডিরেক্টরি সেট করা হয়েছে:

--one-top-level="pi-ap"

সরাসরি:

ফায়ারফক্সের " ওয়েব বিকাশকারী " সরঞ্জামগুলি (উপরের ডান কোণে 3 টি বার) ব্যবহার করে, " নেটওয়ার্ক " বিভাগে আমি দেখতে পেয়েছি যেটি https://api.github.comপুনঃনির্দেশিত হয়েছে https://codeload.github.com, তাই টুপিটি curlচালিয়ে tarআমি সর্বশেষতম সংস্করণী রেপো ধরতে পেরেছিলাম এবং এটি ভবিষ্যদ্বাণীযোগ্য নামে সংরক্ষণ করতে সক্ষম হয়েছি এটি চালিত হতে পারে:

curl https://codeload.github.com/f1linux/pi-ap/legacy.tar.gz/master | tar xzvf - --one-top-level="pi-ap" --strip-components 1

পরোক্ষ:

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

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

পছন্দের পদ্ধতি:

তবে দয়া করে নীচে ভনের মন্তব্য অনুসারে নোট করুন যে INDIRECT হল পছন্দের পদ্ধতি

আরও বৈধকরণ:

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

DIRECT এবং INDIRECT উভয়ই উপরের মতো একই ফর্ম ব্যবহার করে কাজ করে, কেবলমাত্র ব্যবহারকারীর নাম এবং রেপো পরিবর্তন করে:

সরাসরি:

curl https://codeload.github.com/digitalocean/doctl/legacy.tar.gz/master | tar xzvf - --one-top-level="doctl" --strip-components 1 

পরোক্ষ:

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

মজাদার. সম্মত। : আমি যদিও API ব্যবহার করে এখনও বাঞ্ছনীয়, codeload সম্পর্কে সচেতন ছিলাম না stackoverflow.com/a/60198721/6309
VonC

আমি প্রথমে পুনঃনির্দেশটি নিয়ে শোকের মধ্যে পড়েছিলাম এবং উত্তরে ফায়ারফক্সের "ওয়েব বিকাশকারী" সরঞ্জামগুলি আমাকে সঠিক পথে যেতে বাধ্য করেছে। যদিও সেখানে থামতে পারেনি, পুনঃনির্দেশের সাথে এটি কাজ করতে হয়েছিল। উত্সাহের জন্য ধন্যবাদ - সবচেয়ে বাধ্য!
এফ 1 লিনাক্স

1
@ ভনসি সবেমাত্র উত্তরে আপনার প্রতিক্রিয়া যুক্ত করেছে। আমি এ সম্পর্কে পুরোপুরি অজ্ঞাত ছিলাম। এটা ইশারা জন্য ধন্যবাদ!
এফ 1 লিনাক্স

1

আমি README.mdসংগ্রহস্থলের বিবরণীতে ফাইল থেকে প্রকাশগুলি ডাউনলোড করতে চাই । সেখানে আমি জাভাস্ক্রিপ্ট কার্যকর করতে পারি না।

আমি এই জাতীয় লিঙ্কগুলি আমার সমস্ত সংগ্রহস্থলের জন্য README ফাইল বা গিথুব পৃষ্ঠায় যুক্ত করতে পারি:

  • https://niccokunzmann.github.io/download_latest/<USER>/<REPOSITORY>/<FILE>
    সংগ্রহস্থল থেকে সর্বশেষতম প্রকাশিত ফাইল ডাউনলোড করে।
  • https://niccokunzmann.github.io/download_latest/<FILE>
    এটি কাজ করে কারণ জাভাস্ক্রিপ্ট রেফারার সেট করা আছে এবং ডাউনলোডের জন্য সংগ্রহস্থলটি নির্ধারিত হয় document.referrer। সুতরাং, লিঙ্কটি কাঁটাচামচগুলির জন্যও কাজ করবে।

আপনি এখানে সোর্স কোডটি খুঁজে পেতে পারেন , কাঁটাচামচ বা কেবল আমার রেপো ব্যবহার করতে পারেন।


1
এটি একটি দুর্দান্ত চালাক ধারণা :) লিঙ্কগুলি ভাগ করার সময় বা কার্ল বা পছন্দগুলি ব্যবহার করার সময় এটি কাজ করবে না, তবে এই ধারণাটি প্রকল্পের গিথুব পৃষ্ঠায় করা যেতে পারে।
খ্রিস্টান রোনডাউ

1
এটি একবার জাভাস্ক্রিপ্ট ওয়েবসাইট হিসাবে সম্ভব, যে কেউ একটি পরিষেবা পুনর্নির্দেশ করতে পারে এমনটি লিখতে পারে। download-service.com/organization/repository/artifact
ব্যবহারকারী

0

যদি রেপো মুক্তির পরিবর্তে কেবল ট্যাগ ব্যবহার করে - সিএফ। jQuery - এক URL এর ভিত্তিতে সমাধানগুলি কাজ করে না।

পরিবর্তে, আপনাকে সমস্ত ট্যাগ জিজ্ঞাসা করতে হবে, তাদের বাছাই করতে হবে এবং ডাউনলোডের ইউআরএল তৈরি করতে হবে। আমি গো ভাষা এবং জা কিউয়ারি রেপো ভাষা: গিথুব-এর লিঙ্কের জন্য এই জাতীয় সমাধানটি প্রয়োগ করেছি ।

সম্ভবত, এটি কাউকে সাহায্য করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.