Есть несколько способов;некоторые специфичны для GitHub.В частности, GitHub предоставляет конечную точку веб-службы для загрузки одного конкретного файла из одного конкретного коммита, и вы можете ссылаться на коммит через имя ветви (чтобы GitHub разрешил для вас хэш-идентификатор фиксации):
https://raw.githubusercontent.com/git/git/master/checkout.c
Например, вы получаете checkout.c
из любого коммита, который master
идентифицирует в данный момент в репозитории Git по адресу github.com/git/git
.
Если вы беспокоитесь о клонировании, то:
Я не хочу клонировать всю папку каждый день.
Во-первых, вы не клонируете папку .Вы клонируете хранилище .Как только вы это сделаете, у вас есть все коммитов для всех файлов, и на следующий день вы можете просто запустить git fetch
в этом хранилище, которое получит new коммитов при сохранении всех существующих коммитов.Git очень эффективен в этих обновлениях.В зависимости от используемого файла JSON и других действий с хранилищем, это может быть на быстрее , чем загрузка одного необработанного файла.
Если хранилище предназначено только для чтения, а восходящий поток ведет себя хорошовы можете запустить git pull
вместо git fetch
, а затем выполнить вторую команду Git.Вторая команда Git будет git merge
, а git pull
означает run git fetch
, затем запустите вторую команду Git , и для второй команды по умолчанию будет git merge
.Шаг слияния в этом случае будет fast-forward операция.
(Если восходящий репозиторий не хорошо себя ведет, ваша вторая команда будет git reset --hard origin/master
и вам понадобятся две команды.)