Программно добавлять файлы на страницу загрузки GitHub - PullRequest
18 голосов
/ 16 сентября 2009

[[Обратите внимание, что Github сильно изменился с тех пор, как этот вопрос был впервые задан; вместо «загрузить страницу» читать «новый выпуск».]]

Я создаю документацию в формате PDF в рамках своих проектов, и я бы хотел, чтобы они синхронизировались с моим репозиторием Git (люди не всегда могут создавать свои собственные, так как они часто используют собственные шрифты).

Однако добавлять файлы PDF в хранилище не совсем правильно, поскольку это производный файл; Более того, это значительно увеличивает размер коммитов и общий размер хранилища.

Можно ли программно отправлять файлы на страницу загрузки GitHub? (Я знаю, что коммиты с тегами автоматически добавляются туда с git push --tags, но я не знаю, где это задокументировано. Полагаю, я мог бы сделать что-то необычное, добавив отдельную ветку, содержащую только сами PDF-файлы - как это сделано на пользовательских страницах GitHub - но я немного устала от использования Git таким образом.)

Ответы [ 4 ]

10 голосов
/ 15 апреля 2012

Github API v3 поддерживает эту функцию .

GitHub также предоставляет подключаемый модуль maven на основе Java API , который является частью Eclipse Mylyn-разъема для GitHub .

Существует рубиновый камень под названием github_api .

Другой ответ говорит о net-github-upload, который доступен для perl и ruby ​​.

9 голосов
/ 23 апреля 2010

проверить net-github-upload , который доступен

для perl: http://github.com/typester/net-github-upload-perl и рубин: http://github.com/Constellation/ruby-net-github-upload

С этим вы можете написать небольшой скрипт для загрузки и обновления вашего PDF легко. К сожалению, нет простого способа, предоставляемого самими ребятами из github ..

ура!

2 голосов
/ 07 января 2013

В блоге GitHub сообщается, что эта функция отключена: https://github.com/blog/1302-goodbye-uploads

0 голосов
/ 03 июля 2014

Насколько я понимаю, под "страницей загрузки GitHub" владелец подразумевает репо, а точнее ветку, которую можно загрузить с помощью кнопки "скачать".

Если вы хотите добавить файл в репозиторий с помощью API, вам необходимо ознакомиться с процессом, описанным здесь: https://developer.github.com/v3/git/

Это не самый простой процесс в мире, но его освоение заставит вас понять, среди прочего, концепции BLOB-объектов, деревьев, коммитов и ссылок.

Вы не можете просто "отправить файл" в репозиторий, потому что вы работаете с Git, и у Git есть некоторые "внутренние ожидания", которые вы просто не можете игнорировать (невозможно представить GitHub как своего рода хост, который можно по ftp). Объяснение потока, необходимого для создания файла в репозитории GitHub, безусловно, выходит за рамки исходного вопроса, но дать четкий ответ: нет, не возможно программно загрузить a файл на GitHub, но да можно программно отправить файл на GitHub ".

Есть библиотека PHP с именем GitHubTreePHP , которая позволяет автоматизировать процесс ( Отказ от ответственности : я написал).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...