有没有办法在特定时间自动提交git更改

时间:2017-11-21 18:41:30

标签: linux git time repository commit

我想知道是否有任何方法可以根据具体时间自动提交git中所做的更改。

假如我设置了配置,它应该在每天凌晨12:00或一天中的特定时间提交存储库中存在的任何代码。

根据我在搜索后发现的内容,每次保存文件时都有一种提交方式。但不及时自动提交。

2 个答案:

答案 0 :(得分:1)

正如Nic5300建议的那样,一种简单的方法是编写一个由cron在特定时间调用的简单脚本:

auto_commit.sh
=======================================
#!/bin/bash
MESSAGE="Auto-commit: $(date)"
REPO_PATH="/home/user/repo"
git -C "$REPO_PATH" add -A
git -C "$REPO_PATH" commit -m "$MESSAGE"

只需用你喜欢的任何内容更新REPO_PATH和MESSAGE。现在,您可以通过运行crontab -e将脚本添加到crontab。

要在午夜每晚运行它,你的crontab看起来像这样:

* 0 * * * auto_commit.sh > /dev/null 2>&1

显然,您必须将该路径更新到保存脚本的位置。只要确保你cron正在运行(取决于你正在使用的init系统),你应该好好去。如果您想更多地使用crontab,请查看https://crontab-generator.org

答案 1 :(得分:0)

您的 crontab 示例将在每分钟午夜开始执行 auto_commit.sh 脚本,持续 1 小时。为了让它每半夜只运行一次,你需要:

   0 0 * * * auto_commit.sh > /dev/null 2>&1