Программно добавлять файлы на страницу загрузки GitHub
[[Обратите внимание, что Github сильно изменился, так как этот вопрос был впервые задан; вместо "страницы загрузки" читайте "новый выпуск".]]
Я создаю документацию PDF как часть своих проектов, и я бы хотел, чтобы они синхронизировались с моим хранилищем Git (для людей не всегда возможно создавать свои собственные, поскольку они часто используют проприетарные шрифты).
Однако, это не совсем "правильно", чтобы добавить PDF файлы в репозиторий, поскольку это производный файл; кроме того, это значительно увеличивает размер коммитов и размер репозитория в целом.
Можно ли программно отправлять файлы на страницу загрузки GitHub? (Я знаю, что отмеченные коммиты автоматически добавляются туда с git push --tags
, но я не знаю, где это документировано. Полагаю, я мог бы сделать что-то фантастическое, добавив отдельную ветку, содержащую только сами PDF файлы, как это делают пользовательские страницы GitHub - но я немного ржавый при использовании Git таким образом.)
Ответы
Ответ 1
Github API v3 поддерживает эту функцию.
GitHub также предоставляет плагин maven на основе java API, который является частью разъема Eclipse Mylyn для GitHub.
Существует жемчужина рубина, называемая github_api.
В другом ответе говорится о net-github-upload, который доступен для perl и ruby.
Ответ 2
проверьте net-github-upload, который доступен
для perl: http://github.com/typester/net-github-upload-perl
и ruby: http://github.com/Constellation/ruby-net-github-upload
С этим вы можете написать небольшой script для загрузки и обновления вашего PDF файла. К сожалению, нет простого способа, предоставленного самими github.
развеселить!
Ответ 3
Сообщение блога GitHub о том, что эта функция отключена: https://github.com/blog/1302-goodbye-uploads
Ответ 4
Я понимаю, что на странице загрузки GitHub владелец означает репо, а точнее - ветку, которую можно загрузить с помощью кнопки "загрузить".
Если вы хотите добавить файл в репо с помощью API, вам нужно будет ознакомиться с описанным здесь процессом: https://developer.github.com/v3/git/
Это не самый простой процесс в мире, но его освоение заставит вас понять понятия капель, деревьев, коммитов и ссылок, среди прочих.
Вы не можете просто "отправить файл" в репо, потому что работаете с Git, а Git имеет некоторые "внутренние ожидания", которые вы просто не можете игнорировать (невозможно подумать о GitHub как какой-то хост, который вы можете ftp). Объяснение потока, необходимого для создания файла в репозитории GitHub, безусловно, выходит за рамки исходного вопроса, но для получения четкого ответа: нет, он не возможен программно upload файл в GitHub, но да можно программно нажать файл на GitHub ".
Там есть библиотека PHP с именем GitHubTreePHP, которая позволяет автоматизировать процесс ( Отказ от ответственности: я написал его).