如何链接一个文件夹与现有的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命令可以工作。 我检查了源代码 ,它看起来像这样工作:
- 如果您通过
--app
选项(例如heroku info --app myapp
)指定应用程序名称,它将使用该应用程序。 - 如果您通过
--remote
选项(例如heroku info --remote production
)指定Git 远程名称,它将使用与该Git远程关联的应用程序。 - 如果你没有指定任何选项,并且在你的Gitconfiguration文件中设置了
heroku.remote
,它将使用与该远程相关的应用程序(例如,将默认远程设置为“production”,在你的仓库中使用git config heroku.remote production
,Heroku会运行git config heroku.remote
来读取这个设置的值) - 如果您没有指定任何选项,则gem在您的
.git/config
文件中找不到任何configuration,并且gem只会在您的Git遥控器中find一个在URL中具有“heroku.com”的遥控器,它将使用该遥控器。 - 如果这些都
--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的叉子
-
使用新的“heroku fork”命令! 它会复制所有的环境,你必须更新github回购!
heroku fork -a sourceapp targetapp
-
克隆它本地
git clone git@heroku.com:youamazingapp.git
-
在github上做一个新的回购并添加它
git remote add origin https://github.com/yourname/your_repo.git
-
推github
git push origin master
你应该很可能启动ssh-agent并添加你的密钥。 检查这个,
它帮助了我。
尝试改变你的当前目录,以Heroku的应用程序。
cd my-heroku-app
然后使用heroku cli命令。