'heroku' dường như không phải là kho lưu trữ git


181

Khi tôi cố gắng đẩy ứng dụng của mình lên Heroku, tôi nhận được phản hồi này:

fatal: 'heroku' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Tôi đã thử 'phím heroku: thêm' nhưng vẫn cho kết quả tương tự. Tôi đã có khóa ssh cho tài khoản GitHub của mình.


bạn đã sử dụng lệnh gì để đẩy? và những bước bạn đã thực hiện trước?
StickMaNX

1
có một cái nhìn vào đầu ra của git remote -vđể xem những gì điều khiển từ xa bạn đã thiết lập.
John Beynon

1
đảm bảo bạn đang ở đúng thư mục đó là vấn đề của tôi
tmthyjames

1
@tmthyjames - đập vào, đây cũng là vấn đề của tôi, cảm ơn bạn!
andy mccullough

Câu trả lời:


432

Để thêm ứng dụng Heroku làm điều khiển từ xa Git, bạn cần phải thực thi heroku git:remote -a yourapp.

Nguồn: Triển khai với Git


6
Đây là giải pháp nếu bạn nhân bản repo.
JGallardo

1
Sau khi thêm một điều khiển từ xa hợp lệ, thông báo git push heroku mastersẽ thất bại nếu bạn đang cố gắng triển khai từ thư mục con. Các triển khai với Heroku phải được thực hiện từ thư mục gốc với một package.json hợp lệ và thư mục .git, như đã nói ở đây stackoverflow.com/questions/38658038/...
Junior Mayhé

1
Tôi muốn nói thêm bởi yourappbạn có nghĩa là tên của ứng dụng heroku, có thể không phải lúc nào cũng khớp với tên của ứng dụng của bạn trong git hoặc cục bộ, v.v.
Lee McAlilly

49

Bạn có thể thử như sau trong thư mục gốc của bạn:

// khởi tạo git cho dự án của bạn, thêm các thay đổi và thực hiện cam kết

git init
git add .
git commit -m "first commit"

// tạo ứng dụng heroku và đẩy lên heroku

heroku create
git push heroku master

Không chắc chắn nơi bạn đang trong quá trình. Bạn cũng không cần github để triển khai trên heroku, chỉ cần git. Hi vọng điêu nay co ich!


2
Điều này làm việc cho tôi. Chỉ cần chạy heroku tạo lại. Vì một số lý do, lần đầu tiên không tạo ra một điều khiển từ xa.
Vũ điệu Joshua

1
Trước khi đẩy, bạn cần thêm 'heroku git: remote -a yourapp'
Jitendra

35

Trước tiên, hãy chắc chắn rằng bạn đã đăng nhập vào heroku:

heroku login 

Nhập thông tin của bạn.

Rất phổ biến khi gặp lỗi này khi sử dụng repo git nhân bản trên máy mới. Ngay cả khi thông tin heroku của bạn đã có trên máy, vẫn chưa có liên kết giữa repo nhân bản và heroku tại địa phương. Để làm điều này, cd vào thư mục gốc của repo nhân bản và chạy

heroku git:remote -a yourapp

1
Chỉ cần một lưu ý cho người mới bắt đầu, yourappở trên là tên Ứng dụng của bạn trong cài đặt trong bảng điều khiển Heroku
nkhil

9

Sau bài viết chính thức của Heroku :

Khởi tạo GIT

$ cd myapp
$ git init

$ git add .
$ git commit -m "my first commit"

Sau đó tạo (khởi tạo) ứng dụng heroku với:

$ heroku create YourAppName

Cuối cùng thêm git từ xa:

$ heroku git:remote -a YourAppName

Bây giờ bạn có thể triển khai ứng dụng của mình một cách an toàn với:

$ git push heroku master

Bạn nên đợi một thời gian và xem nếu bạn không nhận được bất kỳ lỗi / gián đoạn nào trên bảng điều khiển trong khi triển khai. Để biết chi tiết nhìn vào bài viết heroku .


7

Thực hiện theo các bước sau:

$ heroku login

Tạo kho lưu trữ Git mới
Khởi tạo kho lưu trữ git trong thư mục mới hoặc hiện có

$ cd my-project/
$ git init
$ heroku git:remote -a appname

Triển khai ứng dụng của bạn
Cam kết mã của bạn vào kho lưu trữ và triển khai nó tới Heroku bằng Git.

$ git add . 
$ git commit -am "make it better"
$ git push heroku master

Kho Git
hiện có Đối với các kho lưu trữ hiện có, chỉ cần thêm điều khiển từ xa heroku

$ heroku git:remote -a appname

Lỗi: ---> Ứng dụng không tương thích với buildpack: https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/python.tgz... tôi không hiểu, nó sai ở đâu?
KingRider

@KingRider Kiểm tra ứng dụng nào bạn đang triển khai. NẾU bạn triển khai ứng dụng python, không cần chỉ định Python trong tệp
Requestement.txt

4

Có thể đáng để kiểm tra tệp cấu hình trong thư mục .git. Nếu các tham số heroku bị thiếu thì bạn sẽ gặp lỗi này.

