Как скачать файл с github
Перейти к содержимому

Как скачать файл с github

Быстрый совет. Как скопировать или скачать файл с GitHub в один клик

Любой разработчик знает про GitHub. И все мы знаем, что сохранить или скопировать файл к себе на компьютер, не так просто, как кажется. Конечно, мы уже на автомате выполняем необходимые для этого действия. А что, если скачать файл можно одним нажатием кнопки?

Познакомьтесь с Github Plus — расширение для Google Chrome. Github Plus отображает полный размер всех файлов в репозитории и индивидуальный размер каждого файла. А ещё добавляет кнопку «Скачать» к каждому из них.

Кнопка «Скачать» и общий размер репозитория в GitHub

Кнопка «Скачать» и общий размер репозитория в GitHub

И добавляет кнопку «Copy File», которая копирует содержимое файла в буфер обмена.

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

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

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

Можно ли вообще использовать GitHub в качестве «сервера загрузки»?

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

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

29 ответов

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

Когда вы просматриваете файл, в нем есть ссылка на «сырую» версию. URL построен так

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

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

Обратите внимание, что приведенные выше URL-адреса из ссылок на github.com будут перенаправлять на raw.githubusercontent.com . Вы не должны напрямую использовать URL-адрес, указанный в этом перенаправлении HTTP 302, потому что согласно RFC 2616 : «Так как перенаправление может иногда изменяться, клиент ДОЛЖЕН продолжать использовать Request-URI для будущих запросов».

Если вы хотите загрузить zip-файл из github с помощью wget

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

