パート1:「gitはどこにプッシュするかをどのようにして知るのですか?」
上記のコマンドを実行する前に:
$ git push heroku master
実行する他のステップは常にいくつかあります。GitとHerokuのインストール、ローカルGitリポジトリの作成、herokuへのサインアップ、コマンドラインからのherokuへのログイン、ホスティングポイントへのherokuハンドルの作成(パート2で説明)
1.ローカルGitリポジトリ:
$ git init
Initialized empty Git repository in .git/
$ git add .
$ git commit -m "my first commit"
Created initial commit 5df2d09: my first commit
44 files changed, 8393 insertions(+), 0 deletions(-)
create mode 100644 README
create mode 100644 Procfile
create mode 100644 app/controllers/source_file
...
2. Herokuにサインアップし、コマンドラインからログインします。
$ heroku login
Enter your Heroku credentials.
Email: user@example.com
Password:
Could not find an existing public key.
Would you like to generate one? [Yn]
Generating new SSH public key.
Uploading ssh public key /Users/adam/.ssh/id_rsa.pub
実行$ git push heroku master
すると、コード/アプリがHerokuにプッシュされます。
パート2:しかし、herokuとmasterは何を示していますか?
HerokuはGitの問題です。Herokuはホスティングプラットフォームであり、Git(分散バージョン管理システム)に依存して展開されています。
「プッシュ」の基本的な概念は、ローカル(作業マシン内)にあるもの(ファイル、アプリなど)を他の場所、この場合はリモートリポジトリ(リモートマシン)にプッシュすることです。
Gitでは、「プッシュ」を使用する前に、次のコマンドを使用して、リモートリポジトリ(完全なURL)への参照として機能するリモート(ハンドル)を作成します。
$ git remote add <remote-name-of-our-choice> <URL-where-you-be-pushing-yourapp>
「push」コマンドの基本構造は次のとおりです。
$ git push <remote-name> <branch>
つまり$ git push heroku master
、実際には(ローカルのGitリポジトリから)コード/アプリ/ファイルをリモートリポジトリ 'heroku'にプッシュしています。
この「heroku」リモートがいつ作成されたのか疑問に思いました、$ heroku createを実行したときに追加されました
$ heroku create
Creating stark-fog-398... done, stack is cedar
http://stark-fog-398.herokuapp.com/ | git@heroku.com:stark-fog-398.git
Git remote heroku added
最後の行「Git remote heroku added」に注意してください。
より明確にするために、すべてのリモートをチェック/出力するGitコマンドを次に示します。$ git remote -vは次のようなものを表示します
$ git remote -v
heroku git@heroku.com:somerepo.git (fetch)
heroku git@heroku.com:somerepo.git (push)
私たちは、次のコマンドが実行されたと仮定することができますので、(暗黙的に)どこかで、あなたは$をしたとき、Herokuのは、作成故に、あるHerokuのレポ(URL)へのリモートHerokuのを作成し、*
$ git remote add heroku git@heroku.com:somerepo.git
git remote set-url <remote-name> <new-url>
(Git 1.7.0以降)、またはgit config remote.<remote-name>.url <new-url>
、または編集.git/config
(おそらくgit config -e
Git 1.6.3以降で)によって更新できます。