我有一个想要与他人公开共享的文件夹,文件夹的内容应该每天更新:一些文件将被更改,一些文件将被删除,一些文件将被添加。我想使用GitHub为此,创建一个 cronjob,用于处理存储库更新。什么样的git 命令如果我总是想在我的 git 存储库中拥有本地文件夹的精确副本,我是否必须使用。
这是我计划使用的代码,但我对本地删除的文件有疑问(是否覆盖它们)
答案1
该代码对于您的存储库的初始设置几乎是正确的,您需要在最后添加几个步骤:
git branch -M main
git remote add origin [email protected]: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 对此进行速率限制,所以你可能需要降低推送速度。你可以使用以下方式生成 crontab 条目crontab 生成器如果是这样的话。
作为参考,这里是 Github 关于如何设置远程存储库的文档(有助于调试 git 问题): https://docs.github.com/en/get-started/using-git/pushing-commits-to-a-remote-repository
希望这可以帮助 :)