У меня есть папка, которой я хочу поделиться с другими, содержимое папки должно обновляться ежедневно :некоторые файлы будут изменены, некоторые удалены, некоторые добавлены. Я хотел бы использовать для этого GitHub и создать cronjob, который должен обрабатывать обновления репозитория. Какие команды git мне нужно использовать, если я всегда хочу иметь точную копию локальной папки в моем репозитории git.
Это код, который я планирую использовать, но у меня есть сомнения по поводу локально удаленных файлов (, покрывает ли он их или нет )♂️:
cd ~/myfolder
git init
git add.
git commit -a -m "$current_date"
Спасибо.
Этот код почти подходит для первоначальной настройки вашего репозитория, есть еще несколько шагов, которые вам нужно добавить в конец:
git branch -M main
git remote add origin git@github.com:username/repository-name.git #Edit this to match your Github repo
git push -u origin main
Первая строка, которую я добавил, устанавливает ветку на git (ветвь Github по умолчанию main
), вторая строка устанавливает удаленный источник, а последняя строка отправляет вашу папку на Github.
Сценарий, который вы вызываете из crontab, должен выглядеть следующим образом:
cd ~/myfolder
git add .
git commit -a -m "$current_date"
git push
Если вы назвали его upload-script.sh
, это запись crontab, которая будет запускаться каждую минуту (самый быстрый интервал crontab позволяет) без вывода:
* * * * * ~/upload-script.sh >/dev/null 2>&1
Я не уверен, что вы можете ограничить скорость Github для этого, поэтому вам может потребоваться уменьшить скорость push-уведомлений. Вы можете создавать записи crontab, используя генератор crontab, если это так.
И для справки, вот документация Github о том, как настроить удаленный репозиторий (полезно для отладки проблем с git): https://docs.github.com/en/get-started/using-git/pushing-commits-to-a-remote-repository
Надеюсь, это поможет :)