如何从客户端设置每10分钟一次的自动git推送;s服务器?

如何从客户端设置每10分钟一次的自动git推送;s服务器?,git,ssh,crontab,Git,Ssh,Crontab,我要和一个客户完成一个项目。我正在使用github存储所有文件。在我退出项目后,他自然会通过CMS进行更新,上传新图片等 我担心六个月或一年后,如果出现问题,我们将处于一个糟糕的境地,因为这将是一整年左右的变化,没有任何git提交(同样,这是一个客户端。我不希望他使用SSH连接并运行git命令。)我正在尝试设置一个每小时运行的crontab作业,它将添加所有内容,提交它,并将其推到github。我遇到的问题是,它要求输入我的用户名和密码,但失败了。我如何设置它,以便我的客户端服务器可以将更改推送

我要和一个客户完成一个项目。我正在使用github存储所有文件。在我退出项目后,他自然会通过CMS进行更新,上传新图片等

我担心六个月或一年后,如果出现问题,我们将处于一个糟糕的境地,因为这将是一整年左右的变化,没有任何git提交(同样,这是一个客户端。我不希望他使用SSH连接并运行git命令。)我正在尝试设置一个每小时运行的crontab作业,它将添加所有内容,提交它,并将其推到github。我遇到的问题是,它要求输入我的用户名和密码,但失败了。我如何设置它,以便我的客户端服务器可以将更改推送到github repo,而不必危及我的安全性

这是我到目前为止所拥有的

0 * * * * cd ~/clientswebsite.com/; git add -u; git commit -m "Cron job"; git push --verbose > log.txt

您有两种选择,但本质上,您必须开始使用SSH密钥身份验证,而不是用户名/密码身份验证

选项取决于您希望使用该键识别的内容。对于您的情况,我会说它要么是部署密钥(绑定到一台机器),要么是机器用户(绑定到一个特定的用户帐户,可能是跨机器)


有关详细信息,请参阅这篇GitHub文章:

您有两个选项,但本质上,您必须开始使用SSH密钥身份验证,而不是用户名/密码身份验证

选项取决于您希望使用该键识别的内容。对于您的情况,我会说它要么是部署密钥(绑定到一台机器),要么是机器用户(绑定到一个特定的用户帐户,可能是跨机器)


有关详细信息,请参阅这篇GitHub文章:

如果客户端删除或重命名一个文件,这不会失败吗?我不确定是否有一种不将git连接到webdav或其他东西的好方法,这就是git add中的-u参数的用途。不我忽略了什么吗?
-u
不会添加新文件。使用
-A
。还记得在没有更改的情况下处理(默认情况下提交应该失败)。为什么不简单地使用
git add*
?如果客户端删除或重命名文件,这不会失败吗?我不确定是否有一种不将git连接到webdav或其他东西的好方法,这就是git add中的-u参数的用途。不我忽略了什么吗?
-u
不会添加新文件。使用
-A
。还记得在没有更改的情况下处理这个问题(默认情况下提交应该失败)。为什么不使用
git add*
,很简单?非常感谢。在阅读了这篇文章和它链接到的其他几篇文章之后,我发现:非常感谢。在阅读了这篇文章和它链接到的其他几篇文章之后,我发现:D