如何链接一个文件夹与现有的Heroku应用程序

我在GitHub上有一个现有的Rails应用程序,并部署在Heroku上。 我试图build立一个新的开发机器,并从我的GitHub仓库克隆项目。 但是,我很困惑如何将这个文件夹链接到Heroku。 最初,我使用了heroku create命令,但显然我不想这样做,因为它会创build另一个Heroku实例。

Heroku基于heroku git remote(和其他一些选项,请参阅下面的更新)链接您的项目。 要将Heroku远程添加为当前存储库中的远程,请使用以下命令:

 git remote add heroku git@heroku.com:project.git 

其中project是您的Heroku项目的名称(与project.heroku.com子域相同)。 一旦你这样做了,你可以使用heroku xxxx命令(假设你已经安装了Heroku Toolbelt ),并可以像平常一样通过git push heroku master推送到Heroku。 作为一个捷径,如果你使用的是命令行工具,你可以input:

 heroku git:remote -a project 

在那里, project是你的Heroku项目的名字(谢谢, Panic上校 )。 你可以通过传递-r remote_name命名Git远程任何你想要的-r remote_name

[更新]

正如在评论中提到的那样,远程并不需要命名为heroku以使gem命令可以工作。 我检查了源代码 ,它看起来像这样工作:

  1. 如果您通过--app选项(例如heroku info --app myapp )指定应用程序名称,它将使用该应用程序。
  2. 如果您通过--remote选项(例如heroku info --remote production )指定Git 远程名称,它将使用与该Git远程关联的应用程序。
  3. 如果你没有指定任何选项,并且在你的Gitconfiguration文件中设置了heroku.remote ,它将使用与该远程相关的应用程序(例如,将默认远程设置为“production”,在你的仓库中使用git config heroku.remote production ,Heroku会运行git config heroku.remote来读取这个设置的值)
  4. 如果您没有指定任何选项,则gem在您的.git/config文件中找不到任何configuration,并且gem只会在您的Git遥控器中find一个在URL中具有“heroku.com”的遥控器,它将使用该遥控器。
  5. 如果这些都--app ,则会引发一个错误,指示您将--app传递给您的命令。

Heroku CLI有一个简单的捷径。 对于名为“falling-wind-1624”的应用:

 $ heroku git:remote -a falling-wind-1624 Git remote heroku added. 

请参阅https://devcenter.heroku.com/articles/git#creating-a-heroku-remote

不要忘了,如果你还在一台你以前没有设置过heroku的机器上

 heroku keys:add 

否则你将无法推动或回到回购。

使用heroku的叉子

  1. 使用新的“heroku fork”命令! 它会复制所有的环境,你必须更新github回购!

     heroku fork -a sourceapp targetapp 
  2. 克隆它本地

     git clone git@heroku.com:youamazingapp.git 
  3. 在github上做一个新的回购并添加它

     git remote add origin https://github.com/yourname/your_repo.git 
  4. 推github

     git push origin master 

你应该很可能启动ssh-agent并添加你的密钥。 检查这个,

http://wordgraphs.com/post/5000/Heroku–Permission-denied–publickey—fatal–Could-not-read-from-remote-repository-

它帮助了我。

尝试改变你的当前目录,以Heroku的应用程序。

 cd my-heroku-app 

然后使用heroku cli命令。