web-dev-qa-db-ja.com

既存のHerokuアプリとフォルダをリンクする方法

私はGitHubに既存のRailsアプリを持っていて、Herokuにデプロイしました。私は新しい開発マシンをセットアップしようとしていて、私のGitHubリポジトリからプロジェクトを複製しました。しかし、私はこのフォルダをHerokuにリンクする方法について混乱しています。元々、私はheroku createコマンドを使用しましたが、それは別のHerokuインスタンスを作成するので、明らかに今回はそれをしたくありません。

767
Kevin Pang

Herokheroku gitリモートに基づいてプロジェクトをリンクします(およびその他のいくつかのオプションについては、以下の更新を参照してください)。 Herokuリモートを現在のリポジトリのリモートとして追加するには、次のコマンドを使用します。

git remote add heroku [email protected]:project.git

ここで、projectはHerokuプロジェクトの名前です(project.heroku.comサブドメインと同じ)。そうしたら、heroku xxxxコマンドを使用して( Heroku Toolbelt がインストールされていると仮定して)、git Push heroku masterを介して通常どおりHerokuにプッシュできます。ショートカットとして、コマンドラインツールを使用している場合は、次のように入力できます。

heroku git:remote -a project

ここでも、projectはHerokuプロジェクトの名前です(ありがとう、 Colonel Panic )。 -r remote_nameを渡すことで、Gitリモートに任意の名前を付けることができます。

[更新]

コメントでBenが言及したように、gemコマンドが機能するために、リモートにherokuという名前を付ける必要はありません。 ソース をチェックしたところ、次のように動作しているようです:

  1. --appオプションを使用してアプリ名(たとえばheroku info --app myapp)を指定すると、そのアプリが使用されます。
  2. --remoteオプションを使用してGitremote名(たとえば、heroku info --remote production)を指定すると、そのGitリモートに関連付けられたアプリが使用されます。
  3. オプションを指定せず、Git構成ファイルにheroku.remoteが設定されている場合、そのリモートに関連付けられたアプリを使用します(たとえば、デフォルトのリモートを「本番」に設定するには、リポジトリでgit config heroku.remote productionを使用し、Herokuはgit config heroku.remoteを実行しますこの設定の値を読み取ります)
  4. オプションを指定しない場合、gemは.git/configファイルで設定を検出せず、gemはURLに「heroku.com」を含むGitリモートで1つのリモートのみを検出し、そのリモートを使用します。
  5. これらのいずれも機能しない場合は、--appをコマンドに渡すように指示するエラーが発生します。
1187
Michelle Tilley

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 を参照してください。

200
Colonel Panic

以前にherokuをセットアップしたことがないマシンにもいる場合は、忘れないでください

heroku keys:add

またはレポをプッシュしたりプルしたりすることはできません。

142
Ghoti

Herokuのフォークを使う

  1. 新しい「heroku fork」コマンドを使用してください。それは全ての環境をコピーするでしょう、そしてあなたは後にgithubリポジトリを更新しなければなりません!

    heroku fork -a sourceapp targetapp
    
  2. ローカルにクローンする

    git clone [email protected]:youamazingapp.git
    
  3. Githubに新しいレポを作成して追加する

    git remote add Origin https://github.com/yourname/your_repo.git
    
  4. Githubを押す

    git Push Origin master
    
3
msroot

おそらくssh-agentを起動して鍵を追加するべきです。これをチェックして、

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

それは私を助けました。

2
Stranger

私はgithubとherokuで私のプロジェクトをアップロードしました。

heroku git:remote -a <project>

ドキュメントはそれです:

https://devcenter.heroku.com/articles/git

古いアプリケーション用に新しいデプロイシステムを設定する際に注意する2つのこと

  1. アプリがHeroku(特にアプリ)へのアクセスを確認するには

    Herokuアプリ

初めて設定した場合は、アクセス可能なアプリが一覧表示されます。

heroku keys:add
  1. それから、あなたのgitリモートをセットアップしてください既に作成されたHerokuアプリケーションのために、あなたは簡単にあなたのローカルリポジトリにHeroku git:remoteコマンドを使ってリモートを追加することができます。 Herokuアプリの名前だけが必要です。

    Heroku git:remote -a appName

git remote renameコマンドであなたのリモート名を変更することもできます。

gitリモートリネームheroku heroku-dev(あなたは希望するアプリ名)

その後、git remoteコマンドを使用して、アプリにリモコンが設定されていることを確認できます。

 git remote -v
0
Rohit Sureka