2013-09-07 43 views
5

Tôi vừa tạo ứng dụng Heroku mới và tôi không quản lý để đẩy thư mục phụ backend của repo của tôi (chi nhánh staging) đến ứng dụng mới được tạo myapp-staging (chưa có chi nhánh).lỗi "không đủ tiêu chuẩn" với git subtree đẩy

Dưới đây là cách tôi đẩy cây con:

git push heroku `git subtree split --prefix=backend staging`:master 

Một lỗi liên quan:

error: unable to push to unqualified destination: master 
The destination refspec neither matches an existing ref on the remote nor 
begins with refs/, and we are unable to guess a prefix based on the source ref. 
error: failed to push some refs to '[email protected]:myapp-staging.git' 

tôi đã cố gắng git fetch heroku. "Điểm đến không đủ tiêu chuẩn" này có nghĩa là gì? Không nên lệnh này tạo ra chi nhánh ở xa?

Trả lời

9

Ok, có một ý tưởng nhờ http://makingsoftware.wordpress.com/2013/02/16/using-git-subtrees-for-repository-separation/

tôi đã cố gắng:

git subtree split --prefix=bakcend -b test 
git push heroku test:master 

Và nó làm việc giống như một nét duyên dáng. Có thể vấn đề sẽ xảy ra với việc tạo nhánh bằng lệnh subtree ...

+1

Giải pháp của bạn hoạt động, nhưng tôi tự hỏi tại sao phương pháp đầu tiên không hoạt động. Bởi vì nó được chỉ ra là đúng cách để làm điều đó ở nhiều nơi. – jgato

1

Như đã thảo luận here, bạn có thể đẩy tới refs/heads/master để khắc phục sự cố này, sau đó bạn có thể đổi lại thành master. không hoàn toàn chắc chắn/tại sao/điều này hoạt động.

# run this once 
git push origin master:refs/heads/master 

# now you can use this forever 
git push origin master 
Các vấn đề liên quan