git commit无法找到在cron作业中运行的(全局)配置

时间:2014-08-05 13:15:42

标签: git cron git-commit

我想使用cron作业提交一些文件更改,使用root crontab中的以下行调用脚本

0 * * * * cd /files/ && ./backup.sh >/tmp/cronlog 2>/tmp/cronerror

脚本如下所示:

#!/usr/bin/env bash

… prepare the files for the backup …

echo "commit changes …"
git add -u
git commit -m "backup"
git push

在cron设置之前,我还为root用户设置了user.emailuser.name,如果从命令行调用,我检查脚本是否运行。

但在/tmp/cronerror我收到以下众所周知的消息。

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
…

我也尝试在脚本中设置HOME=/root,但这不会产生影响。

有没有办法告诉git命令在cron作业中运行时在哪里找到全局git-config?

1 个答案:

答案 0 :(得分:1)

我的解决方案是使用git config …而不使用--global选项将配置存储在当前存储库中,git可以在其​​中找到它。