【问题标题】:Is there any way to commit changes in git automatically at specific time有什么方法可以在特定时间自动提交 git 中的更改
【发布时间】:2018-05-05 08:20:58
【问题描述】:

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

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

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

【问题讨论】:

  • Making git auto-commit的可能重复
  • 我不需要每次都记录所有更改(这会导致更多提交)。但所有更改都在特定时间(导致很少提交)
  • 构建一个脚本并在 crontab 中启动它是一种方法。不知道有没有git scheduler...?

标签: linux git time repository commit


【解决方案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 正在运行(取决于你使用的初始化系统),你应该很高兴。如果您想更多地使用您的 crontab,请查看 https://crontab-generator.org

【讨论】:

    【解决方案2】:

    您的 crontab 示例将在每分钟午夜开始执行 auto_commit.sh 脚本,持续 1 小时。要使其在每个午夜只运行一次,您需要:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-07
      • 2013-07-20
      • 2015-05-24
      • 2016-01-04
      相关资源
      最近更新 更多