PHẦN 1: "Làm thế nào để git biết đẩy đến đâu?"
Trước khi thực hiện lệnh đã đề cập ở trên:
$ git push heroku master
Luôn có một số bước khác để thực hiện: Cài đặt Git và Heroku, tạo kho lưu trữ Git cục bộ, đăng ký heroku, đăng nhập heroku qua dòng lệnh, tạo tay cầm heroku cho điểm lưu trữ ( giải thích trong PHẦN 2 )
1. Kho lưu trữ Git cục bộ:
$ 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. Đăng ký (ed) cho Heroku và đăng nhập qua dòng lệnh:
$ 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
Vì vậy, bằng cách chạy, $ git push heroku master
bạn đã đẩy mã / ứng dụng sang Heroku.
PHẦN 2: nhưng heroku và master chỉ ra điều gì?
Đây là câu hỏi về Git nhiều hơn Heroku - Heroku là một nền tảng lưu trữ, phụ thuộc vào Git (Hệ thống kiểm soát phiên bản phân tán) để triển khai.
Khái niệm cơ bản về 'push' là đẩy một số thứ (tệp, ứng dụng, ..) chúng ta có cục bộ (trong máy làm việc của chúng ta) đến một nơi khác, trong trường hợp này là đến một kho lưu trữ từ xa (máy từ xa).
Trong Git trước khi sử dụng 'push', chúng tôi tạo một điều khiển từ xa (xử lý) hoạt động như một tham chiếu đến kho lưu trữ từ xa (URL hoàn chỉnh), chúng tôi làm như vậy bằng cách sử dụng lệnh sau:
$ git remote add <remote-name-of-our-choice> <URL-where-you-be-pushing-yourapp>
Cấu trúc cơ bản của lệnh 'push' là:
$ git push <remote-name> <branch>
Vì vậy, $ git push heroku master
thực sự là đẩy mã / ứng dụng / tệp của bạn (từ một số repo Git cục bộ) đến một repo từ xa 'heroku'.
tự hỏi khi nào điều khiển từ xa 'heroku' này được tạo, nó được thêm vào khi bạn thực hiện tạo $ heroku
$ 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
Hãy để ý đến dòng cuối cùng "Đã thêm heroku từ xa vào ".
để làm rõ hơn, đây là lệnh Git để kiểm tra / xuất tất cả các điều khiển từ xa: $ git remote -v sẽ hiển thị một cái gì đó tương tự như sau
$ git remote -v
heroku git@heroku.com:somerepo.git (fetch)
heroku git@heroku.com:somerepo.git (push)
Vì vậy, chúng tôi có thể giả định rằng lệnh sau đã được thực thi (ngầm) ở đâu đó, khi bạn tạo $ heroku , do đó tạo điều khiển từ xa heroku cho một số đại diện heroku (url) *
$ git remote add heroku git@heroku.com:somerepo.git
git remote set-url <remote-name> <new-url>
(Git 1.7.0 trở lên)git config remote.<remote-name>.url <new-url>
hoặc bằng cách chỉnh sửa.git/config
(có thể quagit config -e
Git 1.6.3 trở lên).