![自动 git push 尝试不起作用 - 身份验证问题](https://linux22.com/image/1382893/%E8%87%AA%E5%8A%A8%20git%20push%20%E5%B0%9D%E8%AF%95%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%20-%20%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E9%97%AE%E9%A2%98.png)
我正在尝试使用 OS X 10.8.5 下的 shell 脚本和 cron 来自动化非常周期性的 git add/commit/push 循环。该脚本与人们期望的一样基本:
cd /my/directory
git add .
git commit -m "a commit message with the date"
git push -u origin master
我尝试以 root 和非 root 用户身份运行它。当我手动执行此操作时,OS X 会弹出一个对话框,要求我验证操作。
运行该脚本(使用 cron 或仅使用sh
)最终会mail
向执行该脚本的用户发送一条消息(通过) ,提示由于权限问题(最有可能是手动执行需要身份验证)而cron
无法在目录中写入文件。.git
有什么方法可以规避这个问题,或者授予脚本执行此操作的权限,而无需我每次都进行干预?
答案1
首先,确保你的 git 目录位于你具有完全读写权限的地方。如果必须,chmod -R 777 /my/directory
然后,使用 gitbashssh 密钥为将来的连接生成安全路径
然后再次尝试你的脚本