Загрузка нескольких файлов через Github REST APIPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Загрузка нескольких файлов через Github REST API

Сообщение Anonymous »

Я использую GrahamCampbell/Laravel-GitHub (который на самом деле является оболочкой Laravel для KnpLabs/php-github-api) для фиксации файлов из моего приложения в Github через REST API. >
С помощью $client->api('repo')->contents()->create(...) и $client->api('repo')->contents()->update(...) Я могу изменять отдельные файлы в своем репозитории Github.
Теперь я хотел бы загрузить весь каталог (включая файлы и подкаталоги) в свой репозиторий за один коммит. Я попробовал следующую последовательность:
  • Создайте дерево с помощью $client->api('gitData')->trees().< /li>
    Зафиксируйте дерево с помощью $client->api('gitData')->commits().
  • Обновите heads/main< /код> с $client->api('gitData')->references().
Но это работает только до тех пор, пока я загружаю свой каталог в корневой каталог репо. Как только я пытаюсь зафиксировать подкаталог Github, все в корневом каталоге перезаписывается. Я уже некоторое время экспериментирую, консультируясь с Google и недоумением, но ничего не добился.
В частности, я хотел бы добиться следующих двух вещей:
  • Сохранение структуры каталогов в (произвольном) подкаталоге Github

    либо сохранение старых файлов/каталогов в этой структуре каталогов
  • или отбросив старые файлы/каталоги только в затронутой структуре каталогов (т. е. все остальные каталоги Github должны быть сохранены)

Это по сути похоже на очистку папок и вставку содержимого в локальный проводник или вставку содержимого и перезапись существующих файлов.
Возможно, уже существует готовое решение или PHP-класс за это, я был бы очень благодарен за ссылка. В противном случае мне бы помогло, если бы кто-нибудь мог перечислить правильную процедуру для этого:
  • Нужно ли мне читать и фиксировать все существующие деревья при каждом коммите (даже при более глубокий подкаталог Github)? На самом деле я хочу, чтобы фиксация не затрагивала все существующие файлы, а только новые или измененные.
  • На какое дерево должен указывать мой base_tree-SHA, если я хочу зафиксировать мой/sub/ dir?
Заранее большое спасибо за помощь
Джон Назаров

Подробнее здесь: https://stackoverflow.com/questions/793 ... b-rest-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»