请注意,这是我一直关注的原始文章:
http://www.markdotto.com/2011/11/02/how-to-deploy-sites-via-github/
为您提供一些背景信息:我们在组织帐户下设置了私人仓库。我们有三个开发人员(包括我自己),他们拥有我们自己的GitHub帐户,并拥有私人仓库的管理员权限。
在处理项目时,我们克隆了repo,然后创建了一个'dev'分支。我们每个人都在我们自己的开发分支工作,并将更改推送到GitHub上的'dev'分支。
我们希望将这个dev分支放到我们的远程服务器上,这样我们就可以在将它合并到我们的主分支(应该是干净的/总是可部署的)之前测试组合代码的工作原理。
从这里开始,我们按照上面的文章步骤通过SSH连接到我们的服务器,转到托管我们网站的相关目录并运行以下命令......
git clone git@github.com:ORGANISATION/REPO.git dev
我们遇到的第一个问题是我们的服务器返回了消息......
Cloning into dev...
ssh: connect to host github.com port 22: Connection refused
fatal: The remote end hung up unexpectedly
...在哪里,我希望它能要求我们输入密码?
所以我们尝试了HTTP网址...
git clone https://USER@github.com/ORGANISATION/REPO.git dev
...您会注意到,在克隆时,HTTP网址会立即使用我自己的USERNAME。我输入密码并显示Cloning into dev...
,但随后显示以下错误...
error: SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://Integralist@github.com/StormCreative/MoneyRepublic.com.git/info/refs
fatal: HTTP request failed
......我不明白错误。
那么我们如何将这个私人仓库克隆到我们的服务器上呢?
任何帮助表示赞赏!
亲切的问候, 标记
答案 0 :(得分:11)
第一个问题发生是因为您没有在GitHub上链接到您的帐户的本地rsa密钥(是的,您将rsa密钥链接到您的帐户,并且该组织也链接到您的帐户)。
在您尝试克隆存储库的本地计算机(或远程服务器)中,您需要生成一个rsa密钥:
ssh-keygen -t rsa
当您生成密钥时,您选择了一个密码和一个存储id_rsa.pub文件的位置,该文件实际上包含密钥。
在GitHub上,您需要将此密钥(id_rsa.pub的确切内容)添加到您帐户管理面板上的ssh密钥中。
答案 1 :(得分:0)
我不确定我是否可以帮助您解决看起来像SSL问题的错误。但我可以建议你另一种方法。我以这种方式将我的博客部署到我的服务器:
如果您需要,我可以为您提供我收到后挂钩的要点。如果您的网站位于rails中,则可以使用Capistrano进行部署。
编辑:这是我的收件后挂钩
GIT_REPO=$HOME/aliirz.git
PUBLIC_WWW=/var/www/myrepo
git clone $GIT_REPO $PUBLIC_WWW
exit
此致
编辑:上面的drgomesp答案完全是解决方案。我不介意你需要将你的SSH密钥与Github联系起来。