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

Kev*_*ang 794 git heroku

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

Mic*_*ley 1207

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

git remote add heroku git@heroku.com:project.git
Run Code Online (Sandbox Code Playgroud)

project您的Heroku项目的名称在哪里(与project.heroku.com子域相同).完成后,您可以使用heroku xxxx命令(假设您安装了Heroku Toolbelt),并且可以像往常一样推送到Heroku git push heroku master.作为一种快捷方式,如果您使用的是命令行工具,则可以键入:

heroku git:remote -a project
Run Code Online (Sandbox Code Playgroud)

再次,project你的Heroku项目的名称(谢谢,Panic上校).您可以通过传递将Git遥控器命名为您想要的任何名称-r remote_name.

[更新]

正如Ben在评论中所提到的,远程不需要命名heroku为gem命令才能工作.我检查了源代码,看起来它的工作原理如下:

  1. 如果您通过--app选项(例如heroku info --app myapp)指定应用程序名称,它将使用该应用程序.
  2. 如果您通过选项(例如)指定Git 远程名称,它将使用与该Git远程关联的应用程序.--remoteheroku info --remote production
  3. 如果您没有指定选项并且已heroku.remote在Git配置文件中设置,则它将使用与该遥控器关联的应用程序(例如,git config heroku.remote production在您的存储库中将默认远程设置为"生产"使用,并且Heroku将运行git config heroku.remote以读取该值这个设置)
  4. 如果你没有指定选项,那么gem在你的.git/config文件中找不到任何配置,并且gem只在你的Git遥控器中找到一个遥控器,在URL中有"heroku.com",它将使用该遥控器.
  5. 如果这些都不起作用,则会引发错误,指示您传递--app给您的命令.

  • 此外,对于多个heroku分支,您可以使用`$ git config heroku.remote <appname>`来设置默认应用程序,以便您可以为该应用程序使用终端命令. (3认同)
  • 注意:Heroku 现在在项目概述中对其进行了描述:导航到 https://dashboard.heroku.com/,单击您的应用程序,然后切换到“部署”选项卡并选择部署方法“Heroku git”(默认选择) 。然后,您将获得有关如何将现有文件夹/git 与 Heroku 连接的说明。 (2认同)

Col*_*nic 216

Heroku的CLI有这样的一个简单的快捷键.对于名为'falling-wind-1624'的应用:

$ heroku git:remote -a falling-wind-1624
Git remote heroku added.
Run Code Online (Sandbox Code Playgroud)

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

  • 您可以通过传递“-r other_remote_name”来命名远程任何您想要的名称 (2认同)
  • 即使您已经将Heroku应用程序直接连接到GitHub,这仍然是正确的方法。请注意,它不会覆盖您的“原始”遥控器;它会创建一个“ heroku”遥控器。 (2认同)

Gho*_*oti 142

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

heroku keys:add
Run Code Online (Sandbox Code Playgroud)

或者你将无法推动或拉动回购.

  • 哦,是的!这对我也有帮助.我有一个应用程序,我们开始基本,然后分叉"heroku"进入"分期"和"生产".所以我做了`git remote add staging git@staging.xx:yy.git`和`git remote add production git@production.xx:yy.git` - 但这还不够.当我试图做`git push staging master`(或制作)时,我会得到"Permission denied(publickey).致命:远程端意外挂断".是什么修复了这个错误``heroku keys:添加`作为Ghoti提到. (3认同)

Wae*_*fan 15

heroku login 

git init

heroku git:remote -a app-name123
Run Code Online (Sandbox Code Playgroud)

然后检查远程仓库:

git remote -v
Run Code Online (Sandbox Code Playgroud)


小智 5

为旧App设置新的部署系统时需要注意的两件事

1.检查您对Heroku的应用程序访问权限(尤其是该应用程序)

heroku apps
Run Code Online (Sandbox Code Playgroud)

如果您是首次设置,它将列出您有权访问的应用程序,您可能需要

heroku keys:add
Run Code Online (Sandbox Code Playgroud)

2.然后设置您的git remote

对于已经创建的Heroku应用程序,您可以使用以下heroku git: remote命令轻松地将远程添加到本地存储库。您需要的只是Heroku应用的名称:

heroku git:remote -a appName
Run Code Online (Sandbox Code Playgroud)

您还可以使用git remote named命令重命名遥控器:

git remote rename heroku heroku-dev(you desired app name)
Run Code Online (Sandbox Code Playgroud)

然后您可以使用git remote命令来确认已为您的应用设置了远程

 git remote -v
Run Code Online (Sandbox Code Playgroud)