如何创建一个 cron 作业,每周将我的项目更改提交到 git

Jas*_*son 11 git cron commit

我正在使用 git 来制作对我的项目所做更改的历史记录。我知道这不是理想的用法,但这是我出于各种原因选择的使用模式,为简洁起见,我不会介绍。

我将如何创建一个每天或每周将更改提交到存储库的 cron 作业?

我在 Ubuntu 10.10 上使用最新版本的 git。

jcr*_*dor 10

0 20 * * 0 /path_to_script
Run Code Online (Sandbox Code Playgroud)

这将/path_to_script'在每个星期日的当地时间 20:00运行指定的命令 (replace )。cron 作业的语法相当简单,有一个灵活的工具可以帮助您创建它们而无需记住代码位置。

在这种情况下,命令应该是为您运行提交的脚本。我认为在您的情况下,最简单的方法是编写一个快速的 shell 脚本来更改到克隆目录,然后运行提交。在 at 创建一个文件~/commit.sh并将其放入其中(/location/of/clone当然要替换)


#!/bin/sh
cd /location/of/clone
git-commit -m "commit message, to avoid being prompted interactively"
Run Code Online (Sandbox Code Playgroud)

然后chmod +x ~/commit.sh使其可执行,并运行 cron 作业(通过它的完整路径引用它,而不是使用~)。


小智 6

运行crontab -e编辑您的用户 cronjob,并插入以下行:

0 20 * * 0 (cd /path/to/myproject && git add . && git commit -m "Automatic Commit" && git push)
Run Code Online (Sandbox Code Playgroud)

当然,您必须设置 GIT 存储库,包括工作的远程存储库,但这不在这个问题的范围内。