[remote "heroku"]
    url = git@heroku.com:`[Your heroku app].git
    fetch = +refs/heads/*:refs/remotes/heroku/*

thư mục .git phải nằm trong thư mục tệp máy tính cục bộ cho ứng dụng bạn đã tạo trong heroku. ví dụ: C: \ Users \ You \ Your app.git

Hi vọng điêu nay co ich


3

Vấn đề của tôi là tôi đã sử dụng git (thay vì heroku git) để sao chép ứng dụng. Sau đó tôi phải:

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

Hãy nhớ thay đổi MyApp thành tên ứng dụng của bạn.

Sau đó tôi có thể tiến hành:

git push heroku master

3

Nếu lỗi này bật lên, đó là do không có điều khiển từ xa có tên Heroku. Khi bạn tạo Heroku, nếu điều khiển từ xa không tồn tại, chúng tôi sẽ tự động tạo một (giả sử bạn đang ở trong một repo git). Để xem điều khiển từ xa của bạn gõ vào:

git remote -v”. # Đối với một ứng dụng có tên 'appname', bạn sẽ thấy như sau:

$ git remote -v
heroku git@heroku.com:appname.git (fetch)
heroku git@heroku.com:appname.git (push)

Nếu bạn thấy một điều khiển từ xa cho ứng dụng của mình, bạn có thể chỉ cần git push masterThay thế và thay thế bằng tên từ xa thực tế.

Nếu nó bị thiếu, bạn có thể thêm điều khiển từ xa bằng lệnh sau:

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

Nếu bạn đã thêm một điều khiển từ xa có tên Heroku, bạn có thể gặp lỗi như thế này:

fatal: remote heroku already exists.

vì vậy, sau đó loại bỏ điều khiển từ xa hiện có và thêm nó một lần nữa bằng lệnh trên:

git remote rm heroku

Hi vọng điêu nay co ich…


2

Đối với tôi, câu trả lời là cd vào thư mục gốc của ứng dụng trước khi chạy heroku createhoặcgit push heroku master


1

Tôi đã gặp cùng một lỗi khi mắc một lỗi mới hơn nhiều: Tôi đã gõ Heroku bằng chữ "H", thay vì chữ thường.

Tôi nhận ra rằng đó chắc chắn không phải là giải pháp cho tất cả những ai gặp phải lỗi này, nhưng đó là trong trường hợp của tôi.


1

Tôi đã nhận được cùng một lỗi và hóa ra tôi đã ở trong thư mục sai. Đó là một sai lầm đơn giản để thực hiện kiểm tra để tăng gấp đôi mà bạn đang ở trong thư mục gốc và sau đó chạy heroku createheroku git push mastermột lần nữa. Tất nhiên bạn phải làm git init, như đã đề cập trong câu trả lời của StickMaNX ở trên, trước các bước heroku.



1

Bạn đã quên liên kết tên ứng dụng của bạn với heroku của bạn. Đó là một lỗi rất phổ biến. nếu ứng dụng của bạn chưa được tạo, hãy sử dụng:

heroku create (optional app name)

khác:

git add .
git commit -m "heroku commit"

heroku git:remote -a YOUR_APP_NAME

git push heroku master

0

Đối với những người đang cố gắng để heroku hoạt động trên codeanywhereIDE:

heroku login
git remote add heroku git@heroku.com:MyApp.git
git push heroku

0

Tôi đã phải chạy Windows Command Prompt với quyền quản trị viên


Cảm ơn câu trả lời của bạn. Có lẽ bạn có thể giải thích cho OP cách thực hiện? Nó luôn luôn giúp cho những người xem tương lai của chủ đề này, đưa ra câu trả lời càng chi tiết càng tốt.
cháu gái

@niels chỉ cần tìm biểu tượng cmd, thông qua menu bắt đầu. Sau đó nhấp chuột phải và nhấn Run as Administrator
Jesus Rodriguez

0

Các lệnh sau sẽ hoạt động tốt cho ruby ​​trên đường ray triển khai ứng dụng trên heroku nếu heroku đã được cài đặt trên máy của nhà phát triển. # chỉ ra một nhận xét

  1. đăng nhập heroku
  2. heroku tạo
  3. Khóa heroku: thêm #this thêm khóa máy cục bộ vào heroku để tránh nhập mật khẩu lặp lại
  4. git đẩy heroku master
  5. heroku đổi tên ứng dụng #rename tên ứng dụng mới thành tên ưa thích khác với tên heroku được tạo tự động

0

Trong trường hợp của tôi, tôi đã đăng nhập và tôi mới thực hiện git push.



0

Tôi đã thấy tất cả các câu trả lời ở đây và điều duy nhất còn thiếu là sau khi trải qua các bước sau:

$ git add .
$ git commit -m "first heroku commit"

Bạn nên chạy lệnh dưới đây:

$ heroku git:remote -a <YourAppNameOnHeroku>

Và cuối cùng, chạy này:

$ git push -f heroku <NameOfBranch>:master

Lưu ý rằng tôi đã sử dụng < NameOfBranch > bởi vì nếu bạn hiện đang ở một nhánh khác để thành thạo thì nó vẫn sẽ bị lỗi, vì vậy, nếu bạn đang làm việc trong master, hãy sử dụng master, nếu không hãy đặt tên của nhánh ở đó.


0

hiển thị tất cả các ứng dụng heroku có quyền truy cập với

heroku apps

Và kiểm tra xem ứng dụng của bạn có tồn tại không

 execute heroku git:remote -a yourapp_exist
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.