从GCP VM执行git推送时出现Google源存储库错误

从GCP VM执行git推送时出现Google源存储库错误,git,google-cloud-platform,google-compute-engine,google-source-repositories,Git,Google Cloud Platform,Google Compute Engine,Google Source Repositories,我正在尝试将虚拟存储库上载到Google源存储库。我这样做是为了学习如何使用它。我采取的步骤是: 打开一个GCP虚拟机,创建一个名为test\u git的目录,然后运行git init 创建了几个文件和文件夹。编辑文件 git是否添加了 git提交了 转到Google Source Repository,创建了一个空的存储库(与目录同名),然后在VM上创建了 git远程添加googlessh://@source.developers.google.com/p//r/test\u git

我正在尝试将虚拟存储库上载到Google源存储库。我这样做是为了学习如何使用它。我采取的步骤是:

  • 打开一个GCP虚拟机,创建一个名为
    test\u git
    的目录,然后运行
    git init

  • 创建了几个文件和文件夹。编辑文件

  • git是否添加了

  • git提交了

  • 转到Google Source Repository,创建了一个空的存储库(与目录同名),然后在VM上创建了

    git远程添加googlessh://@source.developers.google.com/p//r/test\u git

  • 此命令位于源存储库中的“
    从本地git存储库推送代码”
    ”下

  • git推送了吗?全部是谷歌推送的
  • 当我这样做时,我会得到一个错误,上面写着
    权限被拒绝(publickey)。致命:无法从远程存储库读取


    我真的不明白,因为大约40分钟前,我为一些实际的代码(只有一个python文件)做了一个
    git推送
    ,而且它确实有效(可能是因为angels允许)。现在,我遵循了一些指南,阅读了关于如何使用git和所有的东西,我被这个问题困扰,我不明白为什么。我还设置了一个SSH密钥(使用PuTTY生成)并注册了它,但它不起作用。我做错了什么?

    当我没有在CSR上配置SSH密钥时,我能够复制您的问题。我建议您仔细检查托管SSH密钥

    如果PuTTY的SSH密钥不起作用,那么您可以尝试使用terminal生成新的SSH密钥(如果您使用的是Windows,请使用Git Bash):

  • 打开终端
  • 在下面粘贴文本:
  • 输入保存密钥的文件(保留为空并按Enter键作为默认值)
  • 键入安全密码短语(推荐),然后按enter键
  • 如果在步骤3中选择了default,则在云源存储库上注册SSH密钥时,打开名为
    id_rsa.pub
    的文件,并将整个文本粘贴到Key。对于键名,它应该是便于您记住的内容,作为将来的参考
  • 或者,您也可以按照此操作通过HTTPS而不是SSH进行连接,并运行凭证帮助器脚本,这样您就不需要配置SSH密钥:

    窗口:

    git config --global credential.https://source.developers.google.com.helper gcloud.cmd
    
    git config --global credential.'https://source.developers.google.com'.helper gcloud.sh
    
    Linux或MacOS:

    git config --global credential.https://source.developers.google.com.helper gcloud.cmd
    
    git config --global credential.'https://source.developers.google.com'.helper gcloud.sh
    
    如果您想更深入地了解凭证助手,这里有一个示例

    另一个可以帮助您解决问题的方法是通过运行以下命令查看Git配置:

    git config --list
    

    当我没有在CSR上配置SSH密钥时,我能够复制您的问题。我建议您仔细检查托管SSH密钥

    如果PuTTY的SSH密钥不起作用,那么您可以尝试使用terminal生成新的SSH密钥(如果您使用的是Windows,请使用Git Bash):

  • 打开终端
  • 在下面粘贴文本:
  • 输入保存密钥的文件(保留为空并按Enter键作为默认值)
  • 键入安全密码短语(推荐),然后按enter键
  • 如果在步骤3中选择了default,则在云源存储库上注册SSH密钥时,打开名为
    id_rsa.pub
    的文件,并将整个文本粘贴到Key。对于键名,它应该是便于您记住的内容,作为将来的参考
  • 或者,您也可以按照此操作通过HTTPS而不是SSH进行连接,并运行凭证帮助器脚本,这样您就不需要配置SSH密钥:

    窗口:

    git config --global credential.https://source.developers.google.com.helper gcloud.cmd
    
    git config --global credential.'https://source.developers.google.com'.helper gcloud.sh
    
    Linux或MacOS:

    git config --global credential.https://source.developers.google.com.helper gcloud.cmd
    
    git config --global credential.'https://source.developers.google.com'.helper gcloud.sh
    
    如果您想更深入地了解凭证助手,这里有一个示例

    另一个可以帮助您解决问题的方法是通过运行以下命令查看Git配置:

    git config --list
    

    这个部分实际上起了作用。但是为什么呢?我确实运行了你发布的命令,但我不知道它是否有任何作用。我运行
    git remote add google\https://source.developers.google.com/p/[PROJECT\u ID]/r/[REPO\u NAME]
    然后两者都
    git-push——所有的google
    git-push-u-google-master
    都工作了。为什么?当您遵循此命令时,您将存储库添加为远程存储库,然后就可以推送到Google云存储库。请注意,在您的
    remote add
    命令中,您正在使用
    https
    而不是
    ssh
    进行连接。此部件所需的凭据由帮助程序脚本提供。该部件实际工作。但是为什么呢?我确实运行了你发布的命令,但我不知道它是否有任何作用。我运行
    git remote add google\https://source.developers.google.com/p/[PROJECT\u ID]/r/[REPO\u NAME]
    然后两者都
    git-push——所有的google
    git-push-u-google-master
    都工作了。为什么?当您遵循此命令时,您将存储库添加为远程存储库,然后就可以推送到Google云存储库。请注意,在您的
    remote add
    命令中,您正在使用
    https
    而不是
    ssh
    进行连接。此部件所需的凭据由助手脚本提供。