Скачать отдельные файлы из GitHub



Я думаю, большинство из вас, разработчики, используют любой VCS, и я надеюсь, что некоторые из вас используют Git. У вас есть какой-либо совет или трюк, как получить URL-адрес загрузки для одного файла в репозитории?



Я не хочу URL для отображения raw-файла; в случае двоичных файлов это ни для чего.



http://support.github.com/discussions/feature-requests/41-download-single-file



можно ли вообще использовать GitHub в качестве " скачать сервер"?



Если мы решим перейти на код Google, здесь представлена упомянутая функциональность?



или есть ли бесплатный хостинг и VCS для проектов с открытым кодом?

6328   26  

26 ответов:

Git не поддерживает загрузку частей репозитория. Вы должны скачать все. Но вы должны быть в состоянии сделать это с GitHub.

при просмотре файла он имеет ссылку на" сырую " версию. Элемент URL построена так

https://github.com/user/repository/raw/branch/filename

заполнив пробелы в URL, вы можете использовать Wget или cURL-L опция, см. ниже) или что угодно, чтобы загрузить один файл. Опять же, вы не получите ни одного из приятные особенности контроля версий используется Git с этим.

обновление: я заметил, что вы упомянули, что это не работает для двоичных файлов. Вероятно, вы не должны использовать двоичные файлы в своем репозитории Git, но GitHub имеет раздел загрузки для каждого репозитория, который вы можете использовать для загрузки файлов. Если вам нужно более одного двоичного файла, вы можете использовать a .сжатый файл. URL-адрес для загрузки загружаемого файла составляет:

https://github.com/downloads/user/repository/filename

обратите внимание, что URL-адреса, приведенные выше, из ссылок на github.com, будет перенаправлять к raw.githubusercontent.com. Вы не должны напрямую использовать URL-адрес, указанный этим перенаправлением HTTP 302, потому что, per RFC 2616: "поскольку перенаправление может быть изменено время от времени, клиент должен продолжать использовать запрос-URI для будущих запросов."

  1. перейдите к файлу, который вы хотите скачать.
  2. щелкните его, чтобы просмотреть содержимое в пользовательском интерфейсе GitHub.
  3. в правом верхнем углу щелкните правой кнопкой мыши the .
  4. Сохранить как...

вы можете использовать API V3, чтобы получить raw-файл, как это (вам понадобится маркер OAuth):

curl -H 'Authorization: token INSERTACCESSTOKENHERE' -H 'Accept: application/vnd.github.v3.raw' -O -L https://api.github.com/repos/owner/repo/contents/path

все это должно идти в одну строку. Элемент -O опция сохраняет файл в текущем каталоге. Вы можете использовать -o filename, чтобы указать другое имя файла.

чтобы получить маркер OAuth следуйте инструкциям здесь: https://help.github.com/articles/creating-an-access-token-for-command-line-use

Я написал это как суть также: https://gist.github.com/madrobby/9476733

на DownGit - введите свой URL-скачать!

специально для БОЛЬШИЕ ФАЙЛЫ


Download with DownGit


вы можете скачать отдельные файлы и каталоги в формате zip. Вы также можете создать ссылку на скачивание, и даже дать имя zip-файла. Подробное использование -здесь.

GitHub Mate делает один файл скачать без усилий, просто нажмите на значок, чтобы загрузить, в настоящее время он работает только на Chrome.

GitHub Mate Download

теперь это возможно в GitHub для любого файла. Вам нужно перевести ваши файлы для raw.github.com например, если ваш файл находится в репозитории по адресу:

https://github.com/<username>/<repo>/some_directory/file.rb

С помощью wget вы можете захватить raw-файл из:

https://raw.github.com/<username>/<repo>/<branch>/some_directory/file.rb

Rails Composer является отличным примером этого.

чтобы следить за тем, что сказал thomasfuchs, но вместо этого для корпоративных пользователей GitHub вот что вы можете использовать.

curl -H 'Authorization: token INSERTACCESSTOKENHERE' -H 'Accept: application/vnd.github.v3.raw' -O -L https://your_domain/api/v3/repos/owner/repo/contents/path

