Скачать отдельные файлы с GitHub - PullRequest
514 голосов
/ 05 января 2011

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

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

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

Можно ли даже использовать GitHub в качестве "сервера загрузки"?

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

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

Ответы [ 26 ]

0 голосов
/ 19 сентября 2018

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

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

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

0 голосов
/ 30 июня 2018

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

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 ¢

0 голосов
/ 13 марта 2018

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

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');
0 голосов
/ 15 июля 2014

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

  1. Откройте файл raw в отдельной вкладке.

  2. Скопируйте всевещь в вашем блокноте в новом файле.

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

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

0 голосов
/ 27 апреля 2017

Для пользователей с 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

0 голосов
/ 13 августа 2014
  1. В правой части чуть ниже "Клон на рабочем столе" написано "Скачать Zip файл"
  2. Скачать Zip файл
  3. Извлеките файл
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...