Để thử một chi nhánh tính năng, tôi đẩy nó để làm chủ Heroku của (vì đó là chi nhánh duy nhất nó sử dụng cho trang web của bạn), tức là tôi đã làm:Làm thế nào để đẩy chi nhánh chủ địa phương của bạn đến Heroku khi bạn đã đẩy chi nhánh tính năng?
git push heroku feature-foo:master
Trong khi đó, tôi thực hiện một số cam kết chi nhánh tổng thể địa phương của tôi . Bây giờ tôi muốn đẩy tổng thể địa phương của tôi lại ra Heroku, nhưng tôi nhận được:
To [email protected]:foo-repo.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]:foo-repo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
này có ý nghĩa, bởi vì chủ nhân thực sự của Heroku thực sự là chi nhánh tính năng foo của tôi và do đó đang ở phía trước của thầy. Nhưng tôi không muốn kéo và hợp nhất từ Heroku - bởi vì điều đó sẽ giống như việc sáp nhập nhánh chi nhánh-foo của tôi mà tôi không muốn làm. Ngay bây giờ, tôi chỉ muốn thúc đẩy chủ nhân địa phương của mình mà không có cam kết về tính năng-foo. (Thật vậy, tôi đã sử dụng heroku rollback
để các thay đổi về tính năng này không hiển thị trên trang web.)
Làm cách nào để làm điều đó?
Có, khi nó quay ra, git không phải là một công cụ đặc biệt tốt để triển khai. Triển khai đến heroku với git thường liên quan đến việc làm những việc mà bạn không bao giờ muốn làm với một repo git thực sự. – Fitzsimmons