1 부 : "git은 어디로 푸시해야하는지 어떻게 알 수 있습니까?"
위에서 언급 한 명령을 실행하기 전에 :
$ git push heroku master
실행할 다른 단계는 항상 거의 없습니다. Git 및 Heroku 설치, 로컬 Git 리포지토리 만들기, heroku에 가입, 명령 줄을 통해 heroku 로그인, 호스팅 지점에 대한 heroku 핸들 만들기 ( PART 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에 가입 (ed)하고 명령 줄을 통해 로그인합니다.
$ 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 (Distributed Version Control System)에 의존하는 호스팅 플랫폼입니다.
'푸시'의 기본 개념은 로컬 (작업 머신에서)에있는 일부 (파일, 앱, ..)를 다른 곳,이 경우 원격 저장소 (원격 머신)로 푸시하는 것입니다.
'push'를 사용하기 전에 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 create를 수행했을 때 다음 명령이 (암시 적으로) 어딘가에서 실행되었다고 가정 할 수 있으므로 heroku repo (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 이상을 통해 가능) 을 사용하여 원격의 URL을 업데이트 할 수 있습니다 .