如何解决从GCP VM执行git push时,Google Source Repository错误
我正在尝试将虚拟存储库上载到Google Source Repository。我这样做是为了学习如何使用它。我所做的步骤是:
-
打开GCP VM,创建名为
test_git
的目录并运行git init
-
有一个
git add <file>
-
有一个
git commit
-
转到Google Source Repository,创建一个空的存储库(名称与目录相同),然后在VM上执行
git remote add google ssh://<my@email.com>@source.developers.google.com/p/<PROJECTID>/r/test_git
此命令在源存储库中的“ Push code from local git repository
下找到
-
git push --all google
执行此操作时,出现错误消息Permission denied (publickey). fatal: Could not read from remote repository
。
老实说,我不明白这一点,因为大约40分钟前,我为某个实际代码(只是一个python文件)做了一个git push
并且它确实有效(也许是因为天使允许了)。现在,我遵循了一些指南,阅读了有关如何使用git和所有东西的信息,我对此感到困惑,并且我不明白为什么。我还设置了一个SSH密钥(由PuTTY
生成)并进行了注册,但是没有成功。我在做什么错了?
解决方法
当我没有在CSR上配置SSH密钥时,我能够复制您的问题。 Here's a post与您的担忧有关,建议您仔细检查托管的SSH密钥。
如果PuTTY的SSH密钥不起作用,则可以尝试使用终端生成新的SSH密钥(如果使用的是Windows,请使用Git Bash):
- 打开终端。
- 在下面粘贴文本:
ssh-keygen -t rsa -C "your_email@example.com"
- 输入要在其中保存密钥的文件(保留为空,然后按Enter作为默认值)。
- 键入一个安全密码短语(推荐),然后按Enter。
- 如果在步骤3中选择了 default ,请打开名为
id_rsa.pub
的文件,然后在Cloud Source Repository上注册SSH密钥时将整个文本粘贴到 Key 。对于键名,应该易于记忆,以备将来参考。
或者,您也可以按照此documentation通过 HTTPS 而不是 SSH 进行连接,并运行凭据帮助程序脚本,因此您不需要配置SSH密钥:
Windows:
git config --global credential.https://source.developers.google.com.helper gcloud.cmd
Linux或MacOS:
git config --global credential.'https://source.developers.google.com'.helper gcloud.sh
如果您想更深入地研究凭证助手,这里是reference。
可以帮助您解决问题的另一件事是通过运行以下命令来检查Git配置:
git config --list
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。