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

时间:2012-05-02 20:46:56

标签: git bash github git-bash

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

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

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:9)

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

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

$ ssh-keygen -t rsa

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

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

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

git clone git@github.com:user/repo.git

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

有关详情,请参阅github help。另请查看deploy keys页面,因为这可能会为您的情况提供更好的安全粒度。