Вы можете использовать API V3, чтобы получить необработанный файл, подобный этому (вам понадобится токен 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 , чтобы указать другое имя файла.

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

  1. Щелкните имя файла в репозитории GitHub.
  2. Щелкните Raw, чтобы отобразить содержимое файла.
  3. Скопируйте URL-адрес в свой браузер.

В командной строке запустите:

  • wget —no-check-certificate —content-disposition https://URL-from-step3/
  • curl -LJO https://URL-from-step3/

Еще один: в RHEL7.6 запустите следующее:

  • wget https://URL-from-step3/ —output-document=FILE_NAME

Вы можете использовать curl следующим образом:

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

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

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

Используя wget, вы можете получить необработанный файл из:

Rails Composer — отличный тому пример.

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

Существует расширение Chrome под названием Enhanced Github.

Он добавит кнопку загрузки прямо справа от каждого файла.

enter image description here

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

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

Итоги 2019 г.

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

Ниже приведены шесть вариантов. А для тех, кто предпочитает более практические объяснения, я собрал видео на YouTube: Загрузить индивидуальный Файлы и папки из GitHub.

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

1. Пользовательский интерфейс GitHub

  • На большинстве изображений есть кнопка загрузки.
  • На главной странице репозитория есть кнопка загрузки. Конечно, это загружает все репо, после чего вам нужно будет разархивировать загрузку, а затем вручную перетащить определенные файлы, которые вам нужны.

2. Контекстное меню браузера

  • Перейдите к файлу на GitHub, щелкните правой кнопкой мыши кнопку «Raw», чтобы открыть контекстное меню браузера. Оттуда, если вы используете Google Chrome, выберите «Сохранить ссылку как . ». В других браузерах будет аналогичный интерфейс, но описание выбора может отличаться. Например, в Safari он будет отображаться как «Загрузить связанный файл» и «Загрузить связанный файл как».

3. Сторонние инструменты

  • Существует множество расширений браузера и веб-приложений, которые могут справиться с этим, и DownGit является одним из них. Просто вставьте URL-адрес GitHub в файл и нажмите кнопку «Загрузить». Обратите внимание, что ссылка должна быть представлением размещенного на GitHub.com репозитория, а не прямой ссылкой на файл. Пример ссылки на файл: https://github.com/babel/babel-eslint/blob/master/lib/parse.js .

4. Subversion

  • GitHub не поддерживает git-archive (функция git, которая позволяет нам загружать определенные файлы). Однако GitHub поддерживает множество функций Subversion, одну из которых мы можем использовать для этой цели. Subversion — это система контроля версий (альтернатива git). Вам понадобится установленная Subversion. Возьмите URL-адрес GitHub для файла, который хотите загрузить. Однако вам нужно будет изменить этот URL-адрес. Вам нужна ссылка на репозиторий, за которой следует слово «ствол» и в конце путь к вложенному файлу. Другими словами, используя ту же ссылку на файл, о которой я упоминал выше, мы заменим «blob / master» на «trunk». Наконец, откройте терминал, перейдите в каталог, в который вы хотите загрузить контент, введите следующую команду (заменив URL-адрес созданным вами URL-адресом): svn export https://github.com/babel/babel-eslint/trunk/lib/parse.js и нажмите Enter.

5. cURL

  • Вам понадобится установленный cURL. Перейдите к файлу на GitHub.com, щелкните левой кнопкой мыши кнопку «Raw», чтобы перейти к прямой ссылке на файл, скопируйте этот URL-адрес, откройте терминал, перейдите в каталог, в который вы хотите загрузить контент, введите следующую команду, заменив имя файла на то, что вы хотите назвать, и заменив URL-адрес тем, который вы только что скопировали: curl -o parse.js https://raw.githubusercontent.com/babel/babel-eslint/master/lib/parse.js .

6. GitHub API

  • На самом деле это то, что DownGit использует под капотом. Используя REST API GitHub, сделайте запрос GET к конечной точке контента. Конечная точка может быть построена следующим образом: https://api.github.com/repos/:owner/:repo/contents/:path . После замены заполнителей пример конечной точки: https://api.github.com/repos/babel/babel-eslint/contents/lib/parse.js . Это дает вам данные JSON для этого файла, включая URL-адрес загрузки (тот же URL-адрес загрузки, который мы использовали в приведенном выше примере cURL). Однако этот метод не так уж и полезен для одного файла (вы, скорее всего, будете использовать его для загрузки определенной папки, как подробно описано в ответе, на который я ссылался выше).

Функция выпусков GitHub

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

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

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

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

enter image description here

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

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

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

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

Поговорим о файлах CSV. ЕСЛИ вы хотите скачать файл CSV:

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

Помните, вы должны одновременно нажать Alt и левую кнопку мыши. Просто нажмите кнопку «Raw», чтобы открыть CSV-файл в браузере.

Надеюсь, это поможет.

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

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

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

  1. На github откройте файл, который хотите скачать
  2. Найдите кнопку «Необработанные» рядом с кнопкой «Обвинить».
  3. Нажмите «Alt» на клавиатуре и одновременно щелкните левой кнопкой мыши.
  4. Файл загрузится автоматически в формате «.txt» (для меня так и было).
  5. Измените расширение «.txt» на «.csv» вручную.

Это сработало для меня, и я надеюсь, что это сработает и для вас.

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

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

Код Google не содержит Git вообще.

Для начала, GitHub, Google Code и SourceForge — это бесплатный хостинг. SourceForge может по-прежнему выполнять CVS.

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

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

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

Применение :

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

enter image description here

enter image description here

  1. Просто скопируйте ссылку на страницу
  2. В командной строке введите: wget -L (exact copied link)
  3. Просто замените blob на raw на шаге 2
  4. Войти

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

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

Мой простой способ сделать это:

  1. нажмите кнопку «Raw», чтобы получить содержимое файла github_csv.csv, отображаемое в браузере.
  2. Затем создайте file.csv и откройте его в текстовом редакторе, например в блокноте.
  3. Затем скопируйте содержимое файла с веб-сайта и вставьте его в файл .csv.
  4. Ваш file.csv — это github_csv.csv
  1. С правой стороны, чуть ниже «Клонировать на рабочем столе», написано «Загрузить 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 @

Подробности можно найти здесь

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

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

^^^ вышеизложенное, на мой взгляд, не очень полно

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

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

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

извините за то, что мне не разрешили публиковать изображения.

Как пользоваться GitHub на компьютере с Linux

Обновлено и опубликованоОпубликовано: 15.03.2019

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

В данной статье приведены примеры использования сервиса на компьютере под управлением операционных систем семейства Linux. Мы рассмотрим, как создать проект на локальном компьютере и залить его на сервис с помощью командной строки. Рассмотренные варианты использования git также можно применять на desktop системах, запустив окно терминала.

Установка git

Управление выполняется с помощью приложения git. Если его нет в системе, установку можно выполнить из репозитория.

Если используем CentOS / Red Hat:

yum install git-core

Если используем Ubuntu / Debian:

apt-get install git

Если мы хотим воспользоваться сервисом с компьютера Windows или Mac OS, необходимо скачать и установить desktop версию с официального сайта.

Синтаксис

Команды имеют следующий синтаксис:

* полный перечень опций, команд и аргументов можно получить командой man git.

Создание проекта на локальном компьютере

Прежде чем отправить проект на GitHub, создаем его на нашем компьютере. Для этого переходим в каталог с файлами проекта:

Инициализируем проект для git:

Мы получим ответ похожий на:

Initialized empty Git repository in /projects/.git/

Это означает, что репозиторий git создан.

Теперь добавим файлы в репозиторий:

* данной командой мы добавили папку и ее содержимое в репозиторий git.

Отправка данных на GitHub

Теперь можно отправить данные на сервис. Для этого у нас должна быть зарегистрированная учетная запись и создан репозиторий на GitHub.

Создание репозитория

Переходим на портал github.com и входим в систему или проходим несложную регистрацию:

Регистрация на GitHub

Проходим процесс подтверждения, что мы не робот. Затем завершаем несколько шагов регистрации, нажимая Submit. В итоге мы получим письмо на адрес электронной почты, которую указали при регистрации. Необходимо будем подтвердить email, перейдя в письме по кнопке Verify email address.

Создаем репозиторий. Для этого кликаем по иконке профиля и переходим в раздел Your repositories:

Переход к созданию нового репозитория на GitHub

И кликаем по кнопке New. В следующем окне даем название репозиторию и нажимаем Create repository:

Создаем репозиторий на GitHub

Мы увидим страницу с путем к репозиторию:

Путь к репозиторию, который создали на GitHub

Заливаем проект в репозиторий на GitHub

Добавляем комментарий к нашему проекту:

git commit -m "Очередное изменение проекта" -a

* где Очередное изменение проекта — произвольный комментарий; параметр -a указывает, что комментарий нужно применить ко всем измененным файлам.

Теперь подключаемся к созданному репозиторию:

git remote add origin https://github.com/dmosktest/project1.git

* где dmosktest — логин, который был указан при регистрации на github, а project1 — название, которое мы задали, когда создавали репозиторий.
* удалить удаленный репозиторий можно командой git remote rm origin.

Закидываем проект на GitHub:

git push origin master

* где master — ветка проекта (веток может быть несколько).

В нашем проекте на GitHub должны появиться файлы проекта:

Загруженный проект на GitHub

Получение файлов с GitHub

Для загрузки на компьютер файлов, создаем каталог с проектом и переходим в него:

Проводим начальную настройку локального репозитория:

Подключаемся к удаленному репозиторию:

git remote add origin https://github.com/dmosktest/project1.git

Скачиваем проект командой:

git pull https://github.com/dmosktest/project1.git master

Клонирование проекта

git clone <репозиторий на GitHub>

Например, использую наш репозиторий:

git clone https://github.com/dmosktest/project1.git

* данная команда создаст в текущей папке каталог project1 и инициализирует его как локальный репозиторий git. Также загрузит файлы проекта.

Возможные ошибки

1. При попытке отправить данные на GitHub, получаем ошибку:

error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/dmosktest/project1.git'

* где dmosktest/project1.git — путь к нашему репозиторию.

Причина: проект ни разу не был зафиксирован (закоммичен).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *