从私有Git存储库推送/拉出的Bash脚本?

Pet*_*ter 6 git bash github git-bash

我正在尝试找到一种方法,我可以编写一个bash脚本,每隔午夜从我们的私有Github存储库自动提取并更新我们的开发站点.

由于显而易见的原因,我们的回购是私有的,我发现的任何接近的东西总是要求密码.我们的服务器有它自己的Github帐户,它用于从存储库推送和拉取,但我只是不知道如何自动执行此操作.

谁能指出我正确的方向?

djs*_*djs 10

为了自动化您的推/拉,您需要设置无密码身份验证.为此,您使用ssh(而不是https).如果您之前没有使用过ssh和github,那么您需要执行一些步骤来配置内容.

在您的计算机上,生成一个ssh密钥:

$ ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)

确保将密码字段留空.这使得本地私钥不加密,但对于通过互联网的实际通信而言同样安全.

然后,~/.ssh/id_rsa.pub在"帐户设置"下上传到github SSH密钥

现在你应该可以在没有密码的情况下从那台机器上推拉.试试看:

git clone git@github.com:user/repo.git
Run Code Online (Sandbox Code Playgroud)

然后,您可以根据需要将这些命令放在bash脚本中.如果您需要为多台计算机执行此操作,则需要上载每个密钥,或将私钥(~/.ssh/id_rsa)复制到每个密钥.

有关详细信息,请参阅github 帮助.另请查看部署密钥页面,因为这可以为您的情况提供更好的安全粒度.