С помощью $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
либо сохранение старых файлов/каталогов в этой структуре каталогов - или отбросив старые файлы/каталоги только в затронутой структуре каталогов (т. е. все остальные каталоги Github должны быть сохранены)
Это по сути похоже на очистку папок и вставку содержимого в локальный проводник или вставку содержимого и перезапись существующих файлов.
Возможно, уже существует готовое решение или PHP-класс за это, я был бы очень благодарен за ссылка. В противном случае мне бы помогло, если бы кто-нибудь мог перечислить правильную процедуру для этого:
- Нужно ли мне читать и фиксировать все существующие деревья при каждом коммите (даже при более глубокий подкаталог Github)? На самом деле я хочу, чтобы фиксация не затрагивала все существующие файлы, а только новые или измененные.
- На какое дерево должен указывать мой base_tree-SHA, если я хочу зафиксировать мой/sub/ dir?
Джон Назаров
Подробнее здесь: https://stackoverflow.com/questions/793 ... b-rest-api
Мобильная версия