также Вот документация API https://developer.github.com/v3/repos/contents

по данным в этом суть, вы можете использовать wget или cURL:

  1. щелкните имя файла в репозитории GitHub.
  2. Нажмите кнопку исходный, чтобы отобразить файл содержание.
  3. скопируйте URL-адрес в вашем браузере.
  4. в командной строке запустить:
    • wget --no-check-certificate --content-disposition https://URL-from-step3/
    • curl -LJO https://URL-from-step3/

В случае, если вы хотите скачать zip-файл с github С помощью wget

wget -O filename.zip https://github.com/downloads/user/repository/filename.zip?raw=true

посмотреть этот сайт для более подробной информации

этот метод работает для Windows, так как я никогда не использовал MAC, поэтому я не знаю, какие альтернативные ключи в MAC для ключей, которые я собираюсь упомянуть ниже.

давайте поговорим о файлах CSV. Если вы хотите скачать CSV-файл:

  1. перейти к конкретному набору данных, который вы хотите скачать и нажмите на него.
  2. вы увидите кнопку "Raw" в верхней правой части набора данных.
  3. нажмите "Alt", а затем щелкните левой кнопкой мыши " Raw" кнопка.
  4. весь CSV будет загружен в вашей системе.

помните, вы должны нажать клавишу Alt и щелкните левой кнопкой мыши одновременно. Просто нажав кнопку "Raw", вы откроете CSV в браузере.

Я надеюсь, что помогает.

вы должны просто сделать это с помощью тега raw URL вашего файла.

например, чтобы загрузить README AFNetworking:

curl https://raw.githubusercontent.com/AFNetworking/AFNetworking/master/README.md > ADREADME.md 

поскольку это публичное РЕПО, вам не нужны никакие учетные данные. Пожалуйста, обратите внимание на вид ссылки: raw.githubusercontent.com/path/to/file

можно использовать curl таким образом:

curl -OL https://raw.githubusercontent.com/<username>/<repo-name>/<branch-name>/path/to/file

O означает, что curl загружает содержимое
L означает, что curl следует за перенаправлением

  1. страница, на которую вы ссылаетесь, отвечает на первый вопрос.

  2. GitHub также имеет возможность загрузки для таких вещей, как релизы.

  3. Код Google нет Git на всех.

  4. GitHub, код Google и SourceForge, только для начала бесплатный хостинг. SourceForge все еще может сделать CVS.

Это определенно работает. По крайней мере в Chrome. Щелкните правой кнопкой мыши на значке "Raw" ->Сохранить Ссылку Как.

недавно я нашел сервис под названием gitzip и открытым исходным кодом:

сайт - http://kinolien.github.io/gitzip/

РЕПО -https://github.com/KinoLien/gitzip

Вист выше сайт, введите РЕПО или каталог URL, вы можете скачать отдельные файлы или весь каталог в виде zip-файла.

Я думаю, что новый url структура raw.giturl например:

git file

raw

Если вы случайно используете curl и firefox... вы могли бы использовать cliget надстройка, которая генерирует вызов curl, включая все механизмы аутентификации (aka cookies).

щелкните правой кнопкой мыши raw кнопка cliget - > "Копировать url для ссылки", а затем вставить его в оболочку. Вы получите свой файл, даже если вам пришлось войти в систему, чтобы увидеть его.

вместо ссылки для загрузки определенного файла в репо, вы должны использовать GitHub в выпускает возможность связывать загружаемые данные (например, скомпилированные двоичные файлы) с помеченной версией исходного кода, используемого для создания этих данных.

https://github.com/blog/1547-release-your-software

мы рады объявить релизы, рабочий процесс для доставки программного обеспечения для конечных пользователей. Релизы-это первоклассные объекты с журналы изменений и бинарные активы, которые представляют полную историю проекта за пределами артефактов Git.

релизы сопровождаются заметками о выпуске и ссылками для загрузки программного обеспечения или исходного кода.

, в соответствии с соглашениями о многих проектах, ГИТ-релизы привязаны к Git теги. Вы можете использовать существующий тег или разрешить выпускам создавать тег при его публикации.

enter image description here

