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


815

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

回答:


1243

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

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

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

heroku git:remote -a project

ここでも、projectHerokuプロジェクトの名前です(ありがとう、パニック大佐)。渡すことで、Gitリモートに任意の名前を付けることができます-r remote_name

[更新]

Benがコメントで述べたようherokuに、gemコマンドが機能するためにリモートに名前を付ける必要はありません。ソースを確認したところ、次のように機能しているようです。

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

上記の「ソース」へのリンクが機能しません。多分このページを試してください:devcenter.heroku.com/articles/using-the-cli- 私はそこのドキュメントでは十分ではないと思います。
Purplejacket 2011

1
このheroku git:remote方法を使用する場合は、heroku toolbelt cliを使用していること、およびheroku gemがまだシステムにインストールされていないことを確認してください(古いgemでは私には機能しなかったようです)。
Pierre-Adrien Buisson 2013年

3
また、複数のherokuブランチの場合、を使用$ git config heroku.remote <appname>してデフォルトのアプリを設定できるため、そのアプリのターミナルコマンドを使用できます。
Sheharyar 2013

1
httpを使用する場合heroku login、リモートは次の形式になりますhttps://git.heroku.com/project-name.git
max pleaner

1
注:Herokuのは、今のプロジェクト概要でそれを説明します。移動をするdashboard.heroku.com、そして、あなたのアプリをクリックし、「デプロイ」タブに切り替え、展開方法(デフォルトで選択)、「Herokuのgitの」を選択します。次に、既存のfolder / gitをHerokuに接続する方法について説明します。
便利な

230

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


1
! Resource not found
グリーン

1
渡すことで、リモートに任意の名前を付けることができます-r other_remote_name
MasterScrat

2
HerokuアプリをGitHubに直接接続している場合でも、これは正しい方法です。「元の」リモートを上書きしないことに注意してください。代わりに「heroku」リモートを作成します。
Seth

144

これまでにherokuを設定したことがないマシンを使用している場合もお忘れなく

heroku keys:add

または、レポにプッシュまたはプルできなくなります。


3
そうそう!それも私を助けました。基本的なものから「ステージ」と「プロダクション」に分岐したアプリがありました。だから私はそうgit remote add staging git@staging.xx:yy.gitしましたgit remote add production git@production.xx:yy.git-しかしそれは十分ではありませんでした。実行git push staging master(または本番)しようとすると、「アクセスが拒否されました(公開鍵)。致命的:リモートエンドが予期せずハングアップしました」と表示されます。heroku keys:addGhotiが言及するように、そのエラーを修正したのは、そうすることでした。
Purplejacket 2011

8

古いアプリの新しい展開システムをセットアップするときに注意すべき2つのこと

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

heroku apps

初めてセットアップする場合にアクセスできるアプリが一覧表示されます。おそらく、

heroku keys:add

2.次に、gitリモートをセットアップします。

すでに作成されているHerokuアプリの場合、heroku git: remoteコマンドを使用してリモートをローカルリポジトリに簡単に追加できます。必要なのはHerokuアプリの名前だけです。

heroku git:remote -a appName

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

git remote rename heroku heroku-dev(you desired app name)

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

 git remote -v

4

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
    



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.