Git推送失败"致命:'起源'似乎不是一个致命的git存储库:无法读取远程存储库"

时间:2014-11-26 09:42:35

标签: git cron push

我在名为'git.run'的可执行文件中有以下命令:

git add .
curtime=`date`
git commit -m "Automatic Backup @ $curtime"
git push origin master

上面的脚本将所有内容添加到名为.git的已制作(本地)存储库中 然后使用当前日期/时间标记git commit以进行审计 最后,本地存储库被推送到bitbucket中的远程存储库

当我运行以下cron作业时:

* * * * * /var/www/ && ./git.run >> /var/www/jobs.log 2>&1

以下输出将写入jobs.log ...

Please make sure you have the correct access rights and the repository exists.
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

但是,如果我手动运行

./git.run
来自/ var / www目录的

;整个脚本成功运行,存储库被推送到bitbucket并进行更新。 Cron工作得很好,可执行文件正在运行并返回一个git错误,加上可执行文件在手动运行之后声音/罚款很好,这会成功推送到远程存储库。

出于测试目的,我也尝试过:

* * * * * /var/www/git.run >> /var/www/jobs.log 2>&1

然后返回已经描述的相同错误。

所有权和权限如下......

.git (repository) drwsrwsrwx for ubuntu user

git.run (script)  -rwxrwxrwx for ubuntu user

有人可以告诉我哪里出了问题!?! 谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

如果要从任何文件夹运行该脚本,可以使用以下命令修改git调用(在脚本git.run中):

git --work-tree=/var/www --git-dir=/var/www/.git xxx

xxxcommitstatus或任何其他git命令)