0

我想从我的计算机创建一个完全独立的应用程序。到目前为止,我只有一个文件夹,我使用 git 将我的更新推送到 heroku。

如何创建一个完全独立的 heroku 应用程序,同时允许我在两个应用程序之间来回切换?

我想保留第一个应用程序的原样,但我想开始开发第二个应用程序作为试用版,可以灵活地返回并在第一个应用程序上工作,反之亦然。

4

2 回答 2

1

错误...我不确定您的问题是否缺少我的东西,但这应该很简单。

创建您的新应用

$ rails new yourapp
$ cd yourapp

创建存储库

$ git init
$ git add .
$ git commit -m "Initial commit"

创建、部署和打开应用程序@Heroku

$ heroku create
$ git push heroku master
$ heroku open

编辑:如果您要查找的是新 herokudomain 上的重复应用程序,请执行以下操作:

在本地复制您的应用程序文件夹并 cd 进入副本。

删除当前遥控器(原点)

git remote rm origin

添加新的遥控器

git remote add origin <URL to second heroku app>

推送到新域

git push -u origin master
于 2013-04-20T22:52:58.130 回答
0

首先,确保您的应用程序位于完全独立的目录中(一个不应该是另一个的子目录)。这样的事情很典型:

workspace
  |
  |----- my_app_1
  |         |
  |         |---- .git
  |         |       |
  |         |       |---- config
  |         |       |---- ...
  |         |      
  |         |----- app
  |         |----- Gemfile
  |         |----- ...
  |
  |----- my_app_2
  |         |
  |         |---- .git
  |         |       |
  |         |       |---- config
  |         |       |---- ...
  |         |      
  |         |----- app
  |         |----- Gemfile
  |         |----- ...
  |
  |----- ...

因此,您可能有一个workspace目录,其中包含多个 Rails 应用程序目录my_app_1my_app_2等等。这些目录中的每一个都是类似于典型 Rails-application-with-git-version-control 项目的结构。

  • 要创建一个新的 Rails 应用程序,cd请进入您的workspace目录,然后输入命令rails new my_app_x
  • 要将其初始化为 git 存储库,cd请进入新创建的 my_app_x目录并输入命令git init(后跟 a git add .; git commit -m "initial commit")。

最后,您需要确保.git/config为每个项目正确设置文件。您可能希望您的两个应用程序.git/config文件如下所示:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = false
[remote "heroku"]
    url = git@heroku.com:floating-dusk-xxxx.git
    fetch = +refs/heads/*:refs/remotes/heroku/*

另一个是这样的:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = false
[remote "heroku"]
    url = git@heroku.com:boiling-bastion-xxxx.git
    fetch = +refs/heads/*:refs/remotes/heroku/*

如果您的配置文件看起来有点不同,并且其中有一些额外的部分,那也没关系,关键部分是该部分的url下方[remote "heroku"]

然后,您可以将这两个不同的应用程序推送到两个不同的 Heroku 存储库(然后您可以通过它们各自的blah-blah-xxxx.herokuapp.comURL 导航到这两个应用程序。为了将应用程序推送到 Heroku,请确保您已cd进入正确的目录,然后输入命令git push heroku master。如果您将这些 Heroku 远程存储库所在的状态当前搞砸了,这可能无法立即工作,因此请对您遇到的任何错误发表评论。

于 2013-04-21T03:30:23.487 回答