Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 多个heroku帐户_Git_Heroku - Fatal编程技术网

Git 多个heroku帐户

Git 多个heroku帐户,git,heroku,Git,Heroku,我在计算机上使用多个Heroku帐户时遇到问题 问题是,通过与heroku gem交换帐户,它以前工作得很好。但是现在(尽管我已经生成了新的SSH密钥),它无法工作 当我推heroku master时,它只会说: my@email.com未授权访问我的应用程序名称 有人对我如何解决这个问题有什么建议吗?编辑该项目的配置,设置正确的电子邮件。从该存储库的根目录中,git config user.email我遇到了完全相同的问题 这不是答案,但临时解决方案是将您的“标准”heroku电子邮件作为合作

我在计算机上使用多个Heroku帐户时遇到问题

问题是,通过与heroku gem交换帐户,它以前工作得很好。但是现在(尽管我已经生成了新的SSH密钥),它无法工作

当我推heroku master时,它只会说:

my@email.com未授权访问我的应用程序名称


有人对我如何解决这个问题有什么建议吗?

编辑该项目的配置,设置正确的电子邮件。从该存储库的根目录中,
git config user.email

我遇到了完全相同的问题


这不是答案,但临时解决方案是将您的“标准”heroku电子邮件作为合作者添加到您无法访问的应用程序中。

我使用heroku帐户插件解决了这个问题

有关说明,请参见此处


你必须被接纳为你不拥有的项目的合作者

它的工作原理如下(使用git):

  • 项目的所有者转到heroku的控制台进行项目
  • 所有者添加合作者的电子邮件地址(用于注册合作者的电子邮件地址)
  • 合作者在其帐户中设置其公共安全密钥(如果他尚未设置)
  • 协作者将另一个项目添加并设置为另一个远程项目

  • 这应该是所有的人;在另一个应用程序上部署时,只需推送另一个远程应用程序。

    您需要确保使用了正确的ssh密钥

    实现这一点的方法(以及heroku帐户插件提示您的方法)是在~/.ssh/config中向ssh配置文件添加一个部分。例如,对于我的工作heroku帐户,我的ssh配置中有以下内容:

    Host heroku.work
      HostName heroku.com
      IdentityFile ~/.ssh/id_heroku_work_rsa
      IdentitiesOnly yes
    
    现在,这一点至关重要,您需要确保git remote设置为使用同一命名主机。在本例中,它是heroku.work。通常情况下,如果您只使用一个帐户,那么它将是heroku.com

    因此,您需要编辑git remote(您可以在机器上repo的
    .git/config
    文件中进行编辑)。将文件更改为如下所示:

     [remote "heroku"]
       url = git@heroku.work:<appname>.git
    
    [远程“heroku”]
    url=git@heroku.work:.吉特
    

    注意heroku。工作,而不是heroku。com,并替换为heroku上你的应用程序名(即你的回购名)。

    我想补充几件事。。。本例假设您先前存在的heroku帐户为heroku.work,并且您正在添加一个新帐户heroku.personal

    它还描述了如何将一个应用程序从一个移动到另一个,例如,如果您已达到最大25个应用程序,并且正在创建一个新帐户,并且希望将一些辅助项目和实验应用程序移出主帐户

  • 您可能需要使用该插件创建旧帐户和新帐户,例如,如果您有一个新帐户,您不能只添加一个新的heroku.personal,您需要创建heroku.work来替换旧帐户
  • 您需要将旧应用重新分配到heroku.work
  • 如果您正在移动应用程序,请在使用heroku
    共享
    命令传输应用程序之前,不要将应用程序分配给heroku.personal(使用
    heroku帐户:设置个人
  • 因此,您可能需要采取以下步骤:

  • 安装heroku帐户插件
  • 访问heroku.com并创建新帐户(如果您还没有第二个帐户)
  • 运行
    heroku帐户:添加工作--auto
    创建一个新的heroku.work帐户以替换旧的默认帐户(因此使用您一直使用的相同凭据)。您还需要将新密钥上载到heroku:
    heroku密钥:add~/.ssh/identity.heroku.work.pub
  • 运行heroku帐户:添加个人--auto以创建新的heroku.personal帐户(例如为新的heroku帐户使用新凭据)。您还需要将新密钥上载到heroku:
    heroku密钥:add~/.ssh/identity.heroku.personal.pub
  • 对于每个应用程序,将cd刻录到项目根目录,然后运行
    heroku accounts:set work
    (所有操作都会将git设置为使用您的heroku.work,这与您一直使用的heroku帐户相同,只是现在它被称为heroku.work)
  • 如果要将应用程序从heroku.work移动到heroku.personal,(a)将新的heroku帐户添加为具有
    heroku共享的合作者:添加
    (b)在本地目录中,使用
    heroku帐户:设置个人
    (c)将应用程序切换到heroku.personal使用
    heroku共享:transfer
    将**应用程序从旧帐户转移到新帐户,然后(d)使用
    heroku共享:remove

  • **请注意,我提供的heroku链接说,移动带有任何付费资源的应用程序有特殊要求。一般来说,删除付费资源,然后再添加回来,或者让支持人员执行此操作。

    我开始使用heroku帐户插件,但后来意识到我的好友可以让我在他的heroku帐户上成为合作者,仅此而已这是必需的。

    我正在使用win7

    1)在win7中创建另一个用户帐户并登录

    2)打开git bash并登录到新的heroku帐户

    3)创建并上载新的RSA密钥(此处的说明:)

    4)然后做任何你想做的事情(创建新的应用程序,将文件推送到其中……)


    5) 每次您需要使用您的原始heroku帐户时,只需登录到您的原始win用户帐户并使用heroku

    即可使用Git和heroku控制台,我必须按照bantic的指示添加并创建ssh配置,但我还必须在我的.Git配置中创建两个远程:

    [remote "origin"]
      url = git@heroku.work:pacific-rock-4904.git
      fetch = +refs/heads/*:refs/remotes/heroku/*
    [remote "heroku"]
      url = git@heroku.com:pacific-rock-4904.git
        fetch = +refs/heads/*:refs/remotes/heroku/*
    

    为新电子邮件创建新的公钥/私钥,如下所示

    1) ssh-keygen-t rsa-C“mvjohn@klairvoynat.com"

    2) 提供
    $ ssh user1@localhost
    
    $ heroku login
    $ heroku keys:add
    
    $ heroku accounts:set account_name
    
    #!/bin/bash
    /usr/bin/heroku accounts:set account_name
    /usr/bin/heroku $*
    
     heroku plugins:install heroku-accounts
    
    $ heroku accounts:add personal
      Enter your Heroku credentials.
      Email: david@heroku.com
      Password: ******
    
    $ heroku accounts
      * personal
        work
    
    heroku accounts:set personal
    
    $ heroku accounts:current
      personal
    
    $ heroku accounts:remove personal
      Account removed: personal