чтобы загрузить файл из репозитория Github, используйте команду 'curl' со ссылкой на необработанный файл.

curl https://raw.githubusercontent.com/user/repo/filename --output filename

добавьте параметр --output, за которым следует новое имя файла, чтобы загрузить необработанный файл во вновь созданный файл.

  1. на правой стороне чуть ниже " Clone in Desktop "он говорит"загрузить Zip-файл"
  2. Скачать Zip-Файл
  3. извлечь файл

для пользователей с GitHub Enterprise вам нужно построить URL в следующей схеме

Invoke-WebRequest http://github.mycompany.com/api/v3/repos/my-org/my-repo/contents/myfiles/file.txt -Headers @{"Authorization"="token 8d795936d2c1b2806587719b9b6456bd16549ad8"}

подробности можно посмотреть здесь

http://artisticcheese.blogspot.com/2017/04/how-to-download-individual-files-from.html

или попробуйте это

const https = require('https');
const fs = require('fs');
const DOMAIN = 'raw.githubusercontent.com';

function writeFile(data, fileName) {
  fs.appendFile(fileName, data.toString(), err => {
    if (err) {
      console.log('error in writing file', err);
    }
  });
}

function EOF(data) {
  console.log('EOF');
}

function getFileName(pathToFile) {
  var result = pathToFile.split('/');
  var splitLength = result.length;
  return result[splitLength - 1];
}
function getFile(branchName, username, repoName, ...pathToFile) {
  pathToFile.forEach(item => {
    const path = `/${username}/${repoName}/${branchName}/${item}`;
    const URL = `${DOMAIN}${path}`;
    const options = {
      hostname: DOMAIN,
      path: path
    };
    var fileName = getFileName(item);

    https
      .get(options, function(res) {
        console.log(res.statusCode);
        /* if file not found */
        if (res.statusCode === 404) {
          console.log('FILE NOT FOUND');
        } else {
          /* if file found */
          res.on('data', data => writeFile(data, fileName));
          res.on('end', data => EOF(data));
        }
      })
      .on('error', function(res) {
        console.log('error in reading URL');
      });
  });
}
getFile('master', 'bansalAyush', 'InstagramClone', '.babelrc', 'README.md');

я использовал следующий формат, и я чувствую, что это важно сообщить о пути.

https://github.com/user/repository/raw/branch/filename

^^^вышесказанное не очень полно в моем уме

https://github.com/<user>/<repoROOTname>/blob/master/<path>/<filename>?raw=true

некоторые сказали raw.github.com или raw вместо blob, но 2-я линия работает для меня, и я надеюсь, что поможет другим...

вы можете попробовать github-files-fetcher, это инструмент командной строки, который загружает одну папку или файл из GitHub РЕПО.

подумайте о реальном сценарии: вы посещали следующую страницу веб-страницы и хотите загрузить подкаталог.

https://github.com/reduxjs/redux/tree/master/examples

извините, что не разрешено размещать изображения.

С github-files-fetcher, вы следует сначала скопировать url этой страницы, которая https://github.com/reduxjs/redux/tree/master/examples/async, а затем выполните команду ниже в командной строке:

fetcher --url=https://github.com/reduxjs/redux/tree/master/examples/async

теперь можно загрузить любой файл или любую конкретную папку в репозитории, используя это расширение google chrome:

GitZip для github: Ссылка : https://chrome.google.com/webstore/detail/gitzip-for-github/ffabmkklhbepgcgfonabamgnfafbdlkn

использование :

  1. на любой странице публичных репозиториев GitHub.
  2. просто дважды щелкните на элементы, которые необходимо.
  3. Нажмите кнопку Скачать кнопка внизу-справа.
  4. см. панель мониторинга прогресса и дождитесь загрузки триггера браузера.
  5. получить ZIP-файл.

enter image description here

enter image description here

Это то, что сработало для меня только сейчас...

  1. откройте необработанный файл на отдельной вкладке.

  2. скопировать все это в свой блокнот в новый файл.

  3. сохраните файл в расширение, которое он первоначально имел

...работал на .php файл я DL только сейчас.

Comments

    Ничего не найдено.