Google 从 GCP VM 执行 git 推送时出现源存储库错误
Google Source Repository error when doing git push from GCP VM
我正在尝试将虚拟存储库上传到 Google 源存储库。我这样做是为了学习如何使用它。我做的步骤是:
打开一个 GCP VM,创建了一个名为 test_git
和 运行 git init
的目录
创建了几个文件和文件夹。编辑了文件。
做了一个git add <file>
做了一个git commit
转到 Google 源存储库,创建一个空存储库(与目录同名),然后在 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"
- 输入一个保存密钥的文件(为默认值留空并按回车键)。
- 输入安全密码(推荐)然后按回车键。
- 如果在步骤 3 中选择了 default,打开名为
id_rsa.pub
的文件并将整个文本粘贴到 Key在 Cloud Source Repository 上注册 SSH 密钥。对于Key Name,应该是你容易记住的,方便以后参考。
或者作为替代方案,您可以按照此 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
我正在尝试将虚拟存储库上传到 Google 源存储库。我这样做是为了学习如何使用它。我做的步骤是:
打开一个 GCP VM,创建了一个名为
的目录test_git
和 运行git init
创建了几个文件和文件夹。编辑了文件。
做了一个
git add <file>
做了一个
git commit
转到 Google 源存储库,创建一个空存储库(与目录同名),然后在 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"
- 输入一个保存密钥的文件(为默认值留空并按回车键)。
- 输入安全密码(推荐)然后按回车键。
- 如果在步骤 3 中选择了 default,打开名为
id_rsa.pub
的文件并将整个文本粘贴到 Key在 Cloud Source Repository 上注册 SSH 密钥。对于Key Name,应该是你容易记住的,方便以后参考。
或者作为替代方案,您可以按照此 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