Я предполагаю, что большинство из вас, разработчиков, используют любые VCS , и я надеюсь, что некоторые из вас используют Git. Есть ли у вас какие-либо советы или рекомендации, как получить URL-адрес для загрузки одного файла в хранилище?
Я не хочу URL для отображения необработанного файла; в случае двоичных файлов это даром.
http://support.github.com/discussions/feature-requests/41-download-single-file
Можно ли даже использовать GitHub в качестве «сервера загрузки»?
Если мы решим перейти на Google Code, будут ли здесь представлены упомянутые функции?
Или есть какой-нибудь бесплатный хостинг и VCS для проектов с открытым исходным кодом?
git
version-control
github
Радек Симко
источник
источник
Ответы:
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 для будущих запросов».источник
raw
после имени репозитория), теперь автоматически перенаправляется в указанный вами формат (имя хостаraw.github.com
). В случае сомнений перейдите к соответствующему файлу на github.com и нажмите кнопку «Raw».Raw
кнопку.источник
Вы можете использовать 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
чтобы указать другое имя файла.Чтобы получить токен OAuth, следуйте инструкциям здесь: https://help.github.com/articles/creating-an-access-token-for-command-line-use
Я написал это как суть: https://gist.github.com/madrobby/9476733
источник
Согласно этой сути , вы можете использовать wget или cURL:
В командной строке запустите:
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
источник
wget
необработанный путь к исходному файлу C, который я хотел, после просмотра файла в репозитории github и нажатия кнопки Raw. Работал как чемпион с Raspbian на моем Raspberry Pi 3.GitHub Mate упрощает загрузку одного файла, просто нажмите значок, чтобы загрузить, в настоящее время он работает только в Chrome.
источник
Вы можете использовать
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 является отличным примером этого.
источник
Существует расширение Chrome под названием Enhanced Github.
Это добавит кнопку загрузки прямо справа от каждого файла.
источник
Чтобы узнать, что сказал thomasfuchs, но вместо этого для пользователей 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
Также вот документация по API https://developer.github.com/v3/repos/contents
источник
https://your_domain/api/v3/repos/{owner}/my-repo/contents/x/y/z.txt
Если вы хотите скачать zip-файл с
github
помощьюwget
см. этот сайт для более подробной информации
источник
Этот метод работает для Windows, так как я никогда не использовал MAC, поэтому я не знаю, какие альтернативные ключи в MAC для ключей, о которых я собираюсь упомянуть ниже.
Давайте поговорим о файлах CSV. Если вы хотите скачать файл CSV:
Помните, вы должны нажать Alt и левой кнопкой мыши одновременно. Простое нажатие на кнопку «Raw» откроет CSV в браузере.
Надеюсь, это поможет.
источник
Вы должны просто сделать это с
raw
URL вашего файла.Например, чтобы загрузить README AFNetworking:
Поскольку это публичное репо, вам не нужны никакие учетные данные. Обратите внимание на вид URL:
raw.githubusercontent.com/path/to/file
источник
2019 Резюме
Существует множество способов справиться с этим, в зависимости от размера файла, от того, нужно ли вам загружать папки в дополнение к файлам, и планируете ли вы делать это вручную или программно.
Ниже приведены шесть вариантов. А для тех, кто предпочитает более подробное объяснение, я собрал видео на YouTube: загрузите отдельные файлы и папки с GitHub .
Кроме того, я опубликовал аналогичный ответ в StackOverflow для тех, кому нужно загружать отдельные папки / каталоги с GitHub (в отличие от файлов).
1. Пользовательский интерфейс GitHub
2. Контекстное меню браузера
3. Сторонние инструменты
https://github.com/babel/babel-eslint/blob/master/lib/parse.js
.4. Subversion
svn export https://github.com/babel/babel-eslint/trunk/lib/parse.js
5. CURL
curl -o parse.js https://raw.githubusercontent.com/babel/babel-eslint/master/lib/parse.js
.6. GitHub API
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 Releases
Вместо ссылки для загрузки определенного файла в репозитории вы должны использовать функцию релизов GitHub, чтобы связать загружаемые данные (например, скомпилированные двоичные файлы) с теговой версией исходного кода, используемого для генерации этих данных.
https://github.com/blog/1547-release-your-software
источник
releases
2. Нажмите на номер коммита. 3. Найдите нужный файл, нажмите на три точки...
и выберитеView file
4. Нажмите,View raw
чтобы загрузить файл !!!Это определенно будет работать. По крайней мере, в Chrome. Щелкните правой кнопкой мыши значок «Raw» -> Сохранить ссылку как .
источник
Чтобы загрузить файл из репозитория Github, используйте команду 'curl' со ссылкой на необработанный файл.
Добавьте параметр --output, а затем новое имя файла, чтобы загрузить необработанный файл во вновь созданный файл.
источник
Страница, на которую вы ссылаетесь, отвечает на первый вопрос.
GitHub также имеет возможность загрузки таких вещей, как релизы.
У Google Code вообще нет Git .
GitHub, Google Code и SourceForge - это бесплатный хостинг. SourceForge все еще может делать CVS .
источник
Я недавно нашел сервис под названием
gitzip
и также с открытым исходным кодом:сайт - http://kinolien.github.io/gitzip/
РЕПО - https://github.com/KinoLien/gitzip
Посетите вышеуказанный сайт, введите URL-адрес хранилища или каталога, вы можете скачать отдельные файлы или весь каталог в виде zip-файла.
источник
jszip.min.js
из этого хранилища? Лицо тролляТеперь можно загрузить любой файл или любую конкретную папку в репозитории с помощью этого расширения Google Chrome:
GitZip для github: ссылка: https://chrome.google.com/webstore/detail/gitzip-for-github/ffabmkklhbepgcgfonabamgnfafbdlkn
Применение :
источник
Я думаю, что новая
url
структура,raw.giturl
например:Git файл
сырье
источник
Если вы используете curl и firefox ... вы можете использовать кликет надстройку которая генерирует вызов curl, включая все механизмы аутентификации (также называемые куки).
Поэтому щелкните правой кнопкой мыши на
raw
кнопке cliget -> «Скопировать URL для ссылки», а затем вставьте ее в оболочку. Вы получите свой файл, даже если вам пришлось войти в систему, чтобы увидеть его.источник
источник
Для пользователей с 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
источник
Или попробуйте это
источник
Я использовал следующий формат, и я чувствую, что важно сообщить о пути.
^^^ вышеупомянутое не очень полно в моем уме
некоторые говорят, что raw.github.com или raw вместо blob, но у меня работает вторая строка, и я надеюсь, что она поможет другим ...
2 ¢
источник
Вы можете попробовать 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
источник
Это то, что сработало для меня только сейчас ...
Откройте необработанный файл в отдельной вкладке.
Скопируйте все это в свой блокнот в новый файл.
Сохраните файл в том расширении, в котором он был изначально
протестировано с файлом php, который я скачал только сейчас (на момент ответа)
источник