2015-07-24 1 views
2

У меня есть приложение Heroku Rails под названием app1, которое имеет исходный код и работает.
Я хотел создать новое приложение вдохновленное от него, но разные, с разными кодами и URL, так что я побежал:heroku fork + heroku git: clone = Новое приложение работает, но пустое хранилище

$ heroku fork --from app1 --to app2 
$ [...] 
$ Fork complete. View it at https://app1.herokuapp.com/ 

Я проверил на этом URL: клонированное приложение работает правильно.
Теперь давайте клонировать его на локальном компьютере, так что я могу изменить его:

$ heroku git:clone -a app2 
Cloning into 'app2'... 
warning: You appear to have cloned an empty repository. 
Checking connectivity... done. 
$ cd app2/ 
$ ls 

ПРОБЛЕМА: Ничто в этой папке. Репозиторий пуст!
Как это возможно? Приложение работает без кода?
У меня есть неправильная команда для создания локальной копии кода?

+0

https://stackoverflow.com/questions/13804885/heroku-gitclone-creates-empty-repository/41379481#41379481 –

+0

@JaimeAgudo: Вы имеете в виду, что этот вопрос является дубликатом моего вопроса? –

+0

Возможно, но я хотел поделиться решением, которое, вероятно, совпадает с единственным, связанным с тем, которое я нашел на официальной героине help @Nicolas_Raoul –

ответ

4

Да, см. the documentation, в котором указано, что Git repo будет пустым.

Приложение работает, потому что оно имеет то же самое slug.

В целом, я советую не думать о Героку как репозитории исходного кода, а скорее о том, что в другом месте (например, GitHub).

6

Ответ Джона объясняет, почему репозиторий пуст.
Вот как исправить «проблемы»:

$ cat app1/.git/config 

принять к сведению значения url в пункте origin.
Это, вероятно, будет выглядеть как [email protected]:app1.git.
Затем запустите:

$ cd app2 
$ git pull [email protected]:app1.git 
$ git push 

Это восстановит исходный код (игнорировать Your branch is based on 'heroku/master', but the upstream is gone. сообщений) и заменить клонированный слизняка с построенным из этого самого исходного кода.

+0

Это должен быть принятый ** ответ ** в соответствии с рекомендациями SO –

Смежные вопросы