2015-09-18 18 views
6

Tôi đang gặp sự cố với vấn đề Git này và tôi dường như không thể giải quyết vấn đề này.Không thể ép buộc tệp cam kết cho Heroku

Tôi có một nút mà tôi đã xây dựng và cuối cùng tôi đã đạt đến điểm triển khai nó.

Tôi đang cố gắng đẩy tệp trực tiếp vào ứng dụng của mình trên Heroku. Tôi biết rằng tôi có thể đơn giản kéo dữ liệu từ một repo Github nhưng tôi muốn tránh các khóa riêng của tôi công khai, vì vậy tôi đã tạo ra một mô-đun tùy chỉnh cho các khóa được truy cập (ví dụ: "modules/private-variables". js "). Tệp này được bao gồm trong .gitignore vì vậy tôi không đẩy nó vào Github của tôi, có thể xem công khai.

Khi đến lúc để đẩy ứng dụng của tôi lên Heroku, vì lý do gì đó tôi không thể đẩy tệp đó một cách cụ thể.

git add -f modules/private-variables.js 

Vì bất kỳ lý do nào không hiệu quả. Nó vẫn trả lời rằng: "Tất cả mọi thứ là up-to-date"

$ git add -f modules/private-variables.js 
$ git commit -m "7th attempt to include necessary file" 
$ git push heroku master 

Tôi thậm chí đã "git commit -a"

$ git add -f modules/private-variables.js 
$ git commit -a 
$ git push heroku master 

Tôi đã chạy "Heroku chạy bash" và kết luận rằng tập tin của tôi vẫn không ở đó.

Phải thừa nhận rằng tôi vẫn còn thiếu kinh nghiệm với Git nhưng đây là lần đầu tiên tôi cố gắng đưa tệp vào một lần trong tệp .gitignore, vì vậy tôi chưa bao giờ gặp vấn đề này. Tôi thậm chí đã thử xóa một dòng từ .gitignore.

Bất kỳ mẹo hữu ích nào cũng sẽ được đánh giá cao.

Trả lời

5

Tôi có thể tự giải quyết vấn đề này sau một thời gian.

Vấn đề là tôi đang sử dụng một nhánh khác để đẩy tới Heroku. Như tôi đã nói trước đây, tôi vẫn thiếu kiến ​​thức về cách thức hoạt động của Git.

Tôi nghĩ rằng khi tôi đã làm ...

$ git push heroku master 

... trong khi chi nhánh của tôi "triển khai" Tôi chỉ đơn giản là sẽ đẩy các tập tin hiện đang có mặt.

Tôi biết rằng đây không phải là trường hợp. Tôi phải đẩy nhánh "triển khai" vào "master" trên Heroku.

Theo câu trả lời này: https://stackoverflow.com/a/11143639/4107851

tôi phải làm "git push Heroku [tên của chi nhánh để đẩy]: thạc sĩ

$ git push heroku deploy:master 

tôi đã không thử phương pháp này chính xác nhưng tôi đơn giản. Tôi đã quay trở lại nhánh của tôi, bao gồm cả tập tin bị bỏ qua, và đẩy nó lên Heroku. Bây giờ tôi biết điều này về Git Tôi chắc chắn điều này sẽ làm cho việc phát triển trong tương lai dễ dàng hơn nhiều (và ít đau đầu hơn). Bạn học một cái gì đó mới mỗi ngày :)

Các vấn đề liên quan