相关疑难解决方法(0)

如何将Heroku git存储库重置为其初始状态?

我在git存储库中有一个Web应用程序.由于历史原因,Web应用程序不在存储库的根目录下,因此它位于名为的文件夹中website.除此之外还有一些其他文件夹,所以我有以下结构:

myApp
+- .git
+- otherFolder1
+- otherFolder2
+- otherFolder...
+- otherFolderN
+- website
Run Code Online (Sandbox Code Playgroud)

该网站在Heroku上运行.由于Heroku要求您的Web应用程序位于git存储库的根目录,所以直到现在我使用了一个构建过程,该过程将website文件夹复制到具有自己的git存储库的完全不同的(外部)文件夹.然后我就能从那里推到Heroku,一切都很好.

现在,因为git包含了这个subtree命令,所以不再需要了,因为我可以直接从我的初始文件夹中推送,但只是website子文件夹,使用:

git subtree push --prefix=website heroku master
Run Code Online (Sandbox Code Playgroud)

基本上,这非常有效.我只有一个问题:由于之前对Heroku的提交来自一个完全不同的git存储库,两者的历史记录彼此不匹配 - 因此Heroku检测到非快进推送,并拒绝subtree推送.

那么我该如何处理呢?

  • 想法1:强制推动.尝试过,但没有工作,因为git subtree push没有--force选项(或类似的东西).
  • 想法2:清除Heroku的存储库并再次从头开始.

我很想知道2,但我不知道如何实现这一目标.

我的第一个方法是运行一个git push heroku :master,但Heroku检测到这一点并否认它.

当然,我可以破坏应用程序并重新创建它,但是所有域分配和附加组件也都消失了,我想避免这种情况.

还有其他想法吗?

git heroku

18
推荐指数
1
解决办法
7259
查看次数

标签 统计

git ×1

heroku ×1