heroku fork + heroku git:clone =新应用程序有效但空存储库

时间:2015-07-24 10:49:02

标签: git heroku heroku-toolbelt

我有一个名为app1的Heroku Rails应用程序,它有源代码,并且有效 我想创建一个新的应用程序,灵感来自它但不同,使用不同的代码和URL,所以我运行:

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

我检查了该网址:克隆的应用程序正常运行 现在让我们将它克隆到我的本地计算机,以便我可以修改它:

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

问题:此文件夹中没有任何内容。存储库是空的!
这怎么可能呢?应用程序是否在没有代码的情况下工作? 我是否有错误的命令来创建代码的本地副本?

2 个答案:

答案 0 :(得分:5)

是的,请参阅the documentation,其中指出Git仓库将为空。

该应用正常运行,因为它具有相同的slug

一般来说,我建议不要将Heroku视为源代码回购 - 而是把它放在另一个地方(比如GitHub)。

答案 1 :(得分:5)

Jon的回答解释了为什么存储库是空的 以下是解决“问题”的方法:

$ cat app1/.git/config

请注意段落urlorigin的价值 它可能看起来像git@heroku.com:app1.git 然后运行:

$ cd app2
$ git pull git@heroku.com:app1.git
$ git push

这将检索源代码(忽略Your branch is based on 'heroku/master', but the upstream is gone.消息)并将克隆的slug替换为使用此源代码构建